在你要實現功能的activity.java裡面直接寫就行,下面第一段程式碼是實現okhttp通訊
private void okhttpDate() { Log.i("TAG","--ok-"); new Thread(new Runnable() { @Override public void run() { OkHttpClient client=new OkHttpClient(); Request request=new Request.Builder().url("localhost:8080/abc").build(); try { Response sponse=client.newCall(request).execute(); date=sponse.body().string(); //解析 jsonJXDate(date); } catch (IOException e) { e.printStackTrace(); } } }).start(); }
然後下面是解析json的方法private void jsonJXDate(String date) { if(date!=null) { try { JSONObject jsonObject = new JSONObject(date); //轉物件 JSONObject jsonObject1 = jsonObject.getJSONObject("result"); //物件轉陣列用來遍歷 JSONArray jsonArray = jsonObject1.getJSONArray("records"); //遍歷陣列 for (int i = 0; i < jsonArray.length(); i++) { //將欄位的值遍歷並轉型 String cycleType_dictText = jsonArray.getJSONObject(i).getString("cycleType_dictText"); String taskName = jsonArray.getJSONObject(i).getString("taskName"); String createTime = jsonArray.getJSONObject(i).getString("createTime");//放入集合中,根據需要是否做下面的操作 Map<String, Object> map = new HashMap<>(); map.put("cycleType_dictText", cycleType_dictText); map.put("taskName", taskName); map.put("createTime",createTime); list.add(map); } } catch (JSONException e) { e.printStackTrace(); } } }
寫完上面的方法記得在主方法引用,如下:protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shou); //獲取資料 okhttpDate(); }
最新評論