zoukankan      html  css  js  c++  java
  • google-http-java-client(android学习篇)

    package com.example.android;

    import java.io.IOException; import java.util.HashMap;

    import android.app.Activity; import android.content.Intent;

    import android.os.Bundle; import android.view.View;

    import android.view.View.OnClickListener;

    import android.widget.Button; import com.google.api.client.http.GenericUrl;

    import com.google.api.client.http.HttpRequest;

    import com.google.api.client.http.HttpRequestFactory;

    import com.google.api.client.http.HttpRequestInitializer;

    import com.google.api.client.http.HttpResponse;

    import com.google.api.client.http.HttpTransport;

    import com.google.api.client.http.UrlEncodedContent;

    import com.google.api.client.http.javanet.NetHttpTransport;

    import com.google.api.client.json.JsonFactory;

    import com.google.api.client.json.JsonObjectParser;

    import com.google.api.client.json.jackson.JacksonFactory;

    import com.google.api.client.util.Key;

    public class MainActivity extends Activity {  

    public static Result result =null;    

    public static class Result {   

    @Key("Code") 

     private int code;  

     @Key("Data")  

     private ProductData data;

     public int getCode() {   

          return code;   }  

     public ProductData getData() {   

         return data;  

     }

     }  

     public static class ProductData {

      @Key("Total")  

       private int total;

      @Key("List")  

       private Product[] list;   

      public int getTotal() {    

         return total;   }  

     public Product[] getList() {   

         return list;  

     }  

    }

     public static class Product {  

     @Key("id")   

    private int id;

      @Key("title")   

    private String title;   

      public int getId() {  

      return id;   }   

    public String getTitle() {   

     return title;   }  }    

       Button btn = null;    

    static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();// For Java: NetHttpTransport(HttpURLConnection ); For Android: AndroidHttp.  static final JsonFactory JSON_FACTORY = new JacksonFactory(); // For JSON converting.    

    @Override    

    public void onCreate(Bundle savedInstanceState) {        

    super.onCreate(savedInstanceState);        

    setContentView(R.layout.activity_main);        

    btn = (Button)this.findViewById(R.id.btnacq);        

    btn.setOnClickListener(new OnClickListener() {   

     @Override    

    public void onClick(View v) {  

      test();   

      Intent intent = new Intent();   

     intent.setClass(MainActivity.this, Show.class);  

     intent.putExtra("code", result.getCode());//向下一个activity传入数值   

     intent.putExtra("data", result.getData().total); 

     intent.putExtra("list", result.getData().list);  

      startActivity(intent);    }   });     }    

    public static void test() {   HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory(new HttpRequestInitializer() {

       @Override    

    public void initialize(HttpRequest request) throws IOException {     request.setParser(new JsonObjectParser(JSON_FACTORY));    }       });   

      GenericUrl url = new GenericUrl("url"); // ps=20&pi=0&t=8&ti=1&catetag=[]&custag=[]&favtag=[]&name=   

    HashMap<String, String> params = new HashMap<String, String>();  

     params.put("ps", "20");//ajax代码写的   params.put("pi", "0");  

     params.put("t", "8");   params.put("ti", "1");   params.put("catetag", "[]");  

     params.put("custag", "[]");   params.put("favtag", "[]");   params.put("name", "");  

     try {    HttpRequest request = requestFactory.buildPostRequest(url, new UrlEncodedContent(params));//请用post请求    

    HttpResponse response = request.execute();      

    result = response.parseAs(Result.class);//根据自己定义的的对象的get方法获取里面的值      

    System.out.println(result);   

     System.out.println(result.getCode()+"-------"+result.getData());    System.out.println(result.getData().total+"----"+result.getData().list);   }

    catch (IOException e) {    System.out.println("代码出错");   }

     }

    }              

      

       

  • 相关阅读:
    oracle如何查询哪个表数据量大
    SecureRandom生成随机数超慢 导致tomcat启动时间过长的解决办法
    smartctl----硬盘状态监控
    Oracle数据库的状态查询
    jdbc连接数据库使用sid和service_name的区别
    V$INSTANCE 字段说明
    V$PROCESS和V$SESSION,以及使用这两个视图能做什么
    NetOps Defined
    POI 海量数据
    HTML5 CSS3 诱人的实例: 3D立方体旋转动画
  • 原文地址:https://www.cnblogs.com/jianrong-zheng/p/3225231.html
Copyright © 2011-2022 走看看