AndroidSharedpreference数据共享

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

步骤:

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

packageName是应用的包名

other=createPackageContext(packageName, CONTEXT_IGNORE_SECURITY);2、获得SharedPreferences对象。

具体demo代码如下:

public class MainActivity extends Activity {@Overrideprotected 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 blocke.printStackTrace();}return null;}}被访问应用的关键代码如下:

public class MainActivity extends ActionBarActivity {private EditText mEditText;@Overrideprotected 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数据共享

相关文章:

你感兴趣的文章:

标签云: