Httpclient_星座查询

package com.example.httpcilent_get;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.DefaultClientConnection;
import org.apache.http.util.EncodingUtils;
import org.apache.http.util.EntityUtils;
import com.example.httpcilent_get.bean.Bean;
import com.google.gson.Gson;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.R.color;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
    private TextView tv_show;
    private EditText ed;
    private String ed_info;
    int count = 0;
    private String key = "3ac9f31ff66b9746539472887b3799c3";
    String path = "http://web.juhe.cn:8080/constellation/getAll?";
    String[] xingzuo = new String[] { "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座",
            "天秤座", "天蝎座", "射手座", "摩羯座", "水瓶座", "双鱼座" };
    Handler handler = new Handler() {
        public void handleMessage(Message msg) {
            Bean bean = (Bean) msg.obj;
            tv_show.setText(bean.toString());
        };
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 寻找控件
        findwidget();
    }
    // 点击按钮
    public void search(View view) {
        ed_info = ed.getText().toString();
        new Thread() {
            public void run() {
                if (!ed_info.equals("")) {
                    //
                    find_get(ed_info);
                } else {
                    // 子线程中更新主线程的控件
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Toast.makeText(MainActivity.this, "输入框为空!", 3)
                                    .show();
                        }
                    });} } }.start();

    };
    // get请求方式获取资源
    private void find_get(String ed_info) {
        try {
            // 与12星座数组进行比较
            for (int i = 0; i < xingzuo.length; i++) {
                if (ed_info.equals(xingzuo[i])) {
                    count++; }}
            if (count != 0) {
                // HttpClient得到HttpClient对象
                // DefaultHttpClient()是HttpClient的实现类 (HttpClient是接口)
                HttpClient hc = new DefaultHttpClient();
                // get请求方式 (括号里填写路径)
                HttpGet httpget = new HttpGet(path + "consName=" + ed_info
                        + "&type=year&key=3ac9f31ff66b9746539472887b3799c3");
                // 连接网络请求数据,请求到的数据在httpResponse对象里
                HttpResponse httpResponse = hc.execute(httpget);
                int statusCode = httpResponse.getStatusLine().getStatusCode();
                if (statusCode == 200) {
                    System.out.println("连接成功!");
                    // 服务器返回的内容在HttpEntity
                    HttpEntity entity = httpResponse.getEntity();
                    // 转换成String类型
                    String json = EntityUtils.toString(entity);
                    System.out.println(json);
                    Gson gson = new Gson();
                    Bean bean = gson.fromJson(json, Bean.class);
                    Message msg = Message.obtain();
                    msg.obj = bean;
                    handler.sendMessage(msg);
                } else { System.out.println("连接失败!"); }
            } else {
                runOnUiThread(new Runnable() {
                    public void run() {
                        Toast.makeText(MainActivity.this, "输入星座错误", 3).show();  } });    }
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    };
    // 寻找控件
    private void findwidget() {
        ed = (EditText) findViewById(R.id.editText1);
        tv_show = (TextView) findViewById(R.id.text_show);
    }

}


------------------------------------------------------------------------------

/**
 *
 */
package com.example.httpcilent_get.bean;

import java.util.List;


/**
 * @author WJL
 *
 */
public class Bean {
public  List<String> career;
public List<String> finance;
public List<String> future;
public List<String> health;
public List<String> love;

public String date;
public String error_code;
public String luckyStone;
public String name;
public String resultcode;
public String year;
public Mima mima;
@Override
public String toString() {
    return "Bean [career=" + career + "\n finance=" + finance + "\n future="
            + future + "\n health=" + health + "\n love=" + love + "\n date="
            + date + "\n error_code=" + error_code + "\n luckyStone="
            + luckyStone + "\n name=" + name + "\n resultcode=" + resultcode
            + "\n year=" + year + "\n mima=" + mima + "]";
}
}
-------------------------------------------------------------------------------------------

/**
 *
 */
package com.example.httpcilent_get.bean;

import java.util.List;

/**
 * @author WJL
 *
 */
public class Mima {
    public String info;
    public List<String> text;
    @Override
    public String toString() {
        return "Mima [info=" + info + ", text=" + text + "]";
    }
    
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值