【Android源码 栏目提醒】:以下是网学会员为您推荐的Android源码 -android框架与应用开发介绍 - 综合课件,希望本篇文章对您学习有所帮助。
android应用开发介绍 Sean 2
Android的发展 初探
Android框架 如何开发一个
android应用 基于
Android手机视频监控javacv 目录
Android发展路线 2007年11月
Android发布 2008年9月23日HTC G1上市
android SDK 1.0发布 2008年10月21日
android开源 2009年4月27日
android SDK 1.5发布
Android SDK4.0 3
Android手机一览 4 华为pulse LG Etna 5
Android的发展 初探
Android框架 如何开发一个
android应用 基于
Android手机的视频监控javacv 目录
Android框架 6 JNI JAVA C/汇编 应用程序层Applications
Android系统包含系列的核心应用程序SMS程序、日历、联系人等。
我们所要做的 应用程序框架Application Framework Application Framework提供了大量的API供开发者使用 开发的基础 函数库libraries
Android 包含一些C/C库这些库能被
Android系统中不同的组件 使用。
它们通过
Android 应用程序框架为开发者提供服务 7
Android运行时
Android Runtime
Android核心库提供了JAVA编程 语言 核心库的大多数功 能 Dalvik虚拟机负责运行
Android应用程序每个
Android程序 运行在一个单独的Dalvik虚拟机内 Java程序运行是通过java bytecode指令在java虚拟机中运行.classDalvik虚拟机是运行的dexDalvik Executable文件因此
Android提供了dx工具用来将Java bytecode转换为dex .class .dexDalvik Linux内核
Android 的核心系统服务依赖于 Linux 2.6 内核如安全性内存管理进程管理 网络协议栈和驱动模型 8
Android应用程序构成 9 Activity Service Broadcast Receiver Content Provider Intent Resources
Android应用程序四大组件 10 Activity Service Broadcast Receiver Content Provider 需要在应用程序配置文件中声明注册 11 Activity Activity provides : A screen用户可以基于其进行交互 A visual user interface/用户界面 setContentViewView来定义activity的用 户界面 通过layoutView xml文件来布局Activity用户接口和activity的业务逻辑代码分开 ―Layouts‖是ViewGroup的子类为其包含 的views提供了布局模型 linear layout grid layout …… 12 每一个有用户界面的应用至少包含一个activity 一个应用可以有多个activity其中一个作为main activity用于启动显示 Activity通过startActivity或startActivityForResult启动另外的activity 13 Activity——View 通过layout管理UI View是所有UI控件及容器的基类 Viewlayout可通过xml描述定义也可在代码中生成。
setContentViewR.layout.main
Android建议将UI设计和逻辑分离
android UI设计类似swing通过布局layout组织UI组件 14 Activity生命周期 Activity通过onCreate被创建 当一个activity失去焦点该activity将进入pause状态系统在内存不足时会将其终止 当一个activity被另一个activity覆盖该activity将进入stop状态系统在需要内存的时候会将其终止 15 16 17 Intent Intent1 18 类似于消息、事件通知/不同组件之间的通信载体 Intent构成action、category、data Activity、Service、broadcast receiver之间的桥梁 Intent activity service Broadcast receiver Intent2 两类intent: 显式指定具体的目标组件处理 –startActivitynew IntentActivityLifecycle.this AnotherActivity.class 隐式由系统接受并决定如何处理 –startActivitynew IntentIntent.ACTION_DIAL 在AndroidManifest.xml中定义activity、service、broadcast receiver接受的intent 19 Intent3 Intent filter: action、category、data 20 framework Component name Action Data Category intent component activity service Broadcast receiver 实例 21 action -- DIAL data -- tel:02038639592 action -- VIEW data -- http://www.google.cn 22 Service Service 没有UI启动之后一直运行于后台 例子音乐播放器 与应用程序的其他模块例如activity一同运行于主线程中 通过startService或bindService创建Service 通过stopService或stopSelf终止Service 一般的在activity中启动和终止service 23 Service生命周期 24 Context.stopService Serivce.stopSelf Context.startService Context.bindService 25 Content Provider 何为Content provider 什么是Content provider Content Provider 是
Android应用程序的四大组成部分之一 是
android中的跨应用访问数据机制 为何需要content provider
Android中每一个app的资源是私有的 app通过content provider和其他app共享私有数据 26 如何使用content provider 通过content resolver访问 Context.getContentResolver 27 app ContentResolver ContentProvider A ContentProvider B ContentResolver ContentResolver app app 如何使用content provider续 URI定位资源 content://contacts/people content://call_log 类似关系数据库的访问方式 以二维数据表的格式暴露数据缺省都包含_id字段 28 deleteUri url String where String selectionArgs insertUri url ContentValues values queryUri uri String projection String selection String selectionArgs String sortOrder updateUri uri ContentValues values String where String selectionArgs 定义自己的content provider 29
Android的存储 一般的应用程序的数据包括文件都是私有的 四种持久存储方式 Preferences——类似propertiesxml文件 Files Database——SQLite Network 30 31 Broadcast Receiver Broadcast receiver 接收和处理
android的广播消息
Android的广播机制 系统事件——例如变换时区、电量低等 应用程序发出广播消息sendBroadCast 广播消息intent 32
android app Broadcast receiver Send broadcast 创建Broadcast Receiver 实现一个BroadcastReceiver public class MyAndroidReceiver extends BroadcastReceiver override onReceiveContext context Intents Intents 注册BroadcastReceiver 在AndroidManifest.xml文件当中进行注册 在代码当中直接进行注册 33