### 1、寫入數據APP
~~~
public class MainActivity extends Activity {
private SharedPreferences putPreferences;
private Editor putEditor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 將服務器信息寫入serverInfo.xml
findViewById(R.id.buttonPut).setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
putPreferences = 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();
}
});
}
@Override
public 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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//從serverInfo.xml獲取服務器信息
findViewById(R.id.buttonGet).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
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 block
e.printStackTrace();
}
}
});
}
@Override
public 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文件進行寫。(此處并沒有驗證)
- 前言
- Java內部類
- 從一個View向一個Activity跳轉
- Android 與 SQLite
- Android工程A依賴B,B依賴C
- Android重要控件概覽(上)
- Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
- Android布局概覽
- 動態引用APK文件
- Android重要控件概覽(中)
- Android重要控件概覽(下)
- Gallery和ImageSwitcher
- Android之Toast
- Android之Dialog
- Android之Notification
- Android之Menu
- Android Menu中android:showAsAction屬性
- Android SharedPreferences存儲數據的使用方法
- Android手勢識別之GestureDetector
- 不同APP通過SharedPreferences傳遞數據(共享數據)
- 一個自定義的Topbar模板
- 關于Activity回收造成View選中不對應的問題
- Android之Fragment靜態加載