Android学习笔记

发布 2021-05-12 00:30:28 阅读 2035

android 文件。

j**a 文件---应用程序源文件。

android 本身相当一部分都是用j**a 编写而成(基本上架构图里头蓝色的部份都是用j**a 开发的),android 的。

应用必须使用j**a 来开发。

class 文件---j**a 编译后的目标文件。

不像j2se,j**a 编译成class 就可以直接运行,android 平台上class 文件不能直接在android 上运行。由于google

使用了自己的dalvik 来运行应用,所以这里的class 也肯定不能在androiddalvik 的j**a 环境中运行,android

的class 文件实际上只是编译过程中的中间目标文件,需要链接成dex 文件后才能在dalvik 上运行。

dex 文件---android 平台上的可执行文件。

android 虚拟机dalvik 支持的字节码文件格式google 在新发布的android 平台上使用了自己的dalvik 虚拟机来定义,这种虚拟机执行的并非j**a 字节码,而是另一种字节码:dex 格式的字节码。在编译j**a **之后,通过android 平台上的工具可以将j**a 字节码转换成dex 字节码。

虽然google 称dalvik 是为了移动设备定做的,但是业界很多人认为这是为了规避向sun 申请j**alicense。这个dalvikvm 针对手机程式/cpu 做过最佳化,可以同时执行许多vm 而不会占用太多resource。

apk 文件---android 上的安装文件。

apk 是android 安装包的扩展名,一个android 安装包包含了与某个android 应用程序相关的所有文件。apk文件将 文件、应用程序**(.dex 文件)、资源文件和其他文件打成一个压缩包。

一个工程只能打进一个。apk 文件。

android库。

android 包含一些c/c++库,这些库能被android 系统中不同的组件使用。它们通过android 应用程序框架为开发者提供服务。以下是一些核心库:

系统c 库一个从bsd 继承来的标准c 系统函数库( libc ),它是专门为基于embedded linux的设备定制的。

**库基于packetvideo opencore;该库支持多种常用的音频、**格式回放和录制,同时支持静态图像文件。编码格式包括mpeg4, h.264, ***, aac, amr, jpg, png 。

surface manager 对显示子系统的管理,并且为多个应用程序提供了2d 和3d 图层的无缝融合。 libwebcore - 一个最新的web 浏览器引擎用,支持android 浏览器和一个可嵌入的web 视图。

sgl 底层的2d 图形引擎。

3d libraries 基于opengl es 1.0 apis 实现;该库可以使用硬件3d 加速(如果可用)或者使用高度优化的3d 软加速。

freetype 位图(bitmap)和矢量(vector)字体显示。

sqlite 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

android各种包的描述。

在android 的应用程序开发中,通常使用的是j**a 语言,除了需要熟悉j**a 语。

言的基础知识之外,还需要了解android 提供的扩展的j**a 功能。

在一般的j**a 应用中,如果需用引用基础类库,通常需要使用如下的方式:

import

以上**表示了引用j**a 的gui 组件swing, 即j**a 中的一个包。

android 提供一些扩展的j**a 类库,类库分为若干个包,每个包中包含若干个类。

重要包的描述:

:提供高层的程序模型、提供基本的运行环境。

:包含各种的对设备上的数据进行访问和发布的类。

:通过内容提供者浏览和操作数据库。

:底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上。

:定位和相关服务的类。

:提供一些类管理多种音频、**的**接口。

:提供帮助网络访问的类,超过通常的 接口。

:提供了系统服务、消息传输、ipc 机制。

:提供opengl 的工具。

:提供类访问android 的内容提供者。

:提供与拨打**相关的api 交互。

:提供基础的用户界面接口框架。

:涉及工具性的方法,例如时间日期的操作。

:默认浏览器操作接口。

:包含各种ui 元素(大部分是可见的)在应用程序的屏幕中使用。

android 2.1命令。

1:列出android选项。

android -h 或 android -help

2:启动模拟器管理器(**d manager)

android

3:列出模拟器类型。

android list android list targets

4:列出自己建立的么模拟器。

android list **d

5:建立模拟器。

android create **d --target 2 --name cupcake (cupcake)为新建模拟器的名字。

6:删除模拟器。

android delete **d --name cupcake (cupcake)为删除的模拟器的名字。

7.启动模拟器。

emulator –**d 模拟器名启动模拟器。

8:切换模拟器样式。

在创建命令后面加上 “-skin qvga”即可切换样式:windows操作系统按“f7”键即可。

9:指定用什么模拟器启动。

emulator -debug **d_config -**d cupcake (cupcake)为模拟器的名字。

向模拟器打**发短信。

分类: android开发 2010-08-24 23:48102人阅读评论(0)收藏举报。

如何向android模拟器打**发短信。

1. 启动android emulator, 查看标题栏找出端口。 一般是android emulator(5554),其中5554就是端口。

2. 打开命令行,输入telnet localhost 5554。程序将会连接到android emulator,控制台会返回。

android console: type ‘help’ for a list of commands

ok3. 模拟**打入。输入gsm call 《模拟打进的**号码》。

如:gsm call 123456789

4.模拟短信发送。

输入gsm send 《模拟发送短信的**号码》 《短信内容》。

如:sms send 123456789 hello

使用ddms打**,发短信,截图。

1.启动eclipse里面的ddms,在emulator control里面,在telephone action里面,在incoming number 里面输入号码,模拟器不检查号码是否正确,只要是数字的都可以,然后选择voice,sms是模拟发彩信。点击call就可以成功了,等几秒钟,模拟器就会出现来电画面。

2.按ctrl+s实现截图。

android系统数据库。

分类: android开发 2010-08-24 23:56623人阅读评论(1)收藏举报。

数据库:联络人(含通话记录)数据库: /data/data/

**库(貌似记录铃声设置等信息): data/data/

系统设置: /data/data/

短信库: /data/data/

web设置: /

地图搜索历史记录: /data/data/

帐号库?(内含androidid信息) :data/data/

铃声: /system/media/audio

时区设置: /data/property/

android学习笔记2-开发过程中一些重要概念。

分类: android开发 2010-08-25 00:29324人阅读评论(0)收藏举报。

activity

活动是最基本的andorid 应用程序组件,应用程序中,一个活动通常就是一个单独的屏幕。每一个活动都被实现为一个独立的类,并且从活动基类中继承而来, 活动类将会显示由视图控件组成的用户接口,并对事件做出响应。 大多数的应用是由多屏幕显示组成。

activity 生命周期。

activity 状态。

1.当一个activity 在屏幕的最上层时(对堆栈的最顶端),它就是属于active 或者running 的状态。

2.如果一个activity 失去焦点(focus)但还看得到它的画面(比如:一个新的activity 画面并不是全屏幕或者它是一个半透明的情况),那失去焦点的activity 则处在paused 的状态。

像这个失去焦点的activity它还是完全活着的,并没有消失。(活着的意思是指,activity 自己本身所有的状态及数据都还是存在的,也跟窗口管理程序window manager 保持联系着),像这种paused 的activity,会在一种情况下消失,那就是当系统的内存不够用之时,系统会自动判断,八部重要的activity 移除。

3.如果一个activity 被其它的activity 完全的遮盖住时,它仍然保有全部的状态及数据,但因为它已不再被使用者看见,所以它的画面是被隐藏起来的(画面不需要更新),当系统内存不足时,这种stop 状态的activity 时最先被系统考虑拿下来释放内存的。

4.当一个activity 处于pause 或stop 的状态时,系统可以要求activity 结束(finish)或直接移除(kill)它。

Android学习笔记

1 stringbuffer的使用 stringbuffer类和string一样,也用来代表字符串,只是由于stringbuffer的内部实现方式和string不同,所以stringbuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于string类。所以在实际使用时,如果经常需要对一个...

android学习笔记

目录。1 拨号器。2 短信发送器。3 单元测试1 4 单元测试2 5 文本文件读写。6 跨应用文件访问。7 访问sd卡。8 dom解析xml 9 sax解析xml文件。10 使用pull解析xml文件。11 共享首选项。12 跨包访问共享首选项。13 编程式布局。14 sqlite数据库操作。15 ...

Android学习笔记

android学习笔记 mars 1 android环境搭建。a adt bundle windows x86 b 配置环境变量 虚拟机运行的环境变量 随便整一个 i.android sdk home c android work d 2 android目录结构。a src 源文件 j a b as...