1. Android是什么?
Android是一个平台,主要包括Linux微内核,中间件(SQLite等),关键应用(电话本、邮件、短消息、GoogleMap、浏览器等),提供的Java框架,以及Android中的JVM。
2.Android特点之关键类
视图,ContentProviders(应用交互管理类)、ResourceManager非编码资源管理类、NotificationManager(通告管理类)、ActivityManager(生命周期管理类)。
3.Android特点之界面开发
这一块主要讨论了Android的界面开发机制,可以讲组件的初始化抽取出来放到配置文件中,组件更新用编码方式来处理。
4.应用构成
Android的应用一般由以下四个关键部分构成Activity、IntentReceiver、Service、ContentProvider。其中Activity是必要部分。
应用场合:
Activity每个应用都是必须得,Activity代表一个应用的一个具体的界面管理类,其本身并不显示。
IntentReceiver可使应用对外部事件做出响应,比如,当应用正在执行,突然有了来电,这个时候可使用IntentReceiver做出处理是应用更健壮。
Service Android应用的生命周期是由Android系统来决定的,不由具体的应用的线程左右。当应用要求在没有界面显示的情况还能正常运行,(要求有后台线程,而后台线程是不会被系统回收,直到线程结束)这个时候就需要用到Service
ContentProvider 可以说ContentProvider封装很多Android当中的上下文环境,包括SQLite,这就使得在不同应用之间交互成为可能。
5.Android特点之布局管理
FrameLayout:左上角只显示一个组件。
LinearLayout:线性布局管理器,分为水平和垂直俩中,只能进行单行布局。
TableLayout:任意行和列的表格布局管理器。其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。
AbsoluteLayout:绝对布局管理器,坐标轴的方式,左上角是(0,0)点,往右x轴递增,往下Y轴递增。
RelativeLayout:相对布局管理器,更具最近一个视图组件,或是顶层父组件来确定下一个组件的位置。
6.Activity交互
Intent方式:Intent其实就是用来在Activity之间做交互用的,需要说明的是Intent有个意图说明,值得用深究,举个简单的例子,有种叫Intent.ACTION_CALL,可直接拨打电话。
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置。SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,最终是以xml方式来保存,效率不如Intent,但是由于可以共享,所有可以再Acitivity之间交互。但其效率比SQLite要高。
SQLite也就是数据库,这种方式不推介,因为其效率问题,如果是在不同应用之间交互,可以考虑SQLite。或是永久存储的情况下。
7.Android特点之生命周期
理解Android生命周期非常重要,主要有以下几点
每一个Android应用都是以一个进程的方式运行的,其生命周期不是有自身控制,而是由系统根据运行的应用的一些特征来决定。
所有理解好Android生命周期对你的应用什么时候会被系统回收很重要。
理解好生命周期可提高应用的健壮性。比如应用的初始化应该放到onCreate方法中,应用暂停的时候应用重写onPause方法来保存当前应用操作结果。
8. SQLite
SQLite是Android中提供的内置数据库,据说比MySql更轻巧。SQLite也是开源产品。数据库的操作方式主要有以下俩中:
SQL语句直接操作,插入、更新、删除都可以直接写SQL语句,调用execSQL()就可以,而查询需要使用rawQuery()来完成,查询结果返回是一个可滚动的结果集,Cursor在对Cursor操作前,需要将其游标移动到第一位,每取一个结果向下移一位。
9.Android实际开发经验分享
1 自定义组件的显示问题,在写自定义View的时候经常要对视图的X、Y调整,以达到预期的理想位置。可以讲每个组件的X、Y坐标值画到组件旁边,这样很直观,一看就知道该怎样调整。
2 使用Log来打印日志和进行调试。
3 使用LogCat视图,在showView中有LogCat视图,LogCat视图会显示一些Android仿真器打印出的堆栈信息,对应用的调试非常有帮助,另外Log打印的日志也在这边显示。
4 使用Emulator Control视图,Emulator Control可以完成一些简单的设备操作,比如,模拟来电,短消息。
5 活用tools目录下的工具,该目录在Android SDK中都有提供,通过这些工具可以操作Android仿真器,比如,创建一个虚拟SD卡,将系统中的文件移动到虚拟SD中,Android都有提供相应的工具,相关命令可以上网查阅。
综上,由于两者的开放性,使得兼容性比较好。同时可以节省成本和缩短研发时间,这就是睿虎G7平板电脑采用ARM+ Google Android架构的原因。