首页 app开发 正文

安卓两个类之间交换数据库(2个安卓手机如何交换数据)

app开发 14
本篇文章给大家谈谈安卓两个类之间交换数据库,以及2个安卓手机如何交换数据对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 Android 进程间通信的几种实现方式 Android 进程间通信的几种实现方式主要有4种方式:这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。

本篇文章给大家谈谈安卓两个类之间交换数据库,以及2个安卓手机如何交换数据对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

Android 进程间通信的几种实现方式

Android 进程间通信的几种实现方式

主要有4种方式:

这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。

主要实现原理:

由于应用程序之间不能共享内存。为了在不同应用程序之间交互数据(跨进程通讯),Android SDK中提供了4种用于跨进程通讯的方式进行交互数据,实现进程间通信主要是使用sdk中提供的4组组件根据实际开发情况进行实现数据交互。

详细实现方式:

Acitivity实现方式

Activity的跨进程访问与进程内访问略有不同。虽然它们都需要Intent对象,但跨进程访问并不需要指定Context对象和Activity的 Class对象,而需要指定的是要访问的Activity所对应的Action(一个字符串)。有些Activity还需要指定一个Uri(通过 Intent构造方法的第2个参数指定)。 在android系统中有很多应用程序提供了可以跨进程访问的Activity,例如,下面的代码可以直接调用拨打电话的Activity。

Intent callIntent = new  Intent(Intent.ACTION_CALL, Uri.parse("tel:12345678" );  

startActivity(callIntent);

Content Provider实现方式

Android应用程序可以使用文件或SqlLite数据库来存储数据。Content Provider提供了一种在多个应用程序之间数据共享的方式(跨进程共享数据)

应用程序可以利用Content Provider完成下面的工作

1. 查询数据

2. 修改数据

3. 添加数据

4. 删除数据

Broadcast 广播实现方式

广播是一种被动跨进程通讯的方式。当某个程序向系统发送广播时,其他的应用程序只能被动地接收广播数据。这就象电台进行广播一样,听众只能被动地收听,而不能主动与电台进行沟通。在应用程序中发送广播比较简单。只需要调用sendBroadcast方法即可。该方法需要一个Intent对象。通过Intent对象可以发送需要广播的数据。

Service 实现方式

常用的使用方式之一:利用AIDL Service实现跨进程通信

这是我个人比较推崇的方式,因为它相比Broadcast而言,虽然实现上稍微麻烦了一点,但是它的优势就是不会像广播那样在手机中的广播较多时会有明显的时延,甚至有广播发送不成功的情况出现。

注意普通的Service并不能实现跨进程操作,实际上普通的Service和它所在的应用处于同一个进程中,而且它也不会专门开一条新的线程,因此如果在普通的Service中实现在耗时的任务,需要新开线程。

要实现跨进程通信,需要借助AIDL(Android Interface Definition Language)。Android中的跨进程服务其实是采用C/S的架构,因而AIDL的目的就是实现通信接口。

总结

跨进程通讯这个方面service方式的通讯远远复杂于其他几种通讯方式,实际开发中Activity、Content Provider、Broadcast和Service。4种经常用到,学习过程中要对没种实现方式有一定的了解。

怎样用android连接手机终端和sqlite数据库进行数据交换?

Android是有自带的类库的:SQLiteOpenHelper,使用的时候继承这个类,然后写逻辑就可以,一般使用单例模式:

public synchronized static DBHelper getDBHelper(Context context) {

if (helper == null) {

helper = new DBHelper(context);

}

return helper;

}

private DBHelper(Context context) {

super(context, "你自己的数据库名", null, 数据库版本);

}

使用的时候也很简单,下面是一个删除操作:

public synchronized void deleteSite(String packname) {

SQLiteDatabase db = getWritableDatabase();

try {

db.beginTransaction();

db.delete("site", "packname=?", new String[] { packname });

db.setTransactionSuccessful();

} finally {

db.endTransaction();

if (db != null) {

}

}

}

如何在两个不同的软件之间进行数据交换?在操作系统有一个操作可实现

不同的软件之间进行数据交换,就是说两个软件有相同是数据接口,可操作同类数据库文件,比如都能操作access数据库,excel表等。通过软件的输入输出功能进行数据交流!

Android怎么和服务器交换数据

数据库无所谓。客户端写webservice接口或者写http接口,手机请求数据,服务器处理即可

关于安卓两个类之间交换数据库和2个安卓手机如何交换数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

安卓两个类之间交换数据库
扫码二维码