android之多进程下Application.getSharedPreferences的取值

在AndroidManidest.xml
<application
        android:name="com.chat.IM"//与下面的类要一致
        android:allowBackup="true"
        android:icon="@drawable/qq_logo"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:theme="@android:style/Theme.NoTitleBar" >

com.chat.IM.java
public class IM extends Application{
	public static IM im;//单例
	public void onCreate(){
		super.onCreate();
		im = this;
	}

	public static boolean putString(String key, String value) {
		SharedPreferences settings = im.getSharedPreferences(key, 

MODE_PRIVATE);
		SharedPreferences.Editor editor = settings.edit();
		editor.putString(key, value);
		return editor.commit();
	}

	public static String getString(String key) {
		SharedPreferences settings = im.getSharedPreferences(key, 

MODE_PRIVATE);
		return settings.getString(key, "");
	}
}
第一次
在Activity里面
	保存数据 IM.putString("key", "123");
	取出数据 IM.getString("key");//得到的结果为123

现在先开了一个进程service(android:process=":push" )
	取出数据 IM.getString("key");//得到的结果为123

第二次
在Activity里面
	保存数据 IM.putString("key", "456");
	取出数据 IM.getString("key");//得到的结果为456

现在先开了一个进程service(android:process=":push" )
	取出数据 IM.getString("key");//得到的结果还是123

经过分析得出,这是之前的那个进程并没有结束,我在service里面的onDestroy()里面使用System.exit(0)结束掉这个进程就不会出现这个问题了

  

时间: 2025-01-13 01:31:30

android之多进程下Application.getSharedPreferences的取值的相关文章

easyui select 下拉框的取值和赋值

1.取值 //拍卖管理中示例 function serializeForm(form) { var obj = { auclotType : $('#auclotType').val(), goodsName : $('#goodsName').val(), stage : $('#stage').combobox('getValue'), isPublished : $('#isPublished').combobox('getValue'), status : $('#status').co

在properties.xml中定义变量,在application.xml中取值问题

如果为application.xml中的变量赋默认值,同时又在properties.xml中变量赋值,而加载后是取不到properties.xml中的值的问题. 解决这个问题需要加上黑体部分配置: <bean id="sysConfiguration" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property na

Javascript - IE8下parseInt()方法的取值异常

公司的测试小妹妹跑来对我说,下拉框第9项始终无法正确提交的时候,我还以为见鬼了. parseInt()会把'0'开头的数字以8进制来解析,当有大于7的数字时候就按10进制来解析. // parseInt语法定义:radix为可选参数,默认为10进制. parseInt(string,radix); 08.09两个数字默认当成8进制转换,未成功所以就返回0.,然而IE8很敬业地以8进制来解析,不顾10进制的感受. 解决方案:指定进制参数 parseInt(’08’,10);

关于下拉框的取值与显示问题

在w_yf_zymk_fyhz 问题:整个流程的怎样的 1.下拉框的添加 2.下拉框里面元素的添加 3.最后数据的检索,即sql后面的where条件是怎么添加的 4.在更改的过程有个报错,Type  of  expression must match , 5.下拉框的参数值的书写方式 (1) (2) 在这个数据窗口的右键,edit source 上面的代码没看懂什么意思

Jquery操作下拉框(DropDownList)实现取值赋值

Jquery操作下拉框(DropDownList)想必大家都有所接触吧,下面与大家分享下对DropDownList进行取值赋值的实现代码 1. 获取选中项: 获取选中项的Value值: $('select#sel option:selected').val(); 或者 $('select#sel').find('option:selected').val(); 获取选中项的Text值: $('select#seloption:selected').text(); 或者 $('select#sel

Struts的取值与标签

首先,我们都知道,在struts2中有一个valuestack.里面存放的就是action里的属性.同时,还有一个stackcontext,里面放的是map形式的request/session/attr/application. 在取值的时候 valuestack中的值 <s:property value="user.name"> 或在任意的<s:/>标签内使用%{}       (记得这个 在s标签内部 就得使用%{}  ) stackcontext中的值 &

int 取值范围

16位系统下:int的取值范围时-32768--32767,也就是 -2^15-2^15-1. 32位系统下:-2147483648-2147483647, 即 -2^31-2^31-1. 默认int=signed int. 规定 short int 取值范围不能大于int. long int 取值范围不能小于int. short 占2个字节,16个比特位 所以取值-2^15-2^15-1 int 4个字节 long 4个字节     32个比特位  所以取值 -2^31-2^31-1. flo

把指针作为形参,用于取值的用法。

指针作为函数的形参有两种用法:1.传值.2.取值.下面我们讨论下,使用指针取值的用法.指针之所以能够用来取值是作用域和生存周期的原因. (1)用一级指针取数值. int fun1(int* p) { *p = 3;// *p为整型变量,3为整数常量.如此两侧对等. } (2)用二级指针取一级地址值. int fun2(int** p) { int* pnew = (int*)malloc(sizeof(int)); *p = pnew;// *p是一级指针变量,pnew也是一级指针变量.如此两侧

jquery操作select取值赋值与设置选中

本节内容:jquery实现select下拉框的取值与赋值,设置选中的方法大全. 比如<select class="selector"></select> 1.设置value为pxx的项选中 复制代码代码示例: $(".selector").val("pxx"); 2.设置text为pxx的项选中 复制代码代码示例: $(".selector").find("option[text='pxx']