`
ln831015
  • 浏览: 5512 次
  • 性别: Icon_minigender_2
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

转 Android是什么?

阅读更多
. Android是什么?



         Android是一个平台,主要包括Linux微内核,中间件(SQLite等),关键应用(电话本、邮件、短消息、GoogleMap、浏览器等),提供的Java框架,以及Android中的JVM。



2.Android关键类



         视图,ContentProviders(应用交互管理类)、ResourceManager非编码资源管理类、NotificationManager(通告管理类)、ActivityManager(生命周期管理类)。



3.界面开发



         这一块主要讨论了Android的界面开发机制,可以讲组件的初始化抽取出来放到配置文件中,组件更新用编码方式来处理。



4.应用构成



         Android的应用一般由以下四个关键部分构成Activity、IntentReceiver、Service、ContentProvider。其中Activity是必要部分。

         应用场合:

         Activity每个应用都是必须得,Activity代表一个应用的一个具体的界面管理类,其本身并不显示。

         IntentReceiver可使应用对外部事件做出响应,比如,当应用正在执行,突然有了来电,这个时候可使用IntentReceiver做出处理是应用更健壮。

         Service Android应用的生命周期是由Android系统来决定的,不由具体的应用的线程左右。当应用要求在没有界面显示的情况还能正常运行,(要求有后台线程,而后台线程是不会被系统回收,直到线程结束)这个时候就需要用到Service

         ContentProvider 可以说ContentProvider封装很多Android当中的上下文环境,包括SQLite,这就使得在不同应用之间交互成为可能。



5.布局管理



         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都有提供相应的工具,相关命令可以上网查阅。


小弟不才,希望能抛个砖。有不对请及时指出,小弟先谢过!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics