我试图将单个int保存到我的Android项目中的文件中,虽然我无法使我的写入功能起作用。
我的JSON文件:
{
"user":
{
"userid":"0"
}
}
我的代码:
public String getJsonFile() {
String jsonLocation = "";
try {
InputStream is = getAssets().open("useriidd.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
jsonLocation = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
}
return jsonLocation;
}
public void jsonRead(){
try {
JSONObject reader = new JSONObject(getJsonFile());
JSONObject sys = reader.getJSONObject("user");
userid = Integer.parseInt(sys.getString("userid"));
}
catch (final JSONException e) {
Log.e("asdasd", e.getMessage());
}
}
public void jsonWrite(){
try {
JSONObject writer = new JSONObject(getJsonFile());
JSONObject sys = writer.getJSONObject("user");
sys.put("userid", Integer.toString(userid));
Log.d("asdasd", getJsonFile());
}
catch (final JSONException e) {
Log.e("asdasd", e.getMessage());
}
}
如果我退出应用并重新启动它,我还需要保存用户ID值。
答案 0 :(得分:0)
您应将其存储在'?'
,Preferences
或外部存储(SD卡)文件中。您不能(或不应该)在运行时编辑资产。
答案 1 :(得分:0)
在班级声明
public static final String KEY = "key";
private String value = "you can place any value";
private SharedPreferences sharedPreferences;
onCreate Method
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(YourMainActivity.this);
sharedPreferences.edit().putString(KEY, value);
onResume方法
value = sharedPreferences.getString(KEY, "defaultValue");
您也可以在onPause方法
上执行此步骤sharedPreferences.edit().putString(KEY, value);