Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将JSON文件保存到内部内存_Android_Json - Fatal编程技术网

Android 将JSON文件保存到内部内存

Android 将JSON文件保存到内部内存,android,json,Android,Json,嘿,伙计们,我现在正在学习JSON。所以首先我想学习如何创建一个。所以我写了这个代码 public void writeJsonFile() { username = usernameField.getText().toString(); password = passwordField.getText().toString(); JSONObject jsonObject = new JSONObject(); try{ jsonObject.p

嘿,伙计们,我现在正在学习JSON。所以首先我想学习如何创建一个。所以我写了这个代码

public void writeJsonFile() {
    username = usernameField.getText().toString();
    password = passwordField.getText().toString();
    JSONObject jsonObject = new JSONObject();
    try{
        jsonObject.put("username", username);
        jsonObject.put("password", password);
    }
    catch (JSONException e) {
        e.printStackTrace();
    }
}

但我有一个问题…如何将jSON文件保存到appfolder的内部内存中?调用并再次读取该文件的代码是什么?

您可以调用
jsonObject.toString
,然后。从磁盘读取字符串后,需要调用

JSONObject jsonObject = new JSONObject(yourString);
将其解析回
JsonObject


也有类似的工具可以帮助您进行对象到json序列化,这有助于避免一些此类工作。

保存json本身并不是一个好的选择。你能做的是:

  • 将JSON文件转换为字符串,并使用保存字符串,当您从SharedEffects获取该字符串时,将其转换回JSON
  • 使用数据库(领域),将JSON映射到模型并将该模型保存在数据库中
  • 对于用户名/密码的情况,我不会这样做。但我会使用SharedPreferences并使用不同的键分别存储这两个值
  • 别忘了在共享的效果中


    如果您真的想将信息保存到文件中,请选中。

    选中此链接,它在回答中描述了如何保存文件,但当我使用代码读取文件时,我会得到如下内容:[B@9cd886"嗯,看起来像是一个对象而不是字符串内容。那么,将用户名和密码保存在txt文件中是不是一种不好的方式。保存在内存中?嗯,它不是保存在内存中。它保存在内部存储器中。不,将其保存为纯文本不是一个好主意。你应该加密信息。用链接编辑主答案。