Android 全局变量的使用

使用场景:

需要在多个activity或者service之间共享数据

1、自定义Application

public class DemoApplication extends Application {
    private HashMap<String, Object> map = new HashMap<String, Object>(); 

    public void put(String key,Object object){
        map.put(key, object);
    } 

    public Object get(String key){
        return map.get(key);
    }
}

2、修改AndroidManifest.xml文件:

<application <strong><em>android:name="DemoApplication"</em></strong> android:icon="@drawable/app" android:label="@string/app_name">

注意黑色粗体字标识的内容,指定程序使用我们自己定义的Application。

3、使用:

在其中一个activity中将数据保存到application中定义的map中

DemoApplication app = (DemoApplication)getApplication();
app.put("key", "this is a test!");

然后在另一个activity中去获取数据:

DemoApplication app = (DemoApplication)getApplication();
String value =(String)app.get("key");
Toast.makeText(this, value, Toast.LENGTH_LONG).show();

注意,这里没有考虑并发问题,如果需要,可以在自定义的application中添加相关的同步代码来实现。

时间: 2024-10-09 22:59:13

Android 全局变量的使用的相关文章

Android全局变量使用

1.通过一个Data.java实例类,能够实现全局数据保存,这里就不多说了,学Java的都知道. 2.Android特有的Application,是应用的入口,执行贯穿整个app执行过程,能够在这个类中定义全局变量 public class baseApplication extends Application { private float screenWidth; private float screenHeight; public float getScreenWidth() { retu

Android 全局变量

使用Application设置全局变量 Application设置全局变量是官方推荐的全局变量设置方法,我们首先新建一个class继承Application package com.example.liu.mother; import android.app.Application; /** * Created by liu on 2015/5/30. */ public class quanju extends Application { private String mum; @Overri

Android全局变量的设置

Boolean类型 自写类 package com.barcode.app; public class ExternData { private static Boolean a = true; public static Boolean getA() { return a; } public static void setA(Boolean a) { ExternData.a = a; } } 对其进行调用 if (ExternData.getA()) { ExternData.setA(fa

【Android 应用开发】 Application 使用分析

博客地址 : http://blog.csdn.net/shulianghan/article/details/40737419 代码下载 : Android 应用 Application 经典用法; -- Github : https://github.com/han1202012/ApplicationDemo -- CSDN : http://download.csdn.net/detail/han1202012/8127247 一. Application 分析 1. Applicati

listview分页载入问题

方案一: 底部有查看很多其它能够使用HeaderViewListAdapter 假设须要加入数据, 就向Adapter绑定的数据里面加入. 然后调用Adapter.notifyDataSetChanged()方法, ListView会自己主动刷新; public class HeaderViewListAdapter extends Object implements Filterable WrapperListAdapter java.lang.Object    ? android.widg

android开发入门:android使用全局变量

android使用全局变量的方法有很多,但是简单好用的方法却很少,前段时间在麦子学院android开发视频教程上面发现一个很好的方法:  public class MyApp extends Application {  private Integer[] state;  public Integer[] getState() {  return state;  }  public void setState(Integer[] state) {  this.state = state;  } 

android自己定义Application全局变量不能类型转换的问题

今天弄了个全局变量AppContext ,但一直出现例如以下错误,原来继承 Application的得在清单文件声明. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.langteng.shiliao/com.langteng.shiliao.activity.MainActivity}: java.lang.ClassCastException: android.app.Application can

Android开发系列之全局变量

项目开发的过程中,可能会大量的使用全局变量,在android开发中,大多数人更偏向于使用application来保存全局变量.那么我们就先来了解下在android中,application究竟是什么?有什么作用? Application类是用来维护应用程序全局状态.我们可以提供自己的实现,并在AndroidManifest.xml文件的<application>标签中指出它的名字,这将导致在创建应用程序时去实例化我们自己的Application类.Android系统会为每个程序运行时创建一个A

android自定义Application全局变量不能类型转换的问题

今天弄了个全局变量AppContext ,但一直出现如下错误,原来继承 Application的得在清单文件声明. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.langteng.shiliao/com.langteng.shiliao.activity.MainActivity}: java.lang.ClassCastException: android.app.Application canno