我正在试图访问在不同的应用程序中创建的共享首选项文件。我按照一些教程但没有工作。这是我的情况:
App1(com.example.remoteservice)
SharedPreferences configuracion2;
configuracion2 = getSharedPreferences("telo", Context.MODE_WORLD_READABLE);
Editor editor = configuracion2.edit();
editor.putFloat("x21", Float.parseFloat(x21.getText().toString()));
editor.commit();
App2(com.example.grafica)
Context con = createPackageContext("com.example.remoteservice", MODE_WORLD_WRITEABLE);
SharedPreferences pref = con.getSharedPreferences(
"telo",MODE_WORLD_READABLE);
ancho = pref.getFloat("x21", 0);
Log.i("smash", "ancho" + String.valueOf(ancho));
并且返回0因为不存在“telo”。为什么??
感谢
答案 0 :(得分:0)
App1(com.example.remoteservice)
SharedPreferences configuracion2; configuracion2 = getSharedPreferences(“telo”,Context.MODE_WORLD_READABLE);
Editor editor = configuracion2.edit();
editor.putFloat("x21", Float.parseFloat(x21.getText().toString()));
editor.commit();
App2(com.example.grafica)
Context con = createPackageContext("com.example.remoteservice", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences pref = con.getSharedPreferences(
"telo",MODE_WORLD_READABLE);
ancho = pref.getFloat("x21", 0);
Log.i(“smash”,“ancho”+ String.valueOf(ancho));
这应该解决它。此调用之前也不要调用当前上下文的getSharedPreferences()。