【】讲之前我这说几个本节要用到的方法
createPackageContext(String packageName, int flags)
注释:Return a new Context object for the given application name.
我们要想获得其它程序的SharedPreferences,就要先获得该程序的context
当获得该程序的context后,通过调用getSharedPreferences()方法来取得SharedPreferences。
【代码】
package lc.sqlitedata.save.orio;import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.widget.Toast;
public class ReadOtherPreferences extends Activity {
SharedPreferences pre;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Context useCount = null;
try {
useCount = createPackageContext("org.crazyit.io",
Context.CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pre=useCount.getSharedPreferences("count", MODE_WORLD_READABLE);
int count=pre.getInt("count", 0);
Toast.makeText(this, count+"次", 5000).show() ;
}
}
【特别讲解】
我们知道,SharedPreferences保存的数据类型是key-value,所以原谅中的count实际上就是表中的key,我们取的是它的值。所以如果你取得的应用程序中,用来存储点击次数的key不是count的话,则在这里会永远是0