你的位置:首页 > 操作系统

[操作系统]Android网络请求与解析


1.Volley和Gson结合使用——Volley适用于小型数据,多次的请求,使用Gson解析时,服务器数据的键值不能包含常用的标识符如:class.....等,这些就需要与服务端小伙伴商量了,

 


public class MainActivity extends Activity {
    private String url = "https://网络请求的IP";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       RequestData();
    }

    private void  RequestData() {
        StringRequest request = new StringRequest(url, new Listener<String>() {

            @Override
            public void onResponse(String arg0) {
                Log.i("info", arg0);
                dealData(arg0);
            }

        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError arg0) {
                // TODO Auto-generated method stub

            }
        });
        new Volley().newRequestQueue(getApplicationContext()).add(request);
    }

    private void dealData(String result) {
        Gson gson = new Gson();

       //Book是我们自己创建的解析类
        Book book = gson.fromJson(result, Book.class);
        Log.i("info", book.getTitle() + ":" + book.getPublisher() + ":"
                + book.getTags().size());
    }
}

2.Volley与FastGson——FastGson,主要针对实体类集合,性能比Gson高

private void dealData(String result) {
        Book book = JSON.parseObject(result, Book.class);//对象
        List<Book> books = JSON.parseObject(result,
                new TypeReference<List<Book>>() {
                });//对象集合
     
3.在特定情况下可以根据自己的需要使用JsonObject