使用文件共享实现IPC
2016-11-28 15:35
323 查看
FourthActivity位于全局进程中android:process="com.zhoujian.android.romote" FifthActivity位于默认进程中 默认进程名为包名:com.zhoujian.android 在FourthActivity把数据写入文件中,在FifthActivity中获取文件中的数据,以此实现进程间通信 需要的权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> package com.zhoujian.android.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import com.zhoujian.android.R; import com.zhoujian.android.bean.Person; import java.io.File; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import butterknife.ButterKnife; import butterknife.InjectView; /** * Created by zhoujian on 2016/11/28. */ public class FourthActivity extends Activity { @InjectView(R.id.bt_start) Button mBtStart; //option+command+k 对生命周期方法进行排序 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fourth); ButterKnife.inject(this); clickEvent(); //把数据写入文件中 writeToFile(); } private void writeToFile() { new Thread() { @Override public void run() { Person person = new Person(true,2,"zhoujian"); String path = Environment.getExternalStorageDirectory().getPath()+"/cache/"; File f = new File(path); if(!f.exists()){ f.mkdirs(); } File cacheFile = new File(path+"person.txt"); ObjectOutputStream out=null; try { out = new ObjectOutputStream(new FileOutputStream(cacheFile)); out.writeObject(person); out.close(); } catch (Exception e) { e.printStackTrace(); } } }.start(); } private void clickEvent() { mBtStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(FourthActivity.this,FifthActivity.class)); } }); } @Override protected void onRestart() { super.onRestart(); } @Override protected void onStart() { super.onStart(); } @Override protected void onResume() { super.onResume(); } @Override protected void onPause() { super.onPause(); } @Override protected void onStop() { super.onStop(); } @Override protected void onDestroy() { super.onDestroy(); } } package com.zhoujian.android.activity; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.View; import android.widget.Button; import com.zhoujian.android.R; import com.zhoujian.android.bean.Person; import java.io.File; import java.io.FileInputStream; import java.io.ObjectInputStream; import butterknife.ButterKnife; import butterknife.InjectView; /** * Created by zhoujian on 2016/11/28. */ public class FifthActivity extends Activity { public static final String TAG = "FifthActivity"; @InjectView(R.id.bt_start) Button mBtStart; //option+command+k 对生命周期方法进行排序 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fifth); ButterKnife.inject(this); clickEvent(); readFromFile(); } private void readFromFile() { new Thread(new Runnable() { @Override public void run() { Person person = null; String path = Environment.getExternalStorageDirectory().getPath()+"/cache/"; File cacheFile = new File(path+"person.txt"); if(cacheFile.exists()) { ObjectInputStream in=null; try { in = new ObjectInputStream(new FileInputStream(cacheFile)); person = (Person)in.readObject(); Log.e(TAG,"person==="+person.toString()); in.close(); } catch (Exception e) { e.printStackTrace(); } } } }).start(); } private void clickEvent() { mBtStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } }); } @Override protected void onRestart() { super.onRestart(); } @Override protected void onStart() { super.onStart(); } @Override protected void onResume() { super.onResume(); } @Override protected void onPause() { super.onPause(); } @Override protected void onStop() { super.onStop(); } @Override protected void onDestroy() { super.onDestroy(); } }
相关文章推荐
- 【Android - IPC】之使用文件共享实现IPC
- 使用hub(集线器)连接局域网实现文件共享
- Ubuntu下使用Simba服务实现局域网内文件共享
- iOS_使用SMB实现局域网文件共享
- 使用SAMBA协议实现Linux与Windows系统之间的文件共享
- ios使用CocoaHTTPServer实现文件共享
- 使用samba实现linux,windows间文件共享
- Fedora core 6 Linux使用NFS挂装远程文件系统实现目录共享
- Ubuntu下使用Simba服务实现局域网内文件共享
- 使用NFS实现AIX之间文件网络共享[转载]
- [镜像制作]使用NFS实现Ubuntu的文件共享
- 使用C#实现对文件的共享
- 使用Flash Professional CS5.5实现不同源文件之间库资源共享
- 使用NFS实现AIX之间文件网络共享
- 使用VMware自带的文件共享功能实现主机与虚拟机中的linux的文件共享
- 使用Samba实现Fedora和Windows系统的文件共享
- 使用samba实现VMWARE 中 LINUX 与宿主机 WINDOWS的文件共享
- 使用文件加密共享系统实现机密文件的云存储
- 如何使用btsync通过网络实现计算机间的文件共享
- cookie禁用,如何使用session实现文件共享