Gson解析數據

package com.bwie.test;

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.URL;
import java.util.ArrayList;
import java.util.List;

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

import com.bwie.test.JingDian.ResultBean;
import com.bwie.test.JingDian.ResultBean.RowsBean;
import com.bwie.test.JingDian.ResultBean.RowsBean.InfoBean;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {
    private String urlPath="http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&qtime=20160411091603&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0";
    private List<RowsBean> rowsBeans=new ArrayList<JingDian.ResultBean.RowsBean>();
    private ListView lv;
   
    
    private Handler handler=new Handler(){
        public void handleMessage(Message msg) {
            switch (msg.what) {
            case 0:
                //得到數據
                String text=(String) msg.obj;
                tojson(text);
                break;
              
            default:
                break;
            }
        }

        
    };java

//-----------------gson解析   注意:須要導入gson.Jar包------------------------------------------------
    
    //解析數據
    private void tojson(String text) {
        Gson gson=new Gson();
        //類名
        JingDian jingDian=gson.fromJson(text, JingDian.class);
        Log.i("kkkkkkkkkk", jingDian.getResult().getRows().get(0).getInfo().getAddress()+"");
        ResultBean resultBean=jingDian.getResult();
        rowsBeans=resultBean.getRows();
        
        //設置適配器             
        MyAdapter adapter=new MyAdapter(rowsBeans, this);
        lv.setAdapter(adapter);                       
        
    };

//-------------------------onCreate中---------------------------------
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView) findViewById(R.id.lv);      
        //得到數據
        huodeshuju();
       
       
    }android

//------------------------------------------

    //得到數據
    private void huodeshuju() {
       json

        //使用線程
        new Thread(){
                    public void run() {
                        try {
                            //先建立出了一個URL對象,urlPath:是咱們訪問接口地址
                            URL url=new URL(urlPath);
                            
                             //URL連接對象,經過URL對象打開一個connection連接對像
                            HttpURLConnection urlConnection=(HttpURLConnection) url.openConnection();
                            //設置urlConnection對象連接超時
                            urlConnection.setConnectTimeout(5000);
                            //設置urlConnection對象獲取數據超時
                            urlConnection.setReadTimeout(5000);
                            //設置本次urlConnection請求方式
                            urlConnection.setRequestMethod("GET");
                            //調用urlConnection的連接方法,線程等待,等待的是服務器所給咱們返回的結果集
                           // urlConnection.connect();
                            //獲取本次網絡請求的狀態碼
                            int code=urlConnection.getResponseCode();
                            //若是本次返回的狀態嗎是200(成功)
                            if (code==200) {
                                 //調用urlConnection.getInputStream獲得本次請求所返回的結果流
                                InputStream inputStream=urlConnection.getInputStream();
                                //建立一個BufferedReader,去讀取結果流
                                BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
                                String readLine;
                                StringBuffer buffer=new StringBuffer();
                                while ((readLine=reader.readLine())!=null) {
                                    buffer.append(readLine);
                                    
                                }
                                //讀取完結果流以後所獲得的結果
                                String result=buffer.toString();
                                Log.i("數據:----", result);
                                Message message=new Message();
                                message.what=0;
                                message.obj=result;
                                handler.sendMessage(message);
                                inputStream.close();
                            }
                        } catch (MalformedURLException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        
                    };
                }.start();
        
    }

api


 
    
}

服務器

相關文章
相關標籤/搜索