通过JSON将从Wordpress提取的数据(帖子)存储到Android应用程序以便离线查看

时间:2014-09-26 14:30:51

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

这是我的第一篇文章。

我有一个提取来自 wordpress网站的数据的应用程序。 wordpress网站实际上是一个新闻网站&该应用程序实际上使用 JSON 通过插件与Wordpress站点连接。

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

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

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

  1. 共享偏好设置
  2. SQL-Lite数据库
  3. 文件处理
  4. 我想知道哪个最好? &安培;任何源代码都将受到高度赞赏。 如果要保存数据,当没有可用的互联网连接时如何查看数据

1 个答案:

答案 0 :(得分:0)

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

  1. 将字符串写入文件

    public void writeFile(String data){         String filename =" myfile.json&#34 ;;         FileOutputStream outputStream = null;

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

    从文件中读取:

    public String readJsonFromFile(){             String 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;
    
        }
    
  2. 和JSONObject到字符串

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

    反过来说:string to json

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