软工超越日报-安卓APP联网获取数据(2) 5/9

在android上进行下载呢,需要我们先发起请求,之后用buffereader一个字节一个字节读

具体实现代码如下:

    public String TestServlet(String urls) throws IOException {
        URL url = new URL(urls);
        String line = "";
        String temp = "";
        BufferedReader br = null;
        try {
            br = new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));
        } catch (Exception e) {
            e.printStackTrace();
        }

        while ((temp = br.readLine()) != null) {
            line = line + temp;
        }
        String lineRead = line;
        return lineRead;
    }

urls就是网址的链接,这个函数可以读取网页内容

我们还要解读获取到的json字符串

//json字符解析工具+存入数据库(疾病列表部分)
    public void jsonX(String JsonData){
        try {
            JSONArray jsonArray = new JSONArray(JsonData);
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                String vcode = jsonObject.getString("vcode");
                String vname = jsonObject.getString("vname");
                String plant = jsonObject.getString("plants");
                String baike = jsonObject.getString("baike");
                String way = jsonObject.getString("way");
                String side = jsonObject.getString("side");
                dao.inseX(vcode,vname,plant,baike,way,side);
            }
        } catch (Exception e) {
            e.printStackTrace();

        }
    }

之后将两个混合调用即可,可以实现云端数据与本地数据几乎同时的更新。

原文地址:https://www.cnblogs.com/Sakuraba/p/14910886.html