运行你的应用程序
如果你按照上一课来创建Android工程,它会包含一系列默认的“Hello World”源文件使你可以直接运行这个APP。
你要如何运行你的APP取决于两个东西:你是否一个真的Android设备和你是否使用Eclipse。这节课程像你展示如何在真实设备和Android模拟器上安装和运行你的APP,以及这两种情况下在使用Eclipse和命令行。
在你运行你的APP之前,你应该知道你的工程里面的一些目录和文件。
AndroidManifest.xml
这个manifest文件描述这个APP的基本特征并定义它的各个组件。随着你阅读越来越多的培训课程,你会学习到这个文件中的各种声明。
你的manifest应该包含的一个最重要的元素是<uses-sdk>元素。通过使用android:minSdkVersion和android:targetSdkVersion来声明你的APP同各个版本Android的兼容性。对于你的第一个APP,它看起来像下面这样:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> ... </manifest>
你应该将android:targetSdkVersion设置的尽可能高并在对应的平台版本上测试你的APP。对于更多的信息,请阅读支持不同平台版本。
src/
你的APP的主要源文件的目录。默认的,这个目录包含一个Activity类,当你的APP通过你的APP图标加载时它会运行。
res/
包含几个子目录用于保存APP的资源文件。这里有几个:
drawable-hdpi:可绘制对象(例如bitmaps位图文件)的目录,设计被用于高分辨率(hdpi)的屏幕。其他的可绘制对象目录包含为其他分辨率屏幕设计的可绘制文件集合。
layout:存放用于定义你的APP的用户接口的文件的目录。
values:其他各种xml文件的目录,这些xml文件包含一系列的资源,例如字符串和颜色定义。
当你构建和运行这个默认工程时,这个默认的Activity类启动并加载一个布局文件,那个文件的运行效果是打印“Hello World”。这个结果并不令人激动,但是在你开始开发APP前知道如何运行你的APP很重要。
在物理设备上运行
如果你有一个真实的Android设备,你可以这样安装并运行你的APP:
- 用USB线将你的设备插到你的开发机器上。如果你在Windows上开发,你可能需要为你的设备安装合适的USB驱动。关于安装设备的帮助,请看OEM USB Drivers文档。
- 在设备上使能“USB debugging”。在Android 3.2或以前的版本中,你可以在在settings/Applications/Development下找到这个选项。在Android4.0及更新版本中,它在Settings/Developer options中。注意:在Android4.2及更新的版本中,Developer options默认是隐藏的。为了使这个可以获得,到Settings/About phone然后按Build Number 7次。返回到之前的屏幕找到Developer options。
从Eclipse中运行程序:
- 打开一个工程文件,然后点击工具栏中的Run按钮。
- 在弹出的Run as窗口中。选择Android Application然后点击OK。
Eclipse在你连接的设备上安装程序并运行它。
或者从你的命令行运行程序:
- 切换到你的Android工程的根目录,然后执行 ant debug命令。
- 确保Android SDK的platfrom-tools/目录在你的PATH环境变量中,然后执行 adb install /bin/MyFirstApp-debug.apk
- 在你的设备上,找到MyFirstApp然后打开它。
这就是你如何在你的设备上安装和运行Android程序。要开始开发程序,点击next lesson。
在模拟器上运行
无论你是使用Eclipse还是命令行,为了在模拟上运行你的应用程序,首先你需要创建一个Android虚拟设备(AVD,Android Virtual Device)。一个AVD是一个Android模拟器的设备配置,允许你模拟不同的设备。
创建一个AVD如下所示:
- 启动Android Virtual Device Manager:在Eclipse中点击工具栏中的Android Virtual Device Manager,从命令行,则切换到<sdk>/tools然后执行android avd。
- 在Android Virtual Device Manager界面,点击New。
- 填写AVD的详细资料。给它一个名字,一个目标平台和SD卡大小,以及一个皮肤(默认是HVGA)。
- 点击Create AVD。
- 从Android Virtual Device Manager选择这个新的AVD然后点击Start。
- 等这个模拟器启动完毕,解锁模拟器的屏幕。
为了从Eclipse运行一个应用程序:
- 打开一个工程文件然后在菜单栏中点击Run。
- 在弹出的Run as窗口中,选择Android Application然后点击OK。
相关推荐
# Python本地离线运行机器翻译代码示例 基于Hugging Face 本项目演示了如何调用Hugging Face的大模型实现本地离线实现机器翻译,Python代码简洁易懂,方便上手,能够快速实现强大的离线翻译功能。 使用方法: 1. ...
把高级语言程序翻译成等价的低级语言程序。对编译原理做了详细介绍
把pages文件夹内index.js中的wx.request中的url改为你的服务器域名或者ip地址(真机测试必须是https访问,这就是上面我煞费口舌说https的原因),也可以本地调试的话应该可以改为:localhost:端口我做的这个小程序是...
翻译小助手C#源程序,运行程序时会提示找不到字典定义文件,选择菜单(字典-〉字典管理),新建字典,字典文件可以使用本目录给出的,完成即可,中间可能会出现异常,不用理会,继续即可。
DO-WHILE循环语句的翻译程序设计(LL(1)法、输出三地址表示),程序可运行出结果
web在线翻译--调用python程序获取结果 python程序爬取的有道接口 运行环境 jdk8+tomcat9+IntelliJ IDEA+Jpython环境 项目技术(必填) spring+spring mvc+bootstrap+jquery+网络爬虫 数据库文件 无 jar包文件 ...
这是一款创新的桌面应用程序,让您能在任何场景下快速利用 ChatGPT 的强大功能。无论是专业术语查询、语言翻译、编程帮助,还是日常生活中的小问题,都能助您...在 Windows 系统中运行,程序将自动在系统托盘启动。
翻译内容:将英文提示改为简体中文 '来源:Microsoft Windows XP NewsGroup <br>Set WSHShell = WScript.CreateObject("WScript.Shell") Message = "本脚本用于修复Windows XP中当最小化程序时,无法在...
可以快速度的翻译成可以在倍福显示器运行的可执行文件
您可以从下拉菜单中轻松选择自己喜欢的语言,并在谷歌翻译的帮助下让程序翻译短语和表达方式。也可以手动输入翻译,转到下一个空白行,然后将结果保存到自定义位置。 表现与结论 CPU 和内存使用量微不足道,这意味...
网络游戏-检测在本地网络上运行的应用程序以便自动执行网络地址翻译的设备及方法.zip
气泡屏幕翻译是一款方便的翻译器,可在其他应用程序之上运行。您可以将游戏和程序中的文本翻译为另一种语言。可以识别屏幕上的任何文本,并立即将其翻译成您的母语。浏览器、SNS、游戏、照片、文档等一切都可以翻译...
软件使用方法:1、首先运行压缩包中的安装程序进行安装原版程序! 2、复制压缩包中的Crack目录下的所有文件到安装程序目录覆盖同名文件。 3、启动程序,如果还是提示未注册的话,选择注册,随便输入任意数字字符都...
一款多模态智能交互微信小程序的视觉问答VQA源码(语音识别、合成、翻译).zip一款多模态智能交互微信小程序的视觉问答VQA源码(语音识别、合成、翻译).zip一款多模态智能交互微信小程序的视觉问答VQA源码(语音...
并行程序CUDA,全称是Compute Unified Device Architecture,一般翻译成中文为计算 统一设备架构。笔者以为这样的名字会让人对CUDA 感到很迷惑,CUDA 到底是 什么呢?笔者用自己的大白话来说下自己对CUDA 的理解,...
无法运行简单的在线翻译调用showapi接口实现简单的中英文翻译功能.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了...
cout程序所用的文法\n"; cout**********************************************"; cout<<" S->while E do A"; cout<<" E->id(>|=|<)id"; cout<<" A->id=id"; cout(id->标识符)"; if(Lex()) //词法分析成功 { if...