




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
android框架及应用开发介绍 信息应用开发部 2009年 9月 2 Android的发展 初探 Android框架 如何开发一个 android应用 如何开发一个 widget 目录 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 2.0,代号 donut,支持CDMA,多点触摸,文本语音引擎, 3 Android手机一览 4 华为 pulse LG Etna 5 Android的发展 初探 Android框架 如何开发一个 android应用 如何开发一个 widget 目录 Android框架 6 JNI JAVA C/汇编 Android应用程序构成 7 Activity Service Broadcast Receiver Content Provider Intent 8 Activity Activity A visual user interface 通过 view管理 UI 每一个有用户界面的应用至少包含一个activity 一个应用可以有多个 activity,其中一个作为main activity用于启动显示 Activity通过 startActivity或startActivityForResult启动另外的 activity 9 ActivityView 通过 View管理 UI View绘制 UI与处理 UI event View可通过 xml描述定义,也可在代码中生成。 setContentView(R.layout.main) Android建议将 UI设计和逻辑分离 android UI设计类似 swing,通过布局 (layout)组织 UI组件 10 Activity生命周期 Activity通过 onCreate被创建 当一个 activity失去焦点,该 activity将进入 pause状态,系统在内存不足时会将其终止 当一个 activity被另一个activity覆盖,该 activity将进入 stop状态,系统在需要内存的时候会将其终止 11 12 Intent Intent(1) 13 类似于消息、事件通知 Intent构成: action、 category、 data Activity、 Service、 broadcast receiver之间的桥梁 Intent activity service Broadcast receiver Intent(2) 两类 intent: 显式:指定具体的目标组件处理 startActivity(new Intent(ActivityLifecycle.this, AnotherActivity.class); 隐式:由系统接受并决定如何处理 startActivity(new Intent(Intent.ACTION_DIAL); 在 AndroidManifest.xml中定义 activity、 service、 broadcast receiver接受的 intent 14 Intent(3) Intent filter: action、 category、 data 15 framework Component name Action Data Category intent component activity service Broadcast receiver 实例 16 action - DIAL data - tel:02038639592 action - VIEW data - 17 Service Service 没有 UI,启动之后一直运行于后台 例子:音乐播放器 与应用程序的其他模块(例如 activity)一同运行于主线程中 通过 startService或 bindService创建 Service 通过 stopService或 stopSelf终止 Service 一般的,在 activity中启动和终止 service 18 Service生命周期 onCreate onStart onDestroy 19 Context.stopService() Serivce.stopSelf() Context.startService() Context.bindService() 20 Content Provider 何为 Content provider 什么是 Content provider? Content Provider 是 Android应用程序的四大组成部分之一 是 android中的跨应用访问数据机制 为何需要 content provider? Android中每一个 app的资源是私有的 app通过 content provider和其他app共享私有数据 21 如何使用 content provider 通过 content resolver访问 Context.getContentResolver() 22 app ContentResolver ContentProvider A ContentProvider B ContentResolver ContentResolver app app 如何使用 content provider(续 ) URI定位资源 content:/contacts/people content:/call_log 类似关系数据库的访问方式 以二维数据表的格式暴露数据,缺省都包含 _id字段 23 delete(Uri url, String where, String selectionArgs) insert(Uri url, ContentValues values) query(Uri uri, String projection, String selection, String selectionArgs, String sortOrder) update(Uri uri, ContentValues values, String where, String selectionArgs) 定义自己的 content provider 在 AndroidManifest.xml中声明一个 provider 创建 MyProvider类,继承自 ContentProvider。定义该 provider提供的数据集的 URI和字段名 在 MyProvider中实现 ContentProvider的 6个abstract method: query, insert, update, delete, getType, onCreate 在其他 app中使用 ContentResolver通过 URI访问 MyProvider提供的数据 24 Android的存储 一般的,应用程序的数据(包括文件)都是私有的 四种持久存储方式 Preferences类似 properties, xml文件 Files DatabaseSQLite Network 25 26 Broadcast Receiver Broadcast receiver 接收和处理 android的广播消息 Android的广播机制 系统事件 例如变换时区、电量低等 应用程序发出广播消息: sendBroadCast 广播消息: intent 27 android app Broadcast receiver Send broadcast 创建 Broadcast Receiver 实现一个 BroadcastReceiver public class MyAndroidReceiver extends BroadcastReceiver override onReceive(Context context, Intents Intents) 注册 BroadcastReceiver 在 AndroidManifest.xml文件当中进行注册 在代码当中直接进行注册 28 IntentsFilter filter = new IntentsFilter(NEW_BROADCAST ); MyAndroidReceiver MyAndroidReceiver = new MyAndroidReceiver(); registerReceiver(MyAndroidReceiver , filter); Broadcast receiver生命周期 Create Object onReceive Destroy object 29 Broadcast receiver对象在 onReceive返回后被销毁 onReceive中不适合处理异步过程。例如弹出对话框与用户交互,可使用消息栏替代。 Android权限控制 在 AndroidManifest.xml中描述一个 app的权限 例如: 30 权限举例 (参考 android. Manifest.permission) 权限名称 权限描述 接收短信 android.permission.RECEIVE_SMS 拨打电话 android.permission.CALL_PHONE 系统启动完毕通知 android.permission.RECEIVE_BOOT_COMPLETED 读取联系人信息 android.permission.READ_CONTACTS 修改联系人信息 android.permission.WRITE_CONTACTS 31 Android的发展 初探 Android框架 如何开发一个 android应用 如何开发一个 widget 目录 工欲善其事,必先利其器 Android SDK 最新版本: android-sdk-1.5_r2 AVD: android virtual device ADB: Android Debug Bridge Hierarchyviewer: UI解析 IDE: eclipse + ADT ADT: Android Development Tools 32 Hello World 33 Android带 UI应用的入口,类似 main UI界面设计的 xml文件,android中采用一个 xml描述 UI Android project 34 Activity class 自动生成的资源定义类 存放应用使用的资源 UI布局描述文件 应用使用的静态字符串 应用程序描述文件 基本 UI组件 35 36 实例: MyPhonebook 37 实例:短信未知号码提示 38 Android的发展 初探 Android框架 如何开发一个 android应用 如何开发一个 widget 目录 App widget组成 39 AppWidget Provider Info AppWidget Provider AppWidget View App widget App Widget描述文件。定义 widget大小、更新频率、接收的 intent等 App widget主体, java类,负责 widget初始化,各种消息的响应等 App widget界面描述文件。描述 widget主界面的布局、包含的控件、显示效果等 Configure Activity 用于配置 app widget的activity App widget的 UI设计 40 纵向屏幕 横向屏幕 Cells Pixels 4 x 1 320 x 100 3 x 3 240 x 300 2 x 2 160 x 200 Cells Pixels 4 x 1 424 x 74 3 x 3 318 x 222 2 x 2 212 x 148 几个 widget 41 android widget的局限 功能 界面类是 RemoteViews而不是 View或 ViewGrou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国护色洗发水行业市场分析及投资价值评估前景预测报告
- 2025湖南湘潭市韶山学校公开招聘教师15人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025内蒙古气象部门招聘70人模拟试卷及答案详解(典优)
- 2025吉林大学白求恩第一医院泌尿外一科录入员招聘1人模拟试卷及答案详解(夺冠系列)
- 2025黑龙江东北林业大学生态学院校内招聘2人模拟试卷及答案详解(历年真题)
- 2025广东中共中山市委政法委员会所属事业单位招聘事业单位人员4人模拟试卷及1套参考答案详解
- 2025年甘肃省平凉市博物馆公益性岗位人员招聘考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年甘肃省平凉市崆峒区人民法院招聘司法辅助人员考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年晋江市林业和园林绿化局公开招聘1人考前自测高频考点模拟试题及参考答案详解1套
- 2025年江西职业技术大学高层次人才招聘51人模拟试卷及1套参考答案详解
- 2025年10月“江南十校”2026届新高三第一次综合素质检测 语文试卷(含答案详解)
- 2025广东普通专升本《政治理论》试题与答案
- 明市2025新闻记者职业资格考试(新闻采编实务)复习题及答案
- 2024秋季新教材人教版体育与健康一年级上册课件:1我们爱运动
- JT-T-844-2012港口设施保安设备设施配置及技术要求
- 湘教版版八年级上册地理知识点复习总结
- 2069-3-3101-002WKB产品判定准则-外发
- (正式版)JBT 14587-2024 胶体铅酸蓄电池 技术规范
- 美国发布2024版《关键和新兴技术清单》(英)
- 敬老院改造工作计划书
- 郝万山教授要求必背的112条《伤寒论》论原文
评论
0/150
提交评论