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程序设计有所帮助。

(0)

相关推荐

  • android编程实现设置、打开wifi热点共享供他人连接的方法

    本文实例讲述了android编程实现设置.打开wifi热点共享供他人连接的方法.分享给大家供大家参考,具体如下: 用过快牙的朋友应该知道它们在两天设备之间传输文件的时候使用的是wifi热点,然后另一台便连接这个热点再进行传输.快牙传输速度惊人应该跟它的这种机制有关系吧.不知道它的搜索机制是怎样的,但我想应该可以通过热点的名字来进行判断吧.下面我们就来探讨一下如何自动创建一个wifi热点吧 创建wifi热点首先需要手机支持,建议开发的哥们整个好点的手机,我们公司那些个山寨设备,几近有一半是不支持热

  • Android实现不同apk间共享数据的方法(2种方法)

    本文实例讲述了Android实现不同apk间共享数据的方法.分享给大家供大家参考,具体如下: Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户(Android 系统是基于Linux)的. 所以不同APK(用户)间互相访问数据默认是禁止的. 但是它也提供了2种APK间共享数据的形式: 1. Share Preference. / Content Provider APK可以指定接口和数据给任何其他APK读取. 需要自己实现接口和Sh

  • Android开发中多进程共享数据简析

    背景 最近在工作中遇到一个需求,需要在接收到推送的时候将推送获得的数据存起来,以供app启动时使用.我们会认为这不是So easy吗?只要把数据存到SharedPreferences中,然后让app打开同一个SharedPreferences读取数据就可以了.但是在实际的测试中,我们发现推送进程存入的数据,并不能在app进程中获得.所以这是为什么呢,也许聪明的读者从我们上面的陈述中已经发现了原因,因为我们有两个进程,推送进程负责将推送数据存入,而app进程负责读取,但是正是由于是两个进程,如果它

  • android不同activity之间共享数据解决方法

    最近做局域网socket连接问题,要在多个activity之间公用一个socket连接,就在网上搜了下资料,感觉还是application方法好用,帖出来分享下! Android中在不同Activity中传递变量,通常使用Intent中Bundle添加变量的操作方法. 保存参数时: 复制代码 代码如下: Intent intent = new Intent(); intent.setClass(A.this, B.class); Bundle bundle = new Bundle(); bun

  • Android设备间实现蓝牙(Bluetooth)共享上网

    Android设备之间可以除了通过wifi热点共享上网,还可以通过蓝牙共享上网,后面这个功能很少人使用,但适合某台设备没有wifi却有蓝牙的情况. 一.设置WT19i,系统设置>无线连接>网络共享>开启蓝牙共享网络(这步很多人忽略,导致无法上网) 二.开启N7 二代蓝牙并配对,返回WT19i,已配对设备>配置>开启互联网连接共享 三.设置N7 二代,已配对设备>配置>开启互联网访问(第二步主机共享没开启的话这里也无法开启) 测试效果良好,访问网络正常,Androi

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

    本文实例讲述了Android编程实现两个Activity之间共享数据及互相访问的方法.分享给大家供大家参考,具体如下: 本人从windows编程转过来学习Android开发,一直在想如果两个Activity之间能够像C#或delphi中的Form一样,可以直接访问其成员(字符.数值.成员对象等),并能调用其公开的方法,那应该比用Intent来传递数据直接方便的多,于是偿试了如下办法,测试基本没有问题,发出来大家讨论一下.本人学习android不久,幼稚的地方希望大家不要见笑 原理:假设有两个Ac

  • Android编程实现两个Activity相互切换而不使用onCreate()的方法

    本文实例讲述了Android编程实现两个Activity相互切换而不使用onCreate()的方法.分享给大家供大家参考,具体如下: 这里要实现的目的是: 有3个Activity: A,B,C,从A中可以进入B,B中可以进入C,并且B和C之间可能需要多次相互切换,因此不能使用普通的startActivity-finish方式,因为重新创建Activity比较耗时.当这个Activity内容比较多时,重复创建很大的影响了流畅性.(即实现类似于QQ上 选择照片页面-选择相册页面,这两个页面可能多次相

  • Android 中两个Activity 之间的传值问题

    Android 中两个Activity 之间的传值问题 在Android项目中,有时需要一些全局的静态变量来保存一些数据,这样在关闭赋值界面后,其他的页面还可以调用这些数据. 但是我们知道,在Java中全局静态变量(java中没有全局变量这一个概念,但是java提供了public static关键字来实现一些类似于全局变量的关键字)都是在程序加载时就放人到内存中,它是存储在方法区里的.如果程序不结束,它将一直存在.这是会影响到系统的性能的.那么在android中可不可以不通过这种方式来传递值呢?

  • Android传递Bitmap对象在两个Activity之间

    通过内部存储方式实现了在两个Activity之间传递Bitmap对象以及其它支持串行化的Java对象,关键点有如下: 1.  HTTP客户端下载图片,通过ImageView对象显示 2.  把ImageView上的Bitmap对象从当前Activity传递到另外一个Activity中并显示出来 3.  基于串行化传递Java对象数据 首先看我是怎么实现HTTP客户端下载图片,通过异步Task接口实现HTTP客户端下载图片并通过Handler来更新ImageView,代码如下: package c

  • Android编程实现计算两个日期之间天数并打印所有日期的方法

    本文实例讲述了Android编程实现计算两个日期之间天数并打印所有日期的方法.分享给大家供大家参考,具体如下: 以下代码是计算两个日期之间的天数,并打印所有日期 注:开始时,增加天数时,一天的毫秒数直接用24*60*60*1000来逐步增加天数,再测试时发现,当两个日期之间的天数超过24天时,打印的日期反而在开始日期之前了,(如打印2016/12/18-2017/1/23,打印的日期反而有2016/12/1),后来发现原因在于24*60*60*1000是一个int值,int值的取值范围在2的31

  • Android开发两个activity之间传值示例详解

    目录 使用Inten的putExtra传递 使用Intention的Bundle传递 使用Activity销毁时传递数据 SharedPreferences传递数据 使用序列化对象Seriazable 使用静态变量传递数据 handler 使用Inten的putExtra传递 第一个Activity中 //创建意图对象 Intent intent = new Intent(this,MainActivity2.class); //设置传递键值对 intent.putExtra("name&quo

  • Android Activity之间的数据传递方法总结

    前言 在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递方法. 1.通过 Intent 传递 我们在进行 Activity 跳转时,是要有 Intent,此时 Intent 是可以携带数据的,我们可以利用它将数据传递给其它Activity.Intent 应该是系统提供的支持类型最广,功能最全面的传递方式了.基本数据类型.复杂数据类型(如数组.集合).自定义数据类型等等都能支持,而且使用起来也不复杂.下面将通过几

  • Android编程四大组件之Activity用法实例分析

    本文实例讲述了Android编程四大组件之Activity用法.分享给大家供大家参考,具体如下: 这里详细介绍如何创建Activity.生命周期.内存管理.启动模式. 创建Activity 一.定义Activity 1. 定义Activity 定义类继承Activity 2.在AndroidManifest.xml的节点中声明<activity> 显式意图创建Activity三种方式方式 //第一种方式:构造函数,代码少 Intent intent1 =new Intent(this,NewA

  • Android编程获取并设置Activity亮度的方法

    本文实例讲述了Android编程获取并设置Activity亮度的方法.分享给大家供大家参考,具体如下: 此API只适合2.1以上版本: /** * 判断是否开启了自动亮度调节 * * @param aContext * @return */ public static boolean isAutoBrightness(ContentResolver aContentResolver) { boolean automicBrightness = false; try { automicBright

随机推荐