毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
基于Android的手机信息查询助手中软件查询信息模块设计(3)
Libraries层:即核心类库。这一层提供了动态库(也是共享库)、Android运行时库、Dalvik虚拟机等。在这一层中也真正体现了开源库这一特点,开发工程师可以根据需求设计出新的库,满足用户需要。和框架层相比,这一层需要单独加载到进程空间中运行。Android运行时库既包含了大多数Java类库以及接口,同时也加入Android的SDK,这样使功能更加丰富了。Dalvik虚拟机主要任务是对任务进程的管理,垃圾回收等。
Framwork层:即框架层,它是Android系统框架中最核心的部分。Framwork层的框架提供一些设计程序时必须遵循的标准,在标准之上进行必要的扩展。Framwork层提供了多种系统服务,在图2.1上可以清晰看到,一共有10个系统服务,包括窗口管理器,包资源管理器,视图管理器等等。每个服务机制都运行在独立的线程当中,不会互相影响。
Applications层:即应用层,应用层和用户是密切相关的,Android手机上丰富多彩的App即是在应用层开发出来的,开发者利用Java语言进行编写,利用SDK编写自己的程序,进而这些程序才能丰富地呈现在用户的面前。
2.2 Android的四大组件:
Activity :
在Android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示布局控件并能绑定监听器对相应事件作出响应。
Activity之间是通过Intent进行
通信
的。Intent相当于连接两个Activity的桥梁。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。Intent有显示Intent和隐示Intent之分,显示Intent通过startActivity()方法连接两个Activity,而隐示Intent主要对应IntentFilter标签下的name,根据这个指定Intent。
Activity拥有比较完整的生命周期,在Android操作系统中,Activity算是一个比较重量级的组件了,比起类似功能的fragment,它启动的时间可能要更长一点。另外,Activity之间的切换可以从一个程序的内部进行切换,也可以从两个不同程序之间进行切换。
Activity也可以传递参数,一般是用Bundle类绑定数据,在另一个Activity中解绑定即可。如果要返回数据到前一个Activity,这时候就要用startActivityForResult()方法取代startActivity()方法,这样在另一个Activity返回到前一个Activity的时候,前一个Activity的数据保持不变。
BroadcastReceive广播接收器:
BroadcastReceive广播接收器主要是用于侦听广播事件的,比如在运行Activity的时候突然接到电话或者收到短信,这时要通知活动如何去处理,一般BroadcastReceive也是有固定生命周期的,它的生命周期和Service类似,从onCreate()到onDestroy()这一过程就是它的生命周期。
一般我们用Broadcast广播事件来接收事件广播和系统广播。事件广播的使用方法很简单,只需要用到sendBroadcast方法,其传递的参数是一个Intent,而Intent是可以传递一些简单数据的,如果不需要用到Bundle,直接调用putExtra方法即可。接收事件需要继承类BroadcastReceiver,在onReceive方法中接收到Intent,然后得到传递的数据信息。而发送系统广播消息要稍微复杂一些,首先要在Xml文件中去声明receiver,补全它的name等属性。然后系统广播消息一般由系统发出,我们需要定义一个类去接收它,如短息,电话等的呼入事件,是系统广播消息。定义的类也同样要继承自BroadcastReceiver,同时我们也需要在代码中去手动注册Receiver。广播类型一般分为普通广播,有序广播,异步广播,在这里不作详细阐述。
Service 服务:
Service与BroadcastReceive一样,没有用户界面,一般放在后台运行,处理一些耗时的工作,这样用户体验较好。
Service的应用例子有很多,一般用在
网络
通信和本地
音乐
播放上面。比如在一个媒体播放器的应用中,会有很多Activity,包括选择歌曲,查看排行榜,收藏页面,播放歌曲等等。但是当我们从一个Activity切换到另一个Activity的时候,音乐应该还是要保持播放状态的,不然就太影响用户体验了,音乐播放停止应该由用户手动控制,所以就不能在Activity中设置音乐播放状态了。在这个例子中,媒体播放器这个Activity 可以使用Context.startService()来启动一个Service,在Service中写上音乐播放的代码。因为启动了startService()这个方法,所以这个服务会一直在后台保持运行,Service结束的时机应该是按了结束按钮调用了stopService()方法。另外,如果想在退出程序的时候音乐也随之停止,就要在主Activity中使用bindService()方法绑定到一个Service 上。当成功连接到一个Service之后,Service会向启动它的Activity返回一个连接是否成功的方法,主Activity可以用这个方法和Service保持联系。
共4页:
上一页
1
2
3
4
下一页
上一篇:
java快递公司发送流程管理系统的设计与实现
下一篇:
基于Android的在线订餐系统的设计与实现
Android手机考勤平台的设计与实现
基于android的环境信息管理系统设计
java+mysql班级评优系统的设计实现
Python+mysql宠物领养平台的设计与实现
ASP.NET飞翔租贷汽车公司信...
基于激光超声检测金属材...
多频激励下典型非线性系统的振动特性研究
上海居民的社会参与研究
酵母菌发酵生产天然香料...
浅论职工思想政治工作茬...
浅谈高校行政管理人员的...
提高教育质量,构建大學生...
从政策角度谈黑龙江對俄...
AES算法GPU协处理下分组加...
基于Joomla平台的计算机学院网站设计与开发
压疮高危人群的标准化中...
STC89C52单片机NRF24L01的无线病房呼叫系统设计