码迷,mamicode.com
首页 > 移动开发 > 详细

AndroidSharedpreference数据共享

时间:2015-05-16 16:35:13      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:android   数据   security   

一个应用访问另一个应用的数据。前提是被访问应用的数据必须是全局可见的。

步骤:

1、获取另一个应用的上下文 

packageName是应用的包名

other=createPackageContext(packageName, CONTEXT_IGNORE_SECURITY);

2、获得SharedPreferences对象。


具体demo代码如下:

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

	
	}
	
	public void onPhone(View v){
		
		Intent intent = new Intent(
				Intent.ACTION_CALL,
				Uri.parse("tel:"
						+getOherAppXml("com.example.phonewrite") 
								));
		
		startActivity(intent);
		MainActivity.this.finish();
		System.exit(0);
	}
	
	private String getOherAppXml(String packageName){
		Context other=null;
		try {
			other=createPackageContext(packageName, CONTEXT_IGNORE_SECURITY);
			SharedPreferences preferences=other.getSharedPreferences("Config", other.MODE_WORLD_READABLE);
			
			return preferences.getString("phone", "13047220888");
		} catch (NameNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return null;
		
	}

	

}

被访问应用的关键代码如下:

public class MainActivity extends ActionBarActivity {
private EditText mEditText;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
mEditText=(EditText) findViewById(R.id.ed_write_phone);
	
	}
	
	public void onPhone(View v){
		SharedPreferences preferences=getSharedPreferences("Config",MODE_WORLD_READABLE);
		
		preferences.edit().putString("phone", mEditText.getText().toString().trim()).commit();
		Toast.makeText(MainActivity.this,"提交成功",0).show();
		
		
		
		
	}
	
	

	

}




AndroidSharedpreference数据共享

标签:android   数据   security   

原文地址:http://blog.csdn.net/u014600432/article/details/45768655

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!