【问题标题】:Store Data (Posts) fetched from Wordpress to Android app via JSON to view offline通过 JSON 从 Wordpress 获取的存储数据(帖子)到 Android 应用程序以离线查看
【发布时间】:2023-03-05 14:25:01
【问题描述】:

这是我的第一篇文章。

我有一个从 wordpress 网站获取数据的应用程序。 wordpress 站点实际上是一个新闻站点,应用程序实际上使用 JSON 通过插件连接到 Wordpress 站点。

主要问题是,当没有互联网连接时,应用程序提示:“没有可用的互联网连接!”按照活动中的编码,但我想做以下事情:

  • 如果互联网已连接,则照常从网站获取数据
  • 如果没有互联网连接,显示以前的数据

问题实际上出现在必须进行保存数据的位置。根据我的研究,有三种方法:

  1. 共享首选项
  2. SQL-Lite 数据库
  3. 文件处理

我想知道哪个是最好的? & 任何源代码都将受到高度赞赏。 如果要保存数据,在没有可用的互联网连接时如何查看数据

【问题讨论】:

    标签: android json wordpress android-activity android-fragments


    【解决方案1】:

    好吧,如果您只有一个(或几个)JSON 文件,您实际上可以将它保存到一个文件中。它应该像这样工作: 如果我有互联网连接,我会从服务器下载 json,然后将其保存到文件中并显示数据。如果我没有它,我会检查文件是否存在(只有在用户第一次开始使用该应用程序时才会丢失),如果存在,我会读取文件并显示 json 数据。您可以通过一个简单的 txt 文件来实现这一点。 以下是一些可帮助您入门的示例代码:

    1. 将字符串写入文件

      public void writeFile(String data) { 字符串文件名 = "myfile.json"; FileOutputStream outputStream = null;

          try {
              outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
              outputStream.write(data.getBytes());
              outputStream.close();
          } catch (Exception e) {
              e.printStackTrace();
          }
      
      }
      

      从文件中读取:

      公共字符串 readJsonFromFile() { 字符串 json = null;

              try {
      
                  InputStream is = openFileInput("myfile.json");
      
                  int size = is.available();
      
                  byte[] buffer = new byte[size];
      
                  is.read(buffer);
      
                  is.close();
      
                  json = new String(buffer, "UTF-8");
      
              } catch (IOException ex) {
                  ex.printStackTrace();
                  return null;
              }
              return json;
      
          }
      

    和 JSONObject 到一个字符串

    JSONObject json;
    String s;
    s=json.toString();
    

    反过来:字符串转json

    String s;
    JSONObject json= new JSONObject(s);
    

    【讨论】:

      猜你喜欢
      • 2017-12-17
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多