当前位置: 首页 > 面试题库 >

将json数据写入和读取到内部存储Android

谭志用
2023-03-14
问题内容

我从php收到一个json数组

[  
   {  
      "name":"Daniel Bryan",
      "img":"pictures\/smallest\/dierdrepic.jpg",
      "username":"@dbryan",
      "user_id":"4"
   },
   {  
      "name":"Devil Hacker",
      "img":"pictures\/smallest\/belitapic.jpg",
      "username":"@dvHack",
      "user_id":"1"
   }
]
  • 我想要的是将此数据 写入file_name.anyextension我的应用程序数据文件夹中或安全的任何位置。
  • 还要从中读取此数据file_name.anyextension并将其转换为json array可以进一步编辑的有效数据。

谁能告诉我一种方法我怎么可能做这件事?


问题答案:
private void writeToFile(String data) {
    try {
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("config.txt", Context.MODE_PRIVATE));
        outputStreamWriter.write(data);
        outputStreamWriter.close();
    }
    catch (IOException e) {
        Log.e("Exception", "File write failed: " + e.toString());
    } 
}


private String readFromFile() {

    String ret = "";

    try {
        InputStream inputStream = context.openFileInput("config.txt");

        if ( inputStream != null ) {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String receiveString = "";
            StringBuilder stringBuilder = new StringBuilder();

            while ( (receiveString = bufferedReader.readLine()) != null ) {
                stringBuilder.append(receiveString);
            }

            inputStream.close();
            ret = stringBuilder.toString();
        }
    }
    catch (FileNotFoundException e) {
        Log.e("login activity", "File not found: " + e.toString());
    } catch (IOException e) {
        Log.e("login activity", "Can not read file: " + e.toString());
    }

    return ret;
}

从文件中读取字符串时,将其转换为JsonObject或JsonArray

JSONArray jarray = new JSONArray(str);


 类似资料:
  • 本文向大家介绍Android App将数据写入内部存储和外部存储的示例,包括了Android App将数据写入内部存储和外部存储的示例的使用技巧和注意事项,需要的朋友参考一下 File存储(内部存储) 一旦程序在设备安装后,data/data/包名/ 即为内部存储空间,对外保密。 Context提供了2个方法来打开输入、输出流 FileInputStream openFileInput(Strin

  • 我们在游戏中通常需要存储用户数据,如音乐开关、显示语言等,如果是单机游戏还需要存储玩家存档。 Cocos Creator 中我们使用 cc.sys.localStorage 接口来进行用户数据存储和读取的操作。 cc.sys.localStorage 接口是按照 Web Storage API 来实现的,在 Web 平台运行时会直接调用 Web Storage API,在原生平台上会调用 sqli

  • 当同步方法完成时,它将仅将其修改的数据推送到主内存,还是将所有成员变量(类似地,当同步方法执行时,它将仅从主内存中读取所需的数据,还是清除缓存中的所有成员变量并从主内存中读取其值?例如 在上面的代码中,假设计算由 threadA 执行,getResult 由 threadB 执行。执行计算后,线程 A 将使用 a 和 b 更新主内存,还是会更新 a、b、c 和 d。在执行 getResult 之前

  • 问题内容: 是否可以将JSON数据保存到本地文本文件中?因此,稍后我可以通过加载该文件再次使用它,并取回存储的JSON数据。其实我真正想做的是在文本文件中导出JSON数据,以便以后可以用作import.Any的建议或解决方案? 这是我要用于导出到文本的一些示例。 http://jsfiddle.net/k56eezxp/ 问题答案: 是否可以将JSON数据保存到本地文本文件中? 是。当前,链接的j

  • 我正在将数据从BigQuery读入dataproc spark集群。如果在我的例子中BigQuery表中的数据最初是从GCS加载的,那么如果BigQuery connector for dataproc(newAPIHadoopRDD)首先将数据下载到Google云存储桶中,那么直接从GCS读取数据是否更好?这两种方法有什么利弊吗?