收藏 分享(赏)

android框架与应用开发介绍.ppt

上传人:fcgy86390 文档编号:5912637 上传时间:2019-03-21 格式:PPT 页数:43 大小:1.65MB
下载 相关 举报
android框架与应用开发介绍.ppt_第1页
第1页 / 共43页
android框架与应用开发介绍.ppt_第2页
第2页 / 共43页
android框架与应用开发介绍.ppt_第3页
第3页 / 共43页
android框架与应用开发介绍.ppt_第4页
第4页 / 共43页
android框架与应用开发介绍.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、android框架及应用开发介绍,信息应用开发部 2009年9月,2,Android的发展,初探Android框架,如何开发一个android应用,如何开发一个widget,目录,Android发展路线,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,Activ

2、ity,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设计和逻辑分离 a

3、ndroid 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之间的桥梁,Inten

4、t,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 filt

5、er: 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 - http:/,17,Service,Service,没有UI,启动之后一直运行于后台 例子:音乐播放器 与应用程序的其他模块(例如activity)一同运行于主线程中 通过startService或bindServic

6、e创建Service 通过stopService或stopSelf终止Service 一般的,在activity中启动和终止service,18,Service生命周期,19,Context.stopService() Serivce.stopSelf(),Context.startService(),Context.bindService(),20,Content Provider,何为Content provider,什么是Content provider? Content Provider 是Android应用程序的四大组成部分之一 是android中的跨应用访问数据机制 为何需要con

7、tent 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

8、 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

9、selectionArgs),定义自己的content provider,24,Android的存储,一般的,应用程序的数据(包括文件)都是私有的 四种持久存储方式 Preferences类似properties,xml文件 Files DatabaseSQLite Network,25,26,Broadcast Receiver,Broadcast receiver,接收和处理android的广播消息 Android的广播机制 系统事件例如变换时区、电量低等 应用程序发出广播消息:sendBroadCast 广播消息:intent,27,android,app,Broadcast recei

10、ver,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 ); MyAndro

11、idReceiver MyAndroidReceiver = new MyAndroidReceiver(); registerReceiver(MyAndroidReceiver , filter);,Broadcast receiver生命周期,29,Broadcast receiver对象在onReceive返回后被销毁,onReceive中不适合处理异步过程。例如弹出对话框与用户交互,可使用消息栏替代。,Android权限控制,在AndroidManifest.xml中描述一个app的权限 例如:,30,权限举例(参考android. Manifest.permission),31,A

12、ndroid的发展,初探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描述U

13、I,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大小、更新

14、频率、接收的intent等,App widget主体,java类,负责widget初始化,各种消息的响应等,App widget界面描述文件。描述widget主界面的布局、包含的控件、显示效果等,Configure Activity,用于配置app widget的activity,App widget的UI设计,40,纵向屏幕,横向屏幕,几个widget,41,android widget的局限,功能 界面类是RemoteViews而不是View或ViewGroup 只支持少数布局和控件 布局:LinearLayout, FrameLayout, RelativeLayout 控件:button, TextView, ImageView, ImageButton, ProgressBar, AnalogClock, Chronometer(类似timer) android管理widget的策略: 只有当一个widget的所有实例都被delete了,该widget才会被disable。否则,被delete的widget实例仍然会在后台运行,只是界面没显示。,42,43,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报