Android 初学者学习笔记.docx

上传人:牧羊曲112 文档编号:3152501 上传时间:2023-03-11 格式:DOCX 页数:14 大小:44.40KB
返回 下载 相关 举报
Android 初学者学习笔记.docx_第1页
第1页 / 共14页
Android 初学者学习笔记.docx_第2页
第2页 / 共14页
Android 初学者学习笔记.docx_第3页
第3页 / 共14页
Android 初学者学习笔记.docx_第4页
第4页 / 共14页
Android 初学者学习笔记.docx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Android 初学者学习笔记.docx》由会员分享,可在线阅读,更多相关《Android 初学者学习笔记.docx(14页珍藏版)》请在三一办公上搜索。

1、Android 初学者学习笔记Android 笔记 使用 Android 和 Eclipse ADT 创建并运行应用程序 在 Android 简介的开始部分,我将帮助您尽可能快地创建一个简单的 Android 应用程序。您将使用 Android 4.2 和 Eclipse Android Development Tools (ADT) 插件来创建一个基于 Java 的 Hello World 应用程序。 为 Android 建立开发环境的途径有两种。刚接触 Eclipse 和 Android 的开发人员可以先下载 ADT (Android Developer Tools) Bundle。ADT

2、 Bundle 捆绑了一个 Android SDK 和一个 Eclipse 版本,其中已经安装了 ADT 插件。这个程序包可帮助您快速、轻松地使用 Android。 如果 Eclipse 已经安装在台式机上并设置好,那么请手动下载并安装 Android SDK。基础 Android SDK 包含一些可简化 Android 开发的系统工具,但它缺乏 开发特定 Android 版本所需的 Android 库。为您的操作系统下载基础 Android SDK 后,可以访问 SDK 安装目录的工具目录,并运行 清单 1 中的 Android 脚本。 清单 1. 启动 Android SDK Manage

3、r /Development/tools/android/android-sdk-mac_x86/tools$./android 该脚本启动了 Android SDK Manager,您可以下载 Android 的各种版本和库,并创建模拟程序或虚拟设备实例。Android SDK Manager 打开了一个窗口,其中显示一个很长的要下载的选项的列表,如 图 1 所示。 图 1. SDK Manager 在左侧复选框中,选择 Tools,然后选择 Android 4.2 (API 17)。该文件夹将会显示许多选项。选择 SDK Platform 和 ARM EABI v7a System 图片,

4、如 图 2 所示。 图 2. SDK Manager 中的选择 单击 Install packages 并接受任何必要许可;管理器将完成其余步骤。 创建一个模拟器 接下来,创建一个模拟器实例,这是一个运行应用程序的虚拟设备。模拟器必须以 Android 的特定版本为目标,因此我们将创建一个运行 Android 4.2 的模拟器实例。 再次启动 SDK Manager。如果 Android SDK 工具或平台工具已更新,则重启 SDK Manager。在 SDK Manager 顶层菜单中,选择 Tools Manage AVDs 会打开关于 Android Virtual Device Man

5、ager 的新对话框,如 图 3 所示。 图 3. Android Virtual Device Manager 该对话框列出了您的机器上定义的所有模拟器。模拟器列表在创建模拟器之前是空的。单击 New 打开 Create a new Android Virtual Device (AVD) 对话框,在其中可以定义一个模拟器。在 Target 下拉列表中选择 Android version 4.2。在 AVD Name 文件夹中,为模拟器命名,我使用的名称是 Android_4.2。当您准备好测试应用程序时,就可以使用该名称从命令行启动模拟器。 图 4. 创建一个新的 Android 虚拟设备

6、 在 图 4 中,您可以看到一些 AVD 选项,包括设备类型、摄像头设置、内存和存储。在我的示例中,选择了 Galaxy Nexus,对它使用了一个 200MB 的 SD 卡。最后,我选中了 Use Host GPU 模拟选项,这可以提高模拟器实例的性能。 单击 OK,在 AVD 对话框中查看列出的新的虚拟设备。选择该设备并单击 Start,这将打开一个带有启动选项的对话框。现在,使用默认值并单击 Launch。模拟器实例的启动时间较长,因此这个时候可以去喝一杯咖啡,浏览一下 Facebook 或更新您的 Twitter 状态。 图 5. 新的 Android 设备! 过一会后,一个闪亮的模拟

