package httpclent.com.example.httpclent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.google.gson.Gson; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.List; public class MainActivity extends AppCompatActivity { Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 0: String ss = (String) msg.obj; Gson gson = new Gson(); Info info = gson.fromJson(ss, Info.class); final List<Info.DataBean.EssayBean> essay = info.getData().getEssay(); List<Info.DataBean.QuestionBean> question = info.getData().getQuestion(); for (int i = 0; i < question.size(); i++) { String answer_title = question.get(i).getAnswer_title(); Toast.makeText(MainActivity.this, ""+answer_title, Toast.LENGTH_SHORT).show(); } lv.setAdapter(new BaseAdapter() { @Override public int getCount() { return essay.size(); } @Override public Object getItem(int position) { return essay.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = View.inflate(MainActivity.this,R.layout.item,null); TextView t = (TextView) convertView.findViewById(R.id.t); t.setText(essay.get(position).getHp_title()); return convertView; } }); break; } } }; private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); new Thread(new Runnable() { @Override public void run() { //创建请求 HttpClient httpClient = new DefaultHttpClient(); //设置请求方式 HttpGet httpGet = new HttpGet("http://v3.wufazhuce.com:8000/api/reading/index/?version=3.5.0&platform=android"); try { //关联 HttpResponse respoonse = httpClient.execute(httpGet); //判断状态行状态吗是佛为200 if (respoonse.getStatusLine().getStatusCode()==200) { //获取实体内容 InputStream content = respoonse.getEntity().getContent(); //读取 ByteArrayOutputStream outputStream =new ByteArrayOutputStream(); byte [] buffer =new byte[1024]; int len=0; while((len=content.read(buffer))!=-1) { outputStream.write(buffer, 0, len); } //读取完毕 String s = outputStream.toString(); //主线程更新UI Message message = handler.obtainMessage(0, s); message.sendToTarget(); } } catch (IOException e) { e.printStackTrace(); } } }).start(); } }
HttpClient之网络请求数据
最新推荐文章于 2022-11-13 21:53:23 发布