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之网络请求数据
最新推荐文章于 2020-08-07 17:57:48 发布