欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用OkHttp获取本地服务器目录下的json数据并解析为Bean对象

程序员文章站 2022-12-02 16:14:16
如题所示,只是一个单机版的的简单示例。android程序获取apache服务器内的json 数据。文章目录一、 准备工作。二、创建androidStudio工程三,获取json数据四.在界面中显示数据一、 准备工作。在apache服务器的C:\Tomcat 9.0\webapps\ROOT下准备一个简单的json文件,如图所示。并开启服务。二、创建androidStudio工程1.修改布局。布局很简单,只有一个按钮和一个textview,点击按钮时获取服务器的json数据,用textview显示...

如题所示,只是一个单机版的的简单示例。android程序获取apache服务器内的json 数据。

一、 准备工作。

在apache服务器的C:\Tomcat 9.0\webapps\ROOT下准备一个简单的json文件,如图所示。并开启服务。
使用OkHttp获取本地服务器目录下的json数据并解析为Bean对象

二、创建androidStudio工程

1.修改布局。布局很简单,只有一个按钮和一个textview,点击按钮时获取服务器的json数据,用textview显示json数据。如图所示。
使用OkHttp获取本地服务器目录下的json数据并解析为Bean对象
2.添加OkHttp依赖文件。
使用OkHttp获取本地服务器目录下的json数据并解析为Bean对象使用OkHttp获取本地服务器目录下的json数据并解析为Bean对象

三,获取json数据

通过点击按钮获取服务器中的数据,用到了okhttp框架。其中,path为json的地址,如果本机的地址为:192.168.1.9,则path=“http://192.168.1.9:8080/fast.json”

  @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_get:
                OkHttpClient okHttp=new OkHttpClient();
                Request request=new Request.Builder().url(path).build();
                Call call=okHttp.newCall(request);
                call.enqueue(new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {    }
                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                        String str=response.body().string();
                        Message msg=new Message();
                        msg.what=0;
                        msg.obj=str;
                        mhandler.sendMessage(msg);
                    }
                });
                break;
        }
    }

四.在界面中显示数据

在主线程中,handler处理message并显示在textview或者用Gson解析成Bean对象。

  mhandler=new Handler(){
            @Override
            public void dispatchMessage(@NonNull Message msg) {
                super.dispatchMessage(msg);
                switch (msg.what){
                    case 0:
                        if (msg.obj!=null){
                            textView.setText((String)msg.obj);//直接显示json数据
                            parseJsonDate((String)msg.obj);//解析成Bean对象
                        }
                        break;
                }
            }
        };

五、使用Gson解析json

添加Gson依赖,

 private void parseJsonDate(String obj) {
        Gson gson=new Gson();
        InfoBean infoBean=gson.fromJson(obj,InfoBean.class);
        textView.setText(infoBean.toString());
    }

本文地址:https://blog.csdn.net/m0_47761892/article/details/107583466

相关标签: android json