栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

简单地解析Json对象到UI界面上的例子

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简单地解析Json对象到UI界面上的例子

首先,先建立好Layout :




   

第二步是,建立一个类,用于写字段:

package com.example.webviewapplication;

public class App {
    private String id;
    private String name;
    private String version;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }
}


第三步,是MainActivity的设置:

package com.example.webviewapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.TextView;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.List;

import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class MainActivity extends AppCompatActivity {
   private Button send,upload;
   private TextView txt,txt_2,txt_3;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        send = findViewById(R.id.send_request);
        txt = findViewById(R.id.response_txt);
        upload = findViewById(R.id.upload);
        txt_2 = findViewById(R.id.txt_2);
        txt_3 = findViewById(R.id.txt_3);

        send.setonClickListener(new View.onClickListener() {
            @Override
            public void onClick(View v) {
             //发出一条http请求
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        OkHttpClient client = new OkHttpClient();
                        Request request = new Request.Builder()
                                .url("http://10.0.2.2/get_data.json")
                                .build();
                        try {
                            Response response = client.newCall(request).execute();
                            String responseData = response.body().string();
                            parseJsonByGson(responseData);
                        } catch (IOException e) {
                            e.printStackTrace();
                        }

                    }
                }).start();
            }
        });
    }

    private void parseJsonByGson(final String responseData) {
       runonUiThread(new Runnable() {
           @Override
           public void run() {
               Gson gson = new Gson();
               List appList = gson.fromJson(responseData,new TypeToken(){}.getType());
               txt.setText("id is "+appList.get(0).getId()+";version is "+appList.get(0).getVersion()+";name is"+appList.get(0).getVersion());
               txt_2.setText("id is "+appList.get(1).getId()+";version is "+appList.get(1).getVersion()+";name is"+appList.get(1).getVersion());
               txt_3.setText("id is "+appList.get(2).getId()+";version is "+appList.get(2).getVersion()+";name is"+appList.get(2).getVersion());
           }
       });
    }


}

温馨提示:

要先准备好假数据,写Json格式后,放到Apache的htdocs的文档。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/237612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号