`
aswang
  • 浏览: 848008 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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 android:name="DemoApplication" 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中添加相关的同步代码来实现。

 

3
1
分享到:
评论
2 楼 kfc_davy 2011-12-22  
你觉得会有用嘛。
1 楼 jiapeng16 2011-10-30  
是个不错的贴啊

相关推荐

    Android中用Application类实现全局变量

    ### Android中用Application类实现全局变量 在Android开发过程中,我们常常需要在多个组件之间共享数据,例如存储用户的登录状态、应用配置等信息。通常情况下,开发者会利用`SharedPreferences`或者`...

    Android-Application被回收引发空指针异常分析(消灭全局变量

    1. 使用单例模式:创建一个单例类来保存全局变量,这样即使Application被回收,单例中的数据仍然可以保持。单例类应设计为静态内部类,以确保只有在首次使用时才会初始化。 2. 使用SharedPreferences:对于不需要...

    Eclipse编写的Android全局变量应用实例

    在Android开发中,全局变量的使用是相当普遍的,它们可以跨多个活动(Activities)或整个应用程序保持数据的持久性。本教程将基于Eclipse V4.2.0这一版本的集成开发环境(IDE),深入讲解如何在Android项目中创建和...

    android Application全局传值替代Intent

    在这个`MyApplication`类中,我们定义了一个静态成员`instance`来保存`Application`实例,以及一个`sharedValue`来存储全局变量。`onCreate()`方法用于初始化`instance`,并提供`getInstance()`方法以便在其他组件中...

    浅谈Android中关于静态变量(static)的使用问题

    - Application类在Android中作为一个全局单例,但它同样依赖于进程。进程被杀掉时,Application的实例也会被清空。尽管系统可以重建Application,但存储在其内部的数据将丢失,开发者需要自行处理这种情况。 5. **...

    Android编程中context及全局变量实例详解

    总结来说,理解并正确使用Context和全局变量是Android开发中的关键技能。合理选择Context类型可以避免内存泄漏,而自定义Application类则提供了方便的全局数据存储方案。在实际开发中,要根据需求选择合适的方法,并...

    Android编程获取全局Context的方法

    在`onCreate()`方法中,我们调用了`getApplicationContext()`来获取应用程序的全局Context,并将其存储在一个静态变量中。这样,即使在Activity或Service等组件之外,我们也能访问到这个全局的Context。 接下来,...

    Android应用源码之SpareParts.zip

    - 对于那些需要跨组件共享状态,但又不适合使用全局变量或静态成员的情况。 - 应用需要在后台运行或者被系统回收后能够快速恢复用户的工作流。 5. **最佳实践** 在实际开发中,正确使用SpareParts可以提高应用的...

    android 全局实例

    // 可能的全局变量或服务 private static MyGlobalApp instance; private SomeSharedData sharedData; @Override public void onCreate() { super.onCreate(); instance = this; // 初始化全局数据或服务 ...

    android简易计算器实现

    6. **全局变量**:为了实现连续计算,我们需要一个全局变量来存储中间结果。例如,可以创建一个`double`类型的变量`currentResult`,用于保存每次操作的结果,直到用户按下等号(=)按钮。 7. **按钮事件处理**:每...

    配置vim方便读取android反编译的smali文件

    保存退出即可"&gt;首先打开vim配置文件 sudo vim etc vim vimrc 然后插入 51 :set hlsearch #高亮搜索 52 set number #显式行号 53 :set showmatch 54 :set foldmethod expr #定义折叠方式为自定义表达式 55 ...

    android实现activity直接的传值问题

    如果数据需要全局访问,可以创建自定义Application类或BaseActivity,将数据作为成员变量保存,然后在需要的地方进行读取。但这同样需要注意内存泄漏的问题。 七、EventBus和RxJava 对于复杂的事件传递,可以借助...

    Android学习-画图着色

    这可以通过色彩选择对话框或者色彩滑块实现,然后将选择的颜色保存到全局变量中,供绘图时使用。填充功能则需要判断相邻像素是否颜色相同,通常采用 Flood Fill 算法来实现。 4. **保存与加载图片**:用户可能会想...

    Android开发 8.0及以上调用相机/相册,并根据Uri获取图像绝对路径,并进行文件上传

    首先创建一个文件,用于保存拍照图像,然后根据不同系统版本获取Uri,传递给Intent,然后调起相机(可以考虑将outputImage、imageUri设置为全局变量)。 3、处理回调 使用BitmapFactory读取imageUri,得到bitmap,...

    android与phonegap混合开发之相互跳转

    - 在Android的`shouldOverrideUrlLoading()`方法中解析这些参数,并保存到全局变量或者Intent中。 5. **处理返回值** - 当从原生Activity返回到PhoneGap页面时,可以使用`startActivityForResult()`方法启动...

    Android Application部分详解

    // 使用全局变量或方法 ``` #### 三、总结 本文从Android的运行机制入手,重点介绍了Application类的重要性和使用方法。通过本文的学习,读者应该能够更好地理解和运用Application类,从而提升Android应用程序的...

    linux系统android-studio-ide-193.6514223安装文件

    为了方便全局访问Android Studio,我们需要将其移动到可执行路径中,比如`/opt`目录。使用以下命令: ```bash sudo mv android-studio /opt/ ``` 接着,创建一个软链接到`/usr/bin`,使得我们可以在任何地方通过`...

    android摄像头拍照上传到服务器

    可以使用`$_FILES`全局变量获取上传文件的信息,例如文件名、类型、大小等。使用`move_uploaded_file()`函数将上传的文件移动到服务器的指定位置。 6. **错误处理与优化** 在整个过程中,需要考虑各种可能的错误,...

    Android开发日记本源代码

    在这个日记应用中,可能会有一个全局的`progress`变量来跟踪保存或读取日记的进度。通过更新这个变量,并结合Handler,可以在UI上动态显示保存进度,使用户了解操作的状态。 4. **日记文件存储**:Android允许应用...

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

    但是我们知道,在Java中全局静态变量(java中没有全局变量这一个概念,但是java提供了public static关键字来实现一些类似于全局变量的关键字)都是在程序加载时就放人到内存中,它是存储在方法区里的。如果程序不...

Global site tag (gtag.js) - Google Analytics