IPC机制--使用文件通信
2017-02-26 21:56
519 查看
为什么使用共享文件进行通信?
共享文件是一种不错的进程间通信方式,两个进程通过读/写同一个文件来进行数据交换,由于Android系统基于Linux,使得并发读、写不受限制,所以这可能出问题,但是对于一些时效性要求不严格的进程通信,使用文件也是不错的方式。如何进行文件通信?
1. 需要交换的数据可以序列化
这里直接使用我们已经实现了Serializable和Parcelable接口的User作为例子2. 将数据写入共享文件
ObjectOutputStream out = null; try { out = new ObjectOutputStream( new FileOutputStream(MyConstants.CACHE_FILE_PATH)); out.writeObject(new User("测试玩家", "num123")); Intent intent2 = new Intent(this, FileActivity.class); startActivity(intent2); } catch (IOException e) { e.printStackTrace(); } finally { try { out.close(); } catch (IOException e) { e.printStackTrace(); } }
3. 在目标进程组件中恢复
new Thread(new Runnable() { @Override public void run() { User user = null; File cacheFile = new File(MyConstants.CACHE_FILE_PATH); if (cacheFile.exists()){ try { ObjectInputStream in = new ObjectInputStream(new FileInputStream(cacheFile)); try { user = (User) in.readObject(); Log.d(TAG, "onCreate: userName = " + user.getName()); Log.d(TAG, "onCreate: id = " + user.getId()); } catch (ClassNotFoundException e) { e.printStackTrace(); } } catch (IOException e) { e.printStackTrace(); } } } }).start();
相关文章推荐
- IPC机制--使用Bundle进行通信
- 【Android开发艺术探索】IPC机制(四)-使用AIDL进行跨进程通信
- AIDL/IPC Android AIDL/IPC 进程通信机制——超具体解说及使用方法案例剖析(播放器)
- IOS的消息传递机制,使用NSNotificationCenter进行通信,很实用
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- SCCM 和 SMS 2003 中 hardware inventory 使用的MOF文件的工作机制
- 使用netlink机制在内核与应用程序之间通信(转载)
- inotify + rsync实现linux文件实时同步,使用触发同步机制
- Java Socket实战之七 使用Socket通信传输文件
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android中RemoteService的使用详解(Aidl、IPC机制)
- 使用文件映射实现进程通信
- 十分棘手的问题,使用vs2005在文件系统机制下开发出来的web程序,配置到iis就不能正常运行?
- 使用netlink机制在内核进程和用户空间进程通信
- Java Socket实战之七 使用Socket通信传输文件
- 在php中使用UNIX System V IPC机制共享应用程序数据
- inotify + rsync 使用触发同步机制 实现文件 "实时同步"
- 使用信号灯实现互斥机制的文件写操作
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- 使用反射机制动态加载配置文件