- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android核心功能.doc
Android核心功能
作者: baiyuzhong分类:图书推荐??阅读:2,430 界面框架
每个AndroidAndroid到底能够打造怎样的用户界面(User?Interface,UI)。Android界面框架中最有特色的部分是资源(Resource)和布局(Layout)体系,通过完善的控件库和简明的接口设计,开发者可以尽快搭建自己需要的界面。
Android的每个交互界面都由一棵控件树构成。控件树中的控件(Widget)对象皆派生自android.view.View类,而其中非子节点的控件都派生自android.view.ViewGroup类,可称之为容器控件。控件树中的控件都受其父控件的管理,父控件会负责子控件的丈量和绘制,并向子控件分发交互事件。
Android的每个控件都有焦点、可视性、可用性、标识、背景等诸多控件属性。而为了获取用户与控件的交互事件(UI?Events),可以为控件添加各种交互事件监听对象(Event?Listener),它的设计采用了观察者模式。
Android中最有特色的控件,当属布局控件(Layout?Widget)。这是一种自容器控件,其主要任务并不是展示自己,而是按不同的方式排列其中的子控件。比如,线性布局控件(android.widget.LinearLayout)会将其中的子控件按水平或竖直方向依次排列,而表格布局控件(android.widget.TableLayout)则会依照构造的行列结构摆放控件。
为了帮助开发者逃离界面开发的“泥沼”,AndroidApplication?Resources)体系。所谓完整,就是Android将所有和界面相关的元素,比如界面布局、文字信息、尺寸信息、颜色和图像等,都从代码中剥离出来,用应用资源来进行描述。Android的应用资源由资源目录、XML资源文件和数据资源文件共同构成。XML文件比逻辑化的代码更适合描述界面这样的结构化概念,而Android用特殊的资源目录结构来针对移动设备的屏幕特征、语言环境和外部设备等特征部署资源文件,以此来解决设备的兼容性问题。
对于开发者而言,高效地构架产品所需的界面效果是最重要的一件事情。所谓高效,包括开发效率要高,同时也包括界面交互时更流畅,加载速度更快。本书的第78章会对Android的界面框架进行详细的介绍,其中,会结合一些优秀的界面实现来实际探索如何构建足够高效的交互界面。
数据存储
对于很多应用而言,大到复杂的结构化数据,小到简单的设置信息,都有数据存储的需求。广义上看,应用数据存储有两种方式:一种是将数据存放在本地存储设备中;而另一种则是通过网络,将数据存储在远端服务器中,也就是常说的“云存储”。
AndroidContent?Provider),其他应用的组件可以通过数据源组件的接口访问它所提供的数据;而另一个常用的策略是将数据放入扩展存储设备(通常是SD卡等扩展存储卡)中,在该存储设备中的数据,可以被所有应用共同访问。比如,Android的多媒体数据文件通常存储在扩展存储设备中,以便各个图像应用、音乐播放应用等读写。?
Android对本地数据的存储,可以有多种文件格式,比如普通数据文件、设置文件和数据库,等等。设置文件(Preferences)是专门针对存储应用设置信息而设计的,它依照键值对的形式进行保存,Android从界面到存储都做了完整的支持。而Android的数据库依靠Sqlite的支持,在android.database包中提供了更为便捷的读写类库支持,开发者可以使用SQL语言或者结构化的数据对象对数据库进行增、删、改、查等操作。
本地数据存储有其天生的弊端,当用户更换设备或卸载应用时,存储在本地的数据就会丢失。为了解决这个问题,在Android?2.2Google提供的远端服务器中(所谓的云端)。这样,即使存储在本地的数据遗失了,也可以通过网络再同步回来,既保证了数据安全性,又有利于改善用户体验。
在实际开发中,数据存储最重要的是策略合适。面对不同的数据应该用怎样的策略存储比较合适,需要综合性能、简单性、可靠性等多种因素来考虑。
网络通信
如今的移动设备早就不再是一个信息孤岛,种类繁多的网络接入方式,使得它可以和其他设备互联互通、传递消息。
在AndroidHTTP或Socket与远端服务器建立连接,而不需要关心是通过GPRS、EDGE、3G还是WiFi来建立的。Android不仅支持点到端的连接,同样还支持点到点的蓝牙连接、NFC连接等。蓝牙的实现,主要依托于开源项目BlueZ。
Android不断地支持各种新的设备间连接手段,比如,持续地对NFC的改进,对WiFi直连的支持(从4.0开始),对于开发者而言,了解这些新的特性,也就是掌握了未来的方向。
除了网络连接方面的支
文档评论(0)