Android Activity之间的Inter-process沟通
2010-06-01 15:47:00 来源:WEB开发网86. }
87. public void onClick(View arg0) {
88. finish();
89. }
90. }
其中的指令:ac01.appRef.setData("feedback from Activity_1."); 只有ac01与Activity_1两者都在同一个地址空间(即进程)才会有效。如果将AndroidManifest.xml里的< Activity >叙述修改为:
< activity android:name=".Activity_1" android:process=":remote" >
< intent-filter >
< action android:name="android.intent.action.VIEW" / >
< category android:name="android.intent.category.DEFAULT" / >
< /intent-filter >
< /activity >
其令Activity_1在独立的进行里执行,则上述指令:ac01.appRef.setData("feedback from Activity_1."); 就不对了。
那么,这种跨进程的情形下,该如何沟通呢?
使用SharedPreference
可以使用:
import android.content.SharedPreferences.Editor;
于是,可在Activity_1里撰写指令如下:
复制到剪贴板 Java代码
1. public class Activity_1 extends Activity implements OnClickListener {
2. private Button btn;
3. @Override
4. public void onCreate(Bundle icicle) {
5. super.onCreate(icicle);
6. …………………(省略)
7. Editor passwdfile = getSharedPreferences("ITEM", 0).edit();
8. passwdfile.putString("ITEM","feedback from Activity_1.");
9. passwdfile.commit();
10. }
11. …………………(省略)
12. }
13.
14. 并且,在ac01里撰写指令如下:
15.
16. public class ac01 extends Activity implements OnClickListener {
17. ………………………
18. @Override
19. public void onCreate(Bundle savedInstanceState) {
20. super.onCreate(savedInstanceState);
21. ………………………
22. }
23. @Override
24. public void onResume(){
更多精彩
赞助商链接