zoukankan      html  css  js  c++  java
  • 团队冲刺第五天

    今天实现了获取云端数据库的数据在app中进行显示的功能。

    最初准备使用本地的数据库,但通过筛选考虑,最终决定使用okhttp,方便对用户及后端数据的及时了解。

    主要代码:

    private void get(){
            new Thread(){
                @Override
                public void run() {
                    super.run();
                    String url="http://39.103.196.146:8888/getNewsData/GetNewsDataServlet";
                    try {
                        String result=getData(url);
                        manageResponse(result);
    //                    Log.e("内容:",result);
                        Message msg=Message.obtain();
                        msg.obj=list;
                        handler.sendMessage(msg);
                    } catch (IOException | JSONException e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
        private String getData(String url) throws IOException {
            RequestBody responseBody=new FormBody.Builder()
                    .add("classify", String.valueOf(classify+1))
                    .build();
            Request request=new Request.Builder().post(responseBody).url(url).build();
            Response response=okHttpClient.newCall(request).execute();
            return response.body().string();
        }
        private void manageResponse(String result) throws JSONException {
            JSONArray jsonArray=new JSONArray(result);
            for(int i=0;i<jsonArray.length();i++)
            {
                JSONObject jsonObject=jsonArray.getJSONObject(i);
                String title=jsonObject.getString("title");
                String time=jsonObject.getString("time");
                String place=jsonObject.getString("place");
                String author=jsonObject.getString("author");
                String content=jsonObject.getString("content");
                String img=jsonObject.getString("img");
                Bean bean=new Bean();
                bean.setTitle(title);
                bean.setTime(time);
                bean.setPlace(place);
                bean.setAuthor(author);
                bean.setContent(content);
                bean.setImg(img);
                list.add(bean);
            }
        }
    

     使用okhttp获取数据时,需要新建一个子线程进行数据的获取,不能再主线程使用,会报错。

    使用okhttp也有get和post方法,可以根据需要进行选择使用。

    作者:哦心有
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    关于Windows窗口框架
    如何获取桌面截图
    浅析Windows安全相关的一些概念
    怎样才算会一门编程语言
    COM思想的背后
    XP之后Windows的一些变化
    智能指针与库
    SOUI开发应用展示2
    在SOUI中支持高分屏显示
    SOUI Editor使用教程
  • 原文地址:https://www.cnblogs.com/haobox/p/14880171.html
Copyright © 2011-2022 走看看