android第二课:运行你的应用
如果你按照前面课程创建了 Android 项目,它包含了可以立即运行的 “Hello World”源代码文件。
由两该条件来决定如何运行你的应用:你是否拥有运行着 Android 的设备和你是否使用 Eclipse。 本节课向你展示了如何将你的应用安装到实机和 Android 模拟器上,并且包含了使用 Eclipse 和使用命令行工具两种情况。
在你运行应用之前,你应该先了解一下 Android 项目中的一些目录和文件:
AndroidManifest.xml- 清单文件描述了应用的基本特征, 并定义其每个组件。你要通过阅读更多的教程来学习文件中的各种声明方法。
在清单文件中应该包含的最重要的元素是
<uses-sdk>。
它通过使用android:minSdkVersion属性和android:targetSdkVersion属性来声明,应用在不同
Android 版本间的兼容性。 他看起来应该像这样:<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
...
</manifest>你应该将
android:targetSdkVersion设置为尽可能高的版本,并在该版本平台下测试你的应用。
更多信息可以阅读支持平台的不同版本。 src/- 存放应用程序主要源代码文件的目录。默认包含一个可以通过应用图标启动的
Activity类。 res/- 包含几个用于存放应用资源的子目录。 部分列举如下:
drawable-hdpi/- 存放设计用于高分辨率(HDPI)屏幕的可绘制对象(比如位图文件)的目录。其他以
drawable起始的目录包含设计用于其他屏幕分辨率的可绘制对象。 layout/- 该目录包含用于定义应用的用户界面的文件。
values/- 该目录存放其它包含资源集合的 XML 文件,比如字符串和颜色定义。
如果你构建并运行默认 Android 应用,默认 Activity 会启动并载入布局文件,
在屏幕上显示“Hello World.”字样。 没什么可以激动的,只是让你在开始开发之前让你了解如何运行应用。
在实机上运行程序
如果你拥有运行着 Android 的设备,如何安装和运行你的应用在这里:
- 将你的设备通过 USB 线插到开发用的机器上。 如果你在 Windows 上开发, 你可能需要为你的设备安装对应的 USB 驱动。关于驱动的安装,参见关于 OEM USB 驱动文档。
- 在你的设备上启用USB 调试功能。
- 在大多数运行着 Android 3.2 或更低的系统上,你可以在设置 > 应用程序 > 开发 中找到该选项。
- 在 Android 4.0 或更新的系统中,它在设置 > 开发选项中。
注意: 在 Android 4.2 或更新的系统中,开发选项 默认是不可见的。 要使其可用,需要在设置 > 关于手机画面点击 Build number七次。然后回到之前的画面,就可以找到开发选项 了。
从 Eclipse 中运行应用:
- 打开一个项目文件,按下工具栏中的 Run
按钮。 - 在出现的 Run as窗口中选择Android Application并按下 OK按钮。
Eclipse 会向连接的设备中安装应用并启动它。
或者从命令行运行你的应用:
- 将目录切换到你的 Android 项目的根目录并执行:
ant debug
- 确信 Android SDK 的
platform-tools/目录包含在你的PATH环境变量中,执行:adb install bin/MyFirstApp-debug.apk
- 在你的设备上找到MyFirstActivity并打开。
如何在设备上构建并运行 Android 应用就讲完了!要开始开发就继续学习下一课。
在模拟器上运行程序
无论你使用 Eclipse 还是命令行,在模拟器上运行应用之前你需要创建一个Android 虚拟设备(AVD)。 AVD 是 Android 模拟器的 设备配置,它允许你模拟不同的设备。
图1 - AVD 管理器显示了一些虚拟设备。
创建 AVD:
- 运行 Android 虚拟设备管理器:
- 在 Eclipse 中,点击工具栏中的 Android 虚拟设备管理器
图标。 - 使用命令行则切换目录到
<sdk>/tools/并执行:android avd
- 在 Eclipse 中,点击工具栏中的 Android 虚拟设备管理器
- 在 Android 虚拟设备管理器面板上点击New按钮。
- 填写 AVD 的详细内容。 填上名字、目标平台、SD 卡大小和皮肤(默认为 HVGA)。
- 点击Create AVD按钮。
- 从Android 虚拟设备管理器中选择新建的 AVD 并点击Start按钮。
- 模拟器启动后,为虚拟器屏幕解锁。
从 Eclipse 中运行应用:
- 打开一个项目文件,按下工具栏中的 Run
按钮。 - 在出现的 Run as窗口中选择Android Application并按下 OK按钮。
Eclipse 会向 AVD 中安装应用并启动它。
或者从命令行运行你的应用:
- 将目录切换到你的 Android 项目的根目录并执行:
ant debug
- 确信 Android SDK 的
platform-tools/目录包含在你的PATH环境变量中,执行:adb install bin/MyFirstApp-debug.apk
- 在你的模拟器上找到MyFirstActivity并打开。
如何在模拟器上构建并运行 Android 应用就讲完了!要开始开发就继续学习下一课。
android第二课:运行你的应用的更多相关文章
- android从放弃到坚持放弃第二课(下)
续第二课( 下) 续第二课 下 活动的生命周期 返回栈 活动状态 活动的生存期 体验活动的生命周期 活动被回收怎么办 活动的启动模式 standard singleTop singleTask sin ...
- Android OpenGL教程-第二课【转】
第二课 你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形.也许你认为这很简单,但你已经迈出了一大步,要知道任何在OpenGL中绘制的模型都会被分解为这两种简单的图形. 读完了 ...
- Android之ViewPager 第二课
在这里只粘贴部分代码 在第一课中,只有View滑动完毕,才触发动画效果,令滑块移动,在第二课中,将实现滑块与View同步运行. SecondActivity.java package com.andr ...
- 【第二课】深入理解Handler
简要讲解Handler是做什么的 我们知道,在Android中,app启动会启动一个进程一个线程——UI线程,UI线程是主线程,并且不允许这个线程阻塞超过5秒,一旦超过5秒就会ANR. 所以较为耗时的 ...
- Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战
Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...
- NeHe OpenGL教程 第二课:多边形
前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢 ...
- 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握
内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...
- 【C++探索之旅】第一部分第二课:C++编程的必要软件
内容简介 1.第一部分第二课:C++编程的必要软件 2.第一部分第三课预告:第一个C++程序 C++编程的必要软件 经过上一课之后,大家是不是摩拳擦掌,准备大干一场了呢. 这一课我们来做一些C++开发 ...
- 【Linux探索之旅】第一部分第二课:下载Linux,免费的噢
内容简介 1.第一部分第二课:下载Linux,免费的噢 2.第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课我们认识了非常“霸气侧漏”的Linux操作系统. 也知道 ...
随机推荐
- 阿里云telnet 3306端口失败
在阿里云的服务器上安装了MySQL, 然后远程访问总是不通. 查询了很久,排查思路如下: 检查mysql是否启动 检查本机3306端口是否处于监听状态 检查阿里云控制台是否开启了安全限制 检查mysq ...
- Iterable接口
Iterable接口 总览 这个接口用来表明可以进行迭代.具体的迭代方式,可以通过iterator()方法获取到一个迭代器,在迭代器中会实现如何获取下一个元素,以及是否迭代结束. java8中源码如下 ...
- Linux查看特定端口是否被占用并kill掉相关进程
今天在搭建Zookeeper集群的时候,需要频繁启动zookeeper,但是启动的时候,有时会提示下列错误信息: zookeeper需要的地址已经被占用了,其实是因为上一次的zookeeper没有关闭 ...
- [Oracle]OWI学习笔记--001
[Oracle]OWI学习笔记--001 在 OWI 的概念里面,最为重要的是 等待事件 和 等待时间. 等待事件发生时,需要通过 P1,P2,P3 查看具体的资源. 可以通过 v$session_w ...
- 案例学Python--案例四:Django实现一个网站的雏形(1)
第一次用python的Web框架,也是第一次听说Django,参考菜鸡教程和一些博客,倒腾了半天,算是有一个雏形.数据基于昨天爬的豆瓣电影信息,详见案例三. Python版本:3.7.1 Django ...
- C#使用FFMPEG推流,并且获取流保存在本地,随时取媒体进行播放!
最近开发了基于C#的推流器一直不大理想,终于在不懈努力之后研究了一点成果,这边做个笔记:本文着重在于讲解下如何使用ffmpeg进行简单的推流,看似简单几行代码没有官方的文档很吃力.并获取流的源代码:如 ...
- slurm用户快速入门手册
1. 概述2. 架构3. 命令3.1 sacct3.2 sattach3.4 sbatch3.5 sbcast3.6 scancel3.7 scontrol3.8 sinfo3.9 smap3.10 ...
- SpringBoot日记——ElasticSearch全文检索
看到标题的那一串英文,对于新手来说一定比较陌生,而说起检索,应该都知道吧. 这个ElasticSearch目前我们的首选,他主要有可以提供快速的存储.搜索.分析海量数据的作用.他是一个分布式搜索服务, ...
- U盘、移动硬盘等弹出 “文件或目录损坏且无法读取” 实测解决办法
U盘跟其他的机器一样,使用久了难免会出故障,比如常见的弹出一个文件或目录损坏且无法读取的对话框,吓你一跳,整个U盘都损坏的意思,那里面的资料怎么办呢,所以很多人很着急,其实遇到这种情况一般都是之前使用 ...
- D. Too Easy Problems
链接 [http://codeforces.com/group/1EzrFFyOc0/contest/913/problem/D] 题意 给你n个题目,考试时间T,对于每个问题都有一个ai,以及解决所 ...