Android中,http請求數據進行數據更新功能

HttpUtil.sendOKHttpRequest(url, new Callback() {
    @Override
    public void onFailure(Call call, IOException e) {
        Log.d(TAG, "請求泥頭接口失敗!" );
    }
    @Override
    public void onResponse(Call call, Response response) throws IOException {
        //將數據存放到下拉菜單中
        String res = response.body().string();
        Log.d(TAG,"請求泥頭返回信息:"+res);
        /* Gson gson = new Gson();*/
        List<KeyValueModel> siteList = new ArrayList<KeyValueModel>();
        if (!TextUtils.isEmpty(res)){//不爲空時直接賦值
            try {
                JSONArray allSites = new JSONArray(res);
                for (int i=0;i<allSites.length();i++){
                    JSONObject object = allSites.getJSONObject(i);
                    /*第一種實現方式
                    KeyValueModel site = new Gson().fromJson(object.toString(),KeyValueModel.class);*/
                    /*第二種實現方式  存在構造方法,並且不要屬性的setter方法




 */
                    KeyValueModel site = new KeyValueModel(object.getString("id"),object.getString("name"));
                    
/*第三種方法,去掉構造方法,使用set方法*/

                    siteList.add(site);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        final ArrayAdapter<KeyValueModel>  adapterSiteStart = new ArrayAdapter<KeyValueModel>(getActivity() , android.R.layout.simple_spinner_item , siteList);
        getActivity().runOnUiThread(new Runnable() {//在fragment中修改頁面的數據要添加的部分
            @Override
            public void run() {
                startSiteSpinner.setAdapter(adapterSiteStart);
            }
        });

    }
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章