7、器设备将会显示在您的主屏幕上,这意味着您可以开始创建 Android 4.2 应用程序了。 设置 Eclipse ADT 如果 Eclipse 已经安装到系统中,那么您必须在继续后面的操作之前添加 Android Development Tools (ADT) 插件库。 在 Eclipse 菜单中,打开 Help Find New Software。单击 Add 和 ADT 插件的 URL:https:/dl- 图 6. 添加 ADT 插件库 完成插件下载后,根据操作说明完成安装。将 ADT 插件配置为可以使用您刚才安装的 SDK。现在,您的项目已针对 Android 4.2 平台完成了设置,

8、并使用了您配置好的模拟器。 回页首 使用 Android 4.2! 要在 Eclipse 中创建 Android 应用程序,请选择创建 Android Application Project 的选项。在 New Android Application 对话框中,提供应用程序名称、项目名称和包名称。应用程序名称 是用户在设备图标中看到的内容;而项目名称 是您的项目在 Eclipse 中的名称。 图 7. 创建一个新的 Android 项目 在 图 7 所示的 New Android Application 对话框中执行下面的步骤: 1. 在Target SDK下拉列表中,选择API 17: An

9、droid 4.2 (Jelly Bean),然后单击Next。 2. 在下一个对话框中,保留默认设置,但是您可以将最终生成的代码放到任意位置。单击Next。 3. 保留 Configure Launcher Icon 对话框中的默认设置并单击Next。 4. 保留 Create Activity 对话框和最终对话框中的默认设置,这些设置用于选择应用程序的行为。单击Finish。 如果项目创建成功,您会看到一个新的项目,其用户界面类似 图 8 中所示的界面。 图 8. Eclipse 中的样例启动项目 在 Android 模拟器中运行应用程序 默认情况下,使用 ADT 项目向导创建的 Andr

10、oid 项目将创建一个简单的 Hello World 移动应用程序。在开始修饰这个应用程序之前,让我们来看一看在模拟器上运行这个基本应用程序会发生什么。 如果 Android 4.2 模拟器处于关闭状态,请打开它。这一次不会在 AVD Manager 中启动模拟器,而是通过命令行启动它。您可以从 SDK 的 tools 目录访问 emulator 脚本。在启动脚本时,系统会要求您提供您的模拟器的名称。我的模拟器的名称为 Android_4.2,因此我在 清单 2 中运行脚本来启动我的模拟器实例: 清单 2. 在命令行中访问模拟器 /Development/tools/android/andro

11、id-sdk-mac_x86/tools$./emulator -avd Android_4.2 启动您的模拟器实例,返回 Eclipse,然后选择您的项目。右键单击并选择 Run As Android Application。 图 9. 从 Eclipse 中运行项目 默认情况下,Eclipse 将在目前正运行的模拟器上部署您的应用程序。您的模拟器实例现在显示了一个白色的屏幕,其中显示了所有 Java 开发人员都喜欢的问候语!如果 Eclipse 因为某种原因在模拟器上运行应用程序时出现故障,则需要返回到 Run As 选项并选择 Run Configurations。在 Target 选项

12、卡中,重新选择 Automatically select compatible device,并确保您的模拟器也被选中。 图 10. Hello World! 回页首 基本 Android 应用程序 您现在有了一个基本的 Hello World 应用程序,可以在任何与 4.2 兼容的 Android 设备上运行它。最后,您可能希望定制这个应用程序,以便添加更多的功能。目前,我希望对 Android 应用程序进行分析。 Android 的特制 JVM Android 应用程序是使用 Java 代码进行编写的,但并没有在标准 JVM 上运行它们。作为 Android 构建的一部分,我们会对 Jav

13、a 字节代码进行转换,并针对移动设备的内存和处理需求进行特殊处理。请参阅 参考资源,详细了解 Android 应用程序的架构和 Dalvik 虚拟机。 回到 Eclipse IDE。在项目的 src 目录中,导航到项目的 .java 文件。如果您保留了所有默认值,那么该文件的名称应为 MainActivity。Activity 类是 Android 移动应用程序的驱动引擎,类似于 servlets 对于 Java 服务器端应用程序的意义。每个 Activity 都有一个生命周期,类似于 Java applet 的生命周期。 Hello World 应用程序只包含基本的架构,因此其 Activi

14、ty 非常简单。首先,该类将从 Android 的 Activity 类扩展。activity 的入口点是 onCreate 方法,它在应用程序加载时由平台启动。这个方法中的关键代码是 setContentView 调用。清单 3 显示了默认的 MainActivity 类。 清单 3. MainActivity package com.example.hello; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends

15、Activity Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Override public boolean onCreateOptionsMenu(Menu menu) getMenuInflater.inflate(R.menu.activity_main, menu); return true; 在 清单 3 中,setContentView 加载了 activi

16、ty_main 布局,它是您在第一次打开项目时在 Eclipse 中看到的视图的名称。该名称与 res/layout 目录中的 activity_main.xml 文件对应。打开该文件,查看应用程序的图形化表示。在视图的左下方的选项卡中,有一个查看原始 XML 文件的选项,可以单击该选项来查看原始文件,内容类似于 清单 4。 清单 4. 原始布局的定义 Android 视图是在 XML 文件中定义的。每个视图都有一个布局,您可以向其中添加小部件,比如按钮或文本字段。目前,样例应用程序有一个 RelativeLayout 和一个小部件: TextView。如果仔细观察这个小部件,您会发现一个文本

17、字段,它被设置为一个引用:string/hello_world。 该变量是指向实际字符串的指针,您可以在 res/values/strings.xml 文件中找到它。打开该文件。要查看原始 XML,请单击左下方区域的 strings.xml 选项卡。 清单 5. strings.xml 文件 Hello 4.2 Hello world! Settings 清单 5 中的第二个字符串定义将 hello_world 映射到 Hello World!。 Android manifest 您目前已经了解了 Android 应用程序的三个重要元素是如何联系起来的:行为、布局和资源文件。在应用程序启动时,

18、Android OS 将调用 MainActivity 的 onCreate 方法。onCreate 方法随后会加载布局,该布局从另一个 XML 资源文件获取一些值。在本例中,结果是一个显示了 “Hello World!” 的简单的 UI。 但是,设备如何知道应该调用哪个 Activity?现在是 AndroidManifest.xml 发挥作用的时候了。在项目根目录中查看这个文件。单击该文件,Eclipse 会加载一个简洁的定制视图,视图左下角有一些选项卡。单击标签为 AndroidManifest.xml 的选项卡将会显示 清单 6 所示的原始 XML。 清单 6. AndroidMani

19、fest.xml 该文件的作用是向底层设备解释您的应用程序。它包含一个名为 application 的 XML 块,其中定义了 activity。您的 MainActivity 将被引用,action 被定义并包含一个 category。action 会告诉设备要启动哪一个 Activity。在本例中,action 将您的 Activity 描述为 MAIN。 AndroidManifest.xml 文件中的其他重要声明包括 uses-sdk 部分,它表示 min 版本为 8,目标版本为 17,即 Android 4.2。我在后面的文章中将会介绍这些细节。现在,只需明白 Android 平台提

20、供了可以兼容早期版本的库就足够了 Android 常用缩写 SDK:software development kit 软件开发工具包 AWT:abstract window toolkit 抽象窗口工具 Dalvik VM:经过优化后的JVM叫做dalvik vm ADT:android development tools Android开发工具 IDE:integrated development environment 集成开发环境 Eclipse是一个集成开发环境。它把开发需要的很多工具都集成到一起,方便开发人员进行开发。 QEMU:处理器模拟器 Invoke 调用invoke web

21、browser 调用web浏览器。 Intent 意图 Action 功能 View 看 Parse 分析描述 uri.parse(“”); Uri:web 上可用的每种资源,如HTML文档,图像,视频,程序等,由一个通用资源标示符等进行定位。 URL 是URI的一个子集。即URI包含URL。 AVD:AndroidvirtualdeviceAndroid运行的虚拟设备 Internal storage:内存储器。 Snapshot快照功能 Use Host GPU使用主机GPU Allocate:分配面向 Failed to allocate memory面向内存错误 SimpleOnGes

22、turedstListener:简单的手势动作监听 Navigation type:导航类型 Linear Relative Table onFling/Fling: 扔,投掷 motioneven/motion:动作 swipe detector:重击探测器 3 种布局类型 基础知识 Android的开发使用的是Java语言,所以我们需要下载JVM来解释运行Java字节码。 JVM通常会提供必需的优化使Java运行时能达到与C等其他编译语言相当的性能水平。 因为Android属于Java的分支,可以这么说Android是Java的简化。所以我们可以想到Android不需要全部的Java内容,

23、他所使用的JVM也就当然是简化后的JVM,相比Java的JVM要简化很多,当然这也限制了手机的内存,处理器速度和功能。经过优化后的JVM叫做dalvik VM。 一个手持设备的总RAM可能只有64MB。 可供应用程序使用的空间可能只有20MB。 SD卡:就我们说的手机的存储卡。 Dalvik VM获取生成的Java类文件,将他们组合成一个或多个dalvik可执行文件,该可执行文件的后缀名为.dex。它重用多个类文件的重复信息与未压缩的.jar文件相比,有效地将空间需求减少了一半。 例:Android中WEB浏览器的.dex约200K,而对应的未压缩的.jar版本约500K。 Dalvik VM

24、 使用了一个不同的汇编代码生成方法。使用寄存器而不是栈作为主要的数据存储单元。采用dalvik VM后,Android中最终的可执行程序代码不是基于Java字节码,而是基于.dex文件。这意味着无法直接运行Java字节码,必须首先得到Java类文件及.class 文件,然后将他们转换成.dex文件。 .Java .class-.dex minimum required SDK 又为miniSdk, 是你程序最低支持的SDK版本,这个现在一般miniSDK设定一般为8或者10. Take quiz :测试 take our quiz to find out。来做做测试寻找答案吧。 Android

25、基本组件 View:构成用户界面的组件 View是一个UI元素,是构成用户界面的基本构建块。View是分层的,它们知道如何绘制自身。View可以是一个按钮,标签或文本字段,或者各种其他UI元素。 Activity:屏幕 Activity是一个用户界面的概念。Activity通常表示应用程序中的一个屏幕。它通常包含一个或多个view。 Intent:意图 Intent通常定义执行某种工作的“意图”。intent封装了几种概念,所以理解他们的最佳方法就是查看他们的使用示例。可以使用intent来执行以下任务。 Intent并不总是由应用程序发起,系统也会使用他们来向应用程序传递特定的事件。 Int

26、ent可以是显式的,也可以是隐式的。如果只是希望显示一个URL,那么系统将会决定哪些组件能满足此意图,你也可以提供由什么来处理改意图的具体信息,intent将操作和操作处理程序轻松地链接在一起。 Contentprovider:content目标 provider提供者 我们常常需要在设备上的移动应用之间共享数据。因此,Android为应用程序定义了一种标准机制来共享数据,无需公开底层存储、结构和实现。通过contentprovider可以公开数据,允许应用程序使用来自其他应用程序的数据。 Service:服务 Android中的service类似于windows或其他平台中的服务,他们都是可

27、能长时间运行的后台进程。Android定义了两种类型的service:本地service和远程service。本地service市izhineng有承载该service的应用程序访问的组件。而远程service是供在设备上运行的其他应用程序访问的service。 电子邮件应用程序用于查询新邮件的组件,就是一个service示例。如果这种service不能被在设备上运行的其他应用程序使用,那么它就是本地service,如果有多个应用程序使用该service,那么它就是远程service,也可以扩展service类来编写自己的service。 AndroidManifest.xml Android

28、Manifest.xml它定义应用程序的内容和行为。例如它列出应用程序的activity和service,以及运行应用程序所需的权限。 AVD AVD使开发人员无需使用Android手机就可以测试应用程序。可以在各种配置下创AVD来模拟不同类型的手机。 Swipedetector:重击探测器 import android.view.MotionEvent; /Motion动作 public class SwipeDetector Private int swipe_distance;/distance 距离 Private int swipe_velocity;/velocity 速度 Private static final int SWIPE_MIN_DISTANCE =120; Private static final int SWIPE_THRESHOLD_VELOCITY = 200;/threshold 开始 velocity速度 /构造方法 Public SwipeDetector(int distance ,int velocity) Super; This.swipe_distance =

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号