当前位置:文档之家› 五天学会ANDROID系统开发

五天学会ANDROID系统开发

五天学会ANDROID系统开发
五天学会ANDROID系统开发

五天学会Android应用开发

第一天Android系统介绍开发环境的搭建模拟器的使用

1.Android的由来

2.Android的发展

3.Android系统架构及特性

4.Android Market

5.Android与JavaME的区别

6.开发环境的搭建

Android Virtual Devices(AVD)的创建

第二天第一个Android程序程序结构介绍

1.HelloWorld程序

2.程序结构介绍

3.DDMB调试

4.Log日志

5.Android应用程序组件

Activity Services Broadcast Receiver ContentProvider

第三天Activty应用介绍

1.Activity介绍

2.TextView控件

3.Button控件

4.Toast控件

5.事件处理

6.布局管理器

第四天Intent介绍及应用

1.什么是Intent

2.Intent的使用

3.Services简介

4.ContentProvider简介

第五天综合项目(无线点餐系统)

1.项目需求

2.项目设计

3.项目部署

4.代码实现

补充

Sqlite数据库

Android下如何操作sqlite数据库

C:\adb shell(进入运行的模拟器系统下找到data文件夹下的项目文件夹例:com.公司名.项目名)

Sqlite3数据库名(进入数据库)

查看表.table

第一天

1.Android的由来

Android是“机器人”的意思,是Google公司于2007年11月5日发布的一个基于Linux 平台的开源手机操作系统。该系统由底层的Linux操作系统、中间件和核心应用程序组成。Android应用程序由强大的Java语言来编写,也支持其他一些语言如C、Perl等。

Android一开始并不是Google自己研发的产品,而是在2005年收购了一家刚刚创业22个月的公司的产品,该公司的创始人是Andy Rubin,也就是现在Google Android产品负责人罗宾。

Google收购Android没有向媒体透漏任何消息,可以说是悄悄进行的。罗宾拒绝对Android 公司出售给Google发表评论。Google的一名发言人也拒绝就这交易发表评论,只是指出“我们收购Android公司的原因是,它有天才的工程师和了不起的技术,我们对他们的加盟感到由衷的高兴”。

Google于2007年11月5日发布了Android1.0手机操作系统,号称是首个为移动终端打造的真正开放和完整的移动软件,后经版本不断更新,现在已经是Android3.0。

同日,Google宣布组建了一个全球性的联盟组织,这一联盟组织将会支持Google可能发布的手机操作系统或者应用软件,共同开发名为Android的开放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员数量已达到来了34家。移动运营商包括中国移动、中国电信、中国联通、美国Sprint Nextel、德国T-Mobile 等。半导体制造商包括ARM、英特尔、高通等。电话制造商包括摩托罗拉、三星、华为、宏达电子等。

2.Android的发展

Android软件推出之后,版本升级非常快,几乎每隔半年就有一个新的版本发布。目前最新版本已经是Android3.0。

2008年9月22日,美国运营商德国T-Mobile在纽约正式发布第一款Android手机——T-Mobile G1。该款手机为台湾宏达电(HTC)代工制造,是世界上第一部使用Android 操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。

2009年10月28日正式发布了Android2.0智能手机操作系统。

2010年1月索尼爱立信首款Android机型X10上市。

2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC G5),并同时开始对外发售。

2010年7月9日,美国NDP集团调查显示,Android系统已占据了美国移动系统市场28%的份额。

北京时间3月25日,据国外媒体报道,谷歌周四表示,谷歌暂停开源Android3.0,并将暂时阻止小型手机生产商使用其Android3.0“Honeycomb”系统,期限未定。

谷歌一位发言人通过电子邮件声明称,Honeycomb是专为平板电脑而非手机设计的,在该系统以开源形式发布前,还有很多工作要做。谷歌向《商业周刊》表示,推迟发布可能达数月之久。

谷歌称:“代号为Honeycomb的Android3.0系统,是针对大屏幕设备和改进小软件、多任务、浏览、通知和客户化等功能而设计。虽然我们很高兴为平板电脑提供这些新功能,

但交付给其他设备包括手机前我们有更多的工作要做。我们决定暂不开放源代码。我们致力于将Android作为跨多设备类型的开放式平台来提供,并在准备好时公布源代码”。

这意味着小型手机制造商要使用Honeycomb将不得不等待一段时间。不过大型设备商如HTC和摩托罗拉,已经可以使用。这些设备制造商一般安装在平板电脑中。

对此,谷歌工程副总裁和Android主管安迪·鲁宾(Andy Rubin)表示:“为了制定平板电脑出货的时间表,我们进行了一些折衷设计。我们不想思考如何在手机上运行同一个软件”。

鲁宾还表示,谷歌不想冒险“带来非常糟糕的用户体验”。今年2月在发布Honeycomb 时,谷歌发言人称,目前是专为平板电脑设计,“以后这些功能将推广到手机上。手机版的新Android,可能不会被叫做“Honeycomb”,也可能是与3.0不同的版本。”

3.系统架构及特性

Android以Java为编程语言,从接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类(class)负责创建视窗(window),一个活动中的Activity 就是在foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的Activity全部画面被其他Activity取代时,该Activity便被停止(stopped),甚至被系统清除(kill)。

View等同于J2ME的Displayable,程序人员可以通过View类与“XML layout”档将UI 放置在视窗上,Android1.5的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup是各种layout的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大

程度上是从XML中读取的。View与事件(event)息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。

中介软件

操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(Virtual Machine)。Bionic是Android改良libc的版本。Android同时包含了Webkit,所谓的Webkit 就是Apple Safari浏览器背后的引擎。Surface flinger是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。

Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。

Android使用skia为核心图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但相较于Linux Cairo,skia功能还只是雏形的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,目前Skia也是Google Chrome的图形引擎。

Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。

Android的中间层多以Java实现,并且采用特殊的Dalvik虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。

Dalvik虚拟机可以有多个实例(instance),每个Android应用程序都用一个自属的Dalvik 虚拟机来运行,让系统在运行程序时可达到优化。Dalvik虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。

硬件抽像层

Android的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL的目的是为了把Android framework与Linux kernel隔开,让Android不至过度依赖Linux kernel,以达成kernel independent的概念,也让Android framework的开发能在不考量驱动程序实现的前提下进行发展。

HAL stub是一种代理人(proxy)的概念,stub是以*.so档的形式存在。Stub向HAL “提供”操作函数(operations),并由Android runtime向HAL取得stub的operations,再callback这些操作函数。HAL里包含了许多的stub(代理人)。Runtime只要说明“类型”,即module ID,就可以取得操作函数。

编程语言

Android是运行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux里支持的功能,Android大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc 等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到userspace,使得Linux driver与Linux kernel彻底分开。bionic/libc/kernel/并非标准的kernel header files。Android的kernel header是利用工具由Linux kernel header所产生的,这样做是为了保留常数、数据结构与宏。

目前Android的Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo是Android用来辅助Git工作的一个工具。

4.Android Market

Android Market是一个由谷歌公司为Android系统用户创建的服务,允许安装了Android系统的手机和平板电脑用户从Android Market浏览和下载一些应用程序。用户可以购买或免费试用这些应用程序。

5.Android与JavaME的区别

Android与Java ME的区别在于,Android是一个完整的移动设备操作系统平台,由Linux操作系统、中间件、C类库和核心应用程序组成,而Java ME只是Java的一个微型版本,针对移动设备来开发应用程序的开发包,它必须有底层操作系统的支持,如Symbian、WinCE等。

6.开发环境的介绍

所需软件:JDK1.6下载地址:https://www.doczj.com/doc/9212912147.html,

Android-SDK-Windows https://www.doczj.com/doc/9212912147.html,/sdk/index.html

Eclipse3.3以上版本我这里用的是3.5.2版本https://www.doczj.com/doc/9212912147.html,/

ADT10.0.0https://https://www.doczj.com/doc/9212912147.html,/android/eclipse/

使用android sdk模拟器的创建

使用eclipse ADT插件管理模拟器

Android软件的安装

Windows环境变量的配置

点我的电脑右键选择属性选择高级环境变量在用户里新建一个path变量

然后把你要执行的程序文件夹路径加到这里来!

D:\android-sdk-windows\tools;D:\android-sdk-windows\platform-tools

安装:adb install路径软件名称

Ctrl+F11屏幕切换

卸载:adb uninstall包名

第二天

1.Hello World程序

打开Eclipse文件–>新建->Android project弹出如下窗口

2.程序结构介绍

Src目录存放源代码的文件夹

Gen目录存放系统自动生成的资源文件的16禁进制表示

Assets存放大文件字体的目录

Res资源文件目录存放xml文件和图片文件

AndroidManifest.xml文件是项目配置文件

如何添加图片

要先把png文件拷贝进来(drawable)目录下,切换到布局文件xml下添加一个ImageView控件点击鼠标右键设置宽高选择属性选项下的src 再选择导入进来的文件名

代码

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/mantou_015"

/>

不会的同学直接拷贝代码到布局文件下

如何修改背景颜色

先新建一个android xml file

选择里面的values选项文件名color.xml

代码如下

#FFFF00

//以color标签开name属性就是颜色的名字颜色的值写在color标签内,注意name属性不能重名

#00FF00

在你的Activity下面引用颜色配置文件

getWindow().setBackgroundDrawableResource(R.color.green);

3.DDMB调试

如何显示调试信息如果使用System.out显示字符的时候建立一个logCat的过滤器tag 的名字就是System.out

如果你用Log类来显示信息那么你的过滤器标签必须和Log.i()方法的第一个参数一样如何使用模拟器来打电话

在emulator contral里面

4.Log日志

5.Android应用程序组件

Activity Services Broadcast Receiver ContentProvider

相关主题
文本预览
相关文档 最新文档