不同APP通过SharedPreferences传递数据(共享数据)

来源:互联网 发布:linux应用技术 编辑:程序博客网 时间:2024/06/05 03:57

1、写入数据APP

public class MainActivity extends Activity {private SharedPreferences putPreferences;private Editor putEditor;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 将服务器信息写入serverInfo.xmlfindViewById(R.id.buttonPut).setOnClickListener( new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubputPreferences = getSharedPreferences("serverInfo", Context.MODE_WORLD_READABLE);putEditor = putPreferences.edit();putEditor.putString("serverIP", "192.168.1.102");putEditor.putString("password", "123456");putEditor.commit();Toast.makeText(MainActivity.this,"服务器信息成功写入serverInfo.xml", Toast.LENGTH_LONG).show();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}








2、获取数据APP

public class MainActivity extends Activity {private SharedPreferences getPreferences;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//从serverInfo.xml获取服务器信息findViewById(R.id.buttonGet).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubtry {Context context=createPackageContext("com.example.putprefapp", Context.CONTEXT_IGNORE_SECURITY);getPreferences=context.getSharedPreferences("serverInfo", MODE_WORLD_READABLE);String serverIP=getPreferences.getString("serverIP","");String serverPwd=getPreferences.getString("password", "");Toast.makeText(MainActivity.this, "服务器信息如下:IP地址:" +serverIP+"; 密码:"+serverPwd, Toast.LENGTH_LONG).show();} catch (NameNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


3、关于android:sharedUserId

        上面的两个工程中并没有对android:sharedUserId属性进行设置。这个属性是在查资料时看到的:意思是说,在manifest.xml里面将两个应用程序的android:sharedUserId属性设为相同的就可以对SharedPreferences文件进行写。(此处并没有验证)

0 0