Android

关注公众号 jb51net

关闭
首页 > 软件编程 > Android > Android两个Activity之间共享数据及互相访问

Android编程实现两个Activity之间共享数据及互相访问的方法

作者:wanqi

这篇文章主要介绍了Android编程实现两个Activity之间共享数据及互相访问的方法,简单分析了Android中Activity数据共享与访问的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Android编程实现两个Activity之间共享数据及互相访问的方法。分享给大家供大家参考,具体如下:

本人从windows编程转过来学习Android开发,一直在想如果两个Activity之间能够像C#或delphi中的Form一样,可以直接访问其成员(字符、数值、成员对象等),并能调用其公开的方法,那应该比用Intent来传递数据直接方便的多,于是偿试了如下办法,测试基本没有问题,发出来大家讨论一下。本人学习android不久,幼稚的地方希望大家不要见笑

原理:假设有两个Activity:ActivityMain 和 ActivityNew,在 ActivityMain 中启动 ActivityNew,而在 ActivityNew 可以访问 ActivityMain 中的成员对象,调用其公开的方法。那么先在 ActivityMain 中定义一个静态的成员变量,类型为 ActivityMain ,然后在 OnCreate过程中,将ActivityMain 的实例this赋值给该成员:

public class ActivityMain extends Activity {
 public static ActivityMain MainAct; //定义一个本类型的成员变量
 String GetStr(){
  return "shao jian";
 }
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main); 
  MainAct = this; //在这里将本实例赋值给静态成员变量
 }
...
}

在ActivityNew中访问ActivityMain中的成员变量和方法:

public class ActivityNew extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  String title = bundle.getString("Title");
  title = MainActicivity.MainAct.GetStr(); //调用成员方法
  t.setText(title.trim());
  super.onCreate(savedInstanceState);
 }
}

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:
阅读全文