Android程序思想

1, Java源程序思想

 

Android程序的主题是Java, 大部分的Java程序经过修改都可以再Android上运行。但是它与普通的J2ME的开发还是有些不同。

 

1, Intent

Intent是Android中重要的概念, 它贯穿Android的应用层, 是Android平台的经脉。

(1) Intent 具有跨进程的特性, 相对于PC系统,手机系统对各个模块部分有有紧密的联系, 无论是短信, 电话还是音乐播放器都需要与其他应用密切的交互。比如,接电话需要对媒体播放的声音进行静音等。因此无论是传统的非智能手机平台还是智能手机平台, 都是以消息机制为核心的。消息机制都是为了跨进程边界整合一套系统框架以及应用框架。处于并发和模块化得考虑, 多模块, 多进程的思路用的很多, 而用于联系这些模块之间的消息机制,也就相应的成了平台的核心了。Intent 甚至可以用来启动新进程来运行服务或整个应用, 跨进程的特性可见一般。

(2) Intent 具有更大的灵活性,体现之一就是Intent 的处理模块是动态绑定的。传统的消息机制一般是通过注册处理函数来实现消息分发,通常注册后就一直绑定并使用。Intent 的灵活性在于它的处理模块是由运行时动态决定的,自动或让用户手工选择最优的处理模块。

例如:

Uri callUri = Uri.parse("tel:10086");

returnIt = new Intent(Intent.ACTION_CALL, callUri);

startActivity(returnIt);

2, Binder 带来更高性能的通信整合

相对于Intent 这样低效的消息处理方式, Binder 机制带来的是高效的进程间通信, 由此带来更高性能的功能模块整合。 因此, Intent 大多用在应用层的功能整合, 而 Binder则大多用在系统层的功能整合。 Android 框架大量使用了Binder 来提供各个组成部分的功能服务。

3, 数据存储方面

Content Provider 是 Android 的 4 个组件之一, 它对外提供一致的数据访问接口。 在一个系统中,应用程序需要有一种数据存储机制。一般文件系统是最常用的数据共享方式。在 Android 的数据存储系统则有些独特的方面, 所有的应用程序的数据为该应用软件私有。

Content Provider 作为标准的数据存储和取回的方式, 也可以使用URI 来表示,也可以在应用程序间获得数据共享。 无论是否希望让应用程序和其他应用共享数据,都可以使用4种不同的机制来存储数据:

参数选项(Preferences)

文件(Files)

数据库(Databases)

网络(Network)

 

参数选项(Preferences)是一种轻量级的数据存储方式, 它使用Android 中的 android.content 包中的 SharedPreferences 类。

 

文件(Files) :

public abstract FileInputStream openFileInput(String name)

public abstract FilePutputStream openFileOutput(String name, int mode)

他们返回的分别是FileInputStream 和 FileOutputStream 都是Java的标准类。

 

数据库(Databases) 是一种比较完善的数据共享方式。使用android.database.sqlite包, 其中 SQLiteClosable 是数据库的基类,而SQLiteDatabase继承了SQLiteClosable。 使用这个类中的函数。 

 

网络(Network) ,在 Android 中使用java 的标准包java.net. */

 

无论使用哪种方式,都可以封装成一个Content Provider,对外提供数据。

实现一个Content Provider的流程如下:

1,继承Content Provider类

2,定义public static final 的 Uri 类型的变量, 并命名为CONTENT_URI, 需要设置好 Uri的,标准头部,授权,数据类型等部分。

3,用上文提到的集中方式构建用户数据存储。

4,实现ContentProvider 类中的抽象方法,特别是数据访问相关的 insert , query , delete, update 等。

完成以上几步,授权过的程序便可以通过一个CONTENT_URI, 使用一只的ContentProvider接口访问用户存储的数据了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值