Android短信备份系统毕业设计论文(6)
基于Android的短信息备份系统设计 第三章 Android开发环境的搭建及测试
在低内存资源的情况下,Android操作系统会终止任何已暂停、停止或销毁的Activiti的进程。这本质上意味着所有不处于前台的Activity都可能被关闭。
如果Activity在onPause()方法调用后被关闭,那么它的onStop()和onDe story()方法不会被调用。在onPause()方法中释放更多的资源,转入后台的Activity被终止的可能性就越小。
终止Activity的操作并不会将其从Activity栈中移除。相反,Activity的状态会被存入一个Bundle对象中,前提是Activity实现了它并且使用了onSaveInstance State()方法保存自定义数据,不过某些View数据会自动保存。当用户稍后再次返回这一Activity时,它的onCreate()方法将被调用,不过此时会带有一个可用的Bundle作为传入参数。
2.3.2 Intent Receiver
当需要对一个外部事件(如当电话呼入,或者数据网络可用)做出响应时,可以使用一个Intent Receiver。
Intent Receiver在外部事件发生时,会使用NotificationManager通知用户,但它并不能生成一个UI。Intent Receiver在AndroidManifest.xml中注册,也可以在代码中使用Context.registerReceiver()进行注册。当一个intent receiver被触发时,系统会在需要的时候对应的程序。各种应用还可以通过使用Context.broadcastIntent()将它们的intent receiver广播给其它应用程序。
2.3.3 Service
一个Service是一段长生命周期的,没有用户界面的程序。例如,一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让用户可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为用户会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个activity会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。同时,系统也将保持这个service一直执行,直到这个service运行结束。另外,还可以通过使用Context.bindService()方法,连接到一个service上(如果这个service还没有运行将启动它)。当连接到一个service之后,使用service提供的接口与它进行通讯。拿媒体播放器这个例子来说,还可以进行暂停、重播等操作。
11
基于Android的短信息备份系统设计 第三章 Android开发环境的搭建及测试
有一个关于服务的很好的经验规则:如果某个任务需要使用一个线性辅助线程,并且可能会影响应用程序的影响性和性能,那么可以考虑在应用程序的生命周期外实现一个服务来处理这一任务。
2.3.4 Context
Context是Android应用程序的中央控制中心,所有应用程序持有的功能都可以通过Context进行访问。
在获得了一个可用的应用程序Context后,就可以使用它来访问应用程序范围的功能和服务了。
(1)获取应用程序资源
你可以使用应用程序Context的getResources()方法来获取应用程序资源。获取资源最直接的方式就是使用资源标识符(ID),它是一个在R.java类中自动生成的数字。 (2)访问应用程序首选项
你可以使用应用程序Context的getSharedPreferences()方法访问共享的应用程序首选项。SharedPreferences类可以用来存储简单的应用程序数据,例如配置设置。 (3)使用Context访问其他应用程序的功能。
2.4 Android中的Intent
在一个Android应用中,主要是由四种组件组成的,这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。在这些组件之间的通讯中,主要是由Intent协助完成的。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。
2.4.1 抽象描述的内容
在Android参考文档中,对Intent的定义是执行某操作的一个抽象描述。
首先,是要执行的动作(action)的一个简要描述。
12
[3]基于Android的短信息备份系统设计 第三章 Android开发环境的搭建及测试
其次,是执行动作要操作的数据(data),Android中采用指向数据的一个URI来表示。
另外,除了action和data这两个重要属性外,还有一些附加属性: category(类别),被执行动作的附加信息。
type(数据类型),显式指定Intent的数据类型(MIME)。一般Intent的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不再进行推导。
component(组件),指定Intent的的目标组件的类名称。通常Android会根据Intent中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。
extras(附加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。
总之,action、data/type、category和extras一起形成了一种语言。这种语言使系统能够理解诸如“查看某联系人的详细信息”之类的短语。随着应用不断的加入到系统中,它们可以添加新的action、data/type、category来扩展这种语言。应用也可以提供自己的Activity来处理已经存在的这样的“短语”,从而改变这些“短语”的行为。
2.4.2 Android解析Intent的过程
在应用中,我们可以以两种形式来使用Intent: 1.直接Intent:
指定了component属性的Intent(调用setComponent(ComponentName)或者setClass(Context,Class)来指定)。通过指定具体的组件类,通知应用启动对应的组件。
2.间接Intent:
没有指定comonent属性的Intent。这些Intent需要包含足够的信息,这样系统才能根据这些信息,在在所有的可用组件中,确定满足此Intent的组件。
13
基于Android的短信息备份系统设计 第三章 Android开发环境的搭建及测试
对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些间接Intent,通过解析,将Intent映射给可以处理此Intent的Activity、IntentReceiver或Service。Intent解析机制主要是通过查找已注册在AndroidManifest.xml中的所有IntentFilter及其中定义的Intent,最终找到匹配的Intent。在这个解析过程中,Android是通过Intent的action、type、category这三个属性来进行判断的,判断方法如下:
(1)如果Intent指明定了action,则目标组件的IntentFilter的action列表中就必须包含有这个action,否则不能匹配;
(2)如果Intent没有提供type,系统将从data中得到数据类型。和action一样,目标组件的数据类型列表中必须包含Intent的数据类型,否则不能匹配。 (3)如果Intent中的数 …… 此处隐藏:2409字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




