Android学习笔记

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android学习笔记(by quqi99 MSN: quqi99@)Android platform是一个用于开发移动程序的软件包,它包括了操作系统、中间件及一些关键应用。开发者能使用android SDK为Android platform开发应用,这些应用使用JA V A 语言书写,运行在虚拟机Dalvik(一个专为手机程序开发的基于linux内核的JA V A虚拟机)。

/wiki/index.php?title=%E7%BF%BB%E8%AF%91%E4%BB%BB %E5%8A%A1%E9%A2%86%E5%8F%96&printable=yes

/forumdisplay.php?fid=2

1 什么是Android

1.1 Android的特性

✓应用框架,让一些基础设施得以重用

✓Dalvik虚拟机,专为开发移动程序优化

✓集成的浏览器,(基于WebKit引擎)

✓优化的图形库,(2D图形库以及基于OpenGL ES 1.0规范的3D图形库)

✓SQLite,用于结构化数据的存储,是一个数据库

✓多媒体支持,支持多种音频,视频格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

✓GSM技术(依赖具体硬件)

✓Bluetooth, EDGE, 3G, WiFi(依赖具体硬件)

✓Camera, GPS, compass, accelerometer(依赖具体硬件)

✓丰富的开发环境(DEBUG工具,内存及性能工具,Eclipse的插件等)

1.2 Android的架构

Android操作系统的模块如下:

应用:Android已集成了一些应用,如邮件客户端,SMS程序,日历,地图,浏览器等

应用框架:

程序库:

例行程序

Linux内核

2 Andvoid起步

2.1 开发环境配置

使用Eclipse + Android Development Tools (ADT)插件。在Help > Software Updates > Find and Install....中键入更新地址:

https:///android/eclipse/

2.2 运行第一个Andvoid程序

使用Eclipse插件

1、建立的工程类型为:Andvoid Project

2、建立Launch Configuration. Run > Open Run Dialog... or Run > Open Debug Dialog 命令行运行程序

1、创建工程activityCreator .ActivityName

2、编译。在build.xml所在的目录ant一下。

3、启动模拟器. 运行命令:emulator

4、在模拟器中,切换到主屏幕。

5、在命令行输入:adb install myproject/bin/.apk将其上载至模拟器。

6、在模拟器中选择程序并启动。

Android需要专门的编译工具来正确的编译资源文件和Android程序的其他部分。基于此,你需要为你的程序准备一个专门的编译环境。

Andorid的编译过程通常包括编译XML和其他资源文件、创建正确的输入格式。经过编译的Android程序是一个.apk文件,.apk文件是一个压缩文件,它其中包含了.dex文件、资源文件、raw data文件和其他文件。

Andoriod暂时还不支持用本地代码(C/C++)开发第三方程序。

移除Andorid程序

要移除你安装在模拟器上的程序,你需要通过run adb并删除相应的.apk文件。通过adb shell命令在模拟器上打开一个UNIX shell,进入目录data/app/,通过命令rm 你程序的名称.apk来移除文件。

2.3 调试程序

Andvoid用于调试的手段有:

DDMS,DDMS是一个图形化的程序,支持端口转发(因此你可以在程序中设置断点),支持模拟器上的截屏,支持线程和堆栈信息和其他的一些特性。

Logcat,Dump一份系统消息的日志。这些消息包括模拟器抛出错误时的堆栈跟踪。Android Log, 打印日志的类,用来将消息写入模拟器上的日志文件中。如Log.v()用于打印verbose级别的日志

Traceview,Android可以保存一个日志用来记录被调用的方法以及该方法被调用的次数,通过Traceview你可以在一个图形化的界面中查看这个日志文件。

可接解设置emulator的设置以方便调试,

模拟器上调试和测试的设置

Android提供了众多的设置使你可以更容易的调试和测试程序。要进入开发设置页面,在模拟器中转到Dev Tools > Development Settings。在该设置页面有以下选项:

∙Debug app:选择要调试的程序。你不需要设定其关联至调试器,但是设定这个值有两个效果:

o在调试的时候,如果你在一个断点处暂停了过长的时间,这个设定会防止Android抛出一个错误

o这个设定使你可以选择“等待调试器”选项,使程序只有在调试器关联上之后才启动

∙Wait for Debugger:阻塞所选的程序的加载直到有调试器关联上,这样你就可以在onCreate()中设置断点,这对于调试一个Activity的启动进程是非常重要的。当你对该选项进行了更改,任何正在运行的程序的实例都会被终止。你只有在上面的选项

中选择了一个调试程序才能够选中该选项。你一也可以在代码中添加

waitForDebugger()来实现同样的功能。

∙Immediately destroy activities:告诉系统一旦一个activity停止了就销毁该activity (例如当Android释放内存的时候)。这对于测试代码

onFreeze(Bundle)/onCreate(android.os.Bundle)是非常有用的,否则会比较困难。如果你的程序没有保存状态,那么选择这个选项很可能会引发很多问题。

∙Show screen updates:对于任何正在被重绘的screen sections都会在其上闪现一个粉红色的矩形。这对于发现不必要的screen绘制是很有必要的。

∙Show CPU usage:在屏幕上方显示CPU信息,显示有多少CPU资源正在被使用。

上方红色条显示总的CPU使用率,它下方绿色的条显示CPU用在compositing the

screen上的时间。注意:在没有重启模拟器之前,一旦你开启了该功能就不能关闭。

∙Show screen FPS:显示当前的帧率。这对于查看游戏达到的总的帧率是非常有用的。

注意:在没有重启模拟器之前,一旦你开启了该功能就不能关闭。

∙Show background:当没有activity screens可见时,显示一个背景模式。一般是不会出现的,仅仅在Debug的时候会出现。

设定的选项在模拟器重启之后仍然有效,如果要取消设定的选项,在取消设定以后还要重启模拟器,才能生效。

2.4 andvoid中的概念

一个andvoid应用包括四个部分:

⏹Activity活动(个人认为:类似于JSP, 也相当于SWT中的Shell, View则

相当于wegiet)

⏹Intent Receiver (个人认为:类似于Struts action)

⏹Service (个人认为:类似于Servlet)

⏹Content Provider (个人认为:用于持久化)

用上面哪些组件,要在AndroidManifest.xml文件中声明。

1、Activity. 一个activity是应用中的一个单一的屏幕,它继承自Activity类,它将显示

由Views组成的UI以及响应事件。(个人理解,相当于JSP)

2、Intent与Intent Filters. Intent用于从一个屏幕跳到别一个屏幕,描述一个应用想做

什么,它的数据结构包括action与data两部分,action如MAIN、VIEW、PICK、EDIT等等, data被表达成一个URI;IntentFilter相当于告诉跳到哪个activity,;

IntentReceiver用于响应事件,虽然它不显示UI,但它可以用NotificationManager

去通知用户。它需要在AndroidManifest.xml文件中注册,或者是用

Context.registerReceiver()硬编码。

3、Service是一段有生命周期的无UI的代码。

4、Content Provider, 持久化,例如存储在文件系统中,或者存储在SQLite数据库中。

2.5 例子

1,下载例子工程。/android/intro/codelab/NotepadCodeLab.zip

例如:Notepadv1工程是问题工程,Notepadv1Solution则是相应的解决工程。

2,3个例子的函义如下:

相关文档
最新文档