四中请求
2016-03-08 08:12
232 查看
HttpUtils
package com.bwie.text2;import java.util.ArrayList;
import com.bwie.text2.Data.JsonData;
import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class Fragment1 extends Fragment{
private ListView lv_list;
private ArrayList<Datas> list=new ArrayList<Datas>();
private MyAdapter adapter;
private DataDao dao;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=View.inflate(getActivity(), R.layout.fragment, null);
lv_list=(ListView)view.findViewById(R.id.lv_list);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String url="http://169.254.151.168:8080/datas.json";
SecondActivity mainActivity = (SecondActivity) getActivity();
dao=new DataDao(mainActivity);
final HttpUtils httpUtils=new HttpUtils();
httpUtils.send(HttpMethod.POST, url, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
String result = arg0.result;
httpUtils.configResponseTextCharset("utf-8");
Gson gson=new Gson();
Data data = gson.fromJson(result, Data.class);
ArrayList<JsonData> arraylist = data.array;
list.clear();
for (int i = 3; i < 6; i++) {
String content = arraylist.get(i).content;
String title = arraylist.get(i).title;
String number = arraylist.get(i).number;
String time = arraylist.get(i).time;
String source = arraylist.get(i).source;
String type = arraylist.get(i).type;
list.add(new Datas(content, number, source, time, title, type));
dao.add(title, content, time, type, source, number);
}
adapter=new MyAdapter(getActivity(), list);
lv_list.setAdapter(adapter);
// list = dao.select();
lv_list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
Intent intent=new Intent(getActivity(),ThridActivity.class);
intent.putExtra("list", list.get(position));
startActivity(intent);
}
});
}
});
}
}
异步交互
package com.bwie.text2;import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.ExecutionException;
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.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import com.bwie.text2.Data.JsonData;
import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
public class Fragment2 extends Fragment{
private ListView lv_list;
private ArrayList<Datas> list=new ArrayList<Datas>();
private MyAdapter adapter;
private DataDao dao;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=View.inflate(getActivity(), R.layout.fragment, null);
lv_list=(ListView)view.findViewById(R.id.lv_list);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String url="http://169.254.151.168:8080/datas.json";
dao=new DataDao(getActivity());
MyAsynTask myAsynTask=new MyAsynTask();
try {
String s = myAsynTask.execute(url).get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
class MyAsynTask extends AsyncTask<String, Integer, String>{
@Override
protected String doInBackground(String... params) {
String string=params[0];
HttpClient httpClient=new DefaultHttpClient();
HttpGet httpGet=new HttpGet(string);
String s=null;
HttpResponse response;
try {
response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode()==200) {
HttpEntity entity = response.getEntity();
s = EntityUtils.toString(entity,"utf-8");
Gson gson=new Gson();
Data data = gson.fromJson(s, Data.class);
ArrayList<JsonData> arraylist = data.array;
list.clear();
for (int i = 0; i < 3; i++) {
String content = arraylist.get(i).content;
String title = arraylist.get(i).title;
String number = arraylist.get(i).number;
String time = arraylist.get(i).time;
String source = arraylist.get(i).source;
String type = arraylist.get(i).type;
list.add(new Datas(content, number, source, time, title, type));
dao.add(title, content, time, type, source, number);
}
adapter=new MyAdapter(getActivity(), list);
lv_list.setAdapter(adapter);
list = dao.select();
lv_list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
Intent intent=new Intent(getActivity(),ThridActivity.class);
intent.putExtra("list", list.get(position));
startActivity(intent);
}
});
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return s;
}
}
}
HttpClient
package com.bwie.text2;import java.io.IOException;
import java.util.ArrayList;
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.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import com.bwie.text2.Data.JsonData;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
public class Fragment3 extends Fragment{
private ListView lv_list;
private ArrayList<Datas> list=new ArrayList<Datas>();
private MyAdapter adapter;
private DataDao dao;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=View.inflate(getActivity(), R.layout.fragment, null);
lv_list=(ListView)view.findViewById(R.id.lv_list);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
final String url="http://169.254.151.168:8080/datas.json";
dao=new DataDao(getActivity());
new Thread(){
public void run() {
getInfo(url);
};
}.start();
lv_list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
Intent intent=new Intent(getActivity(),ThridActivity.class);
intent.putExtra("list", list.get(position));
startActivity(intent);
}
});
}
private void getInfo(String url) {
HttpClient httpClient=new DefaultHttpClient();
HttpGet httpGet=new HttpGet(url);
try {
HttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode()==200) {
HttpEntity entity = response.getEntity();
String string = EntityUtils.toString(entity,"utf-8");
Gson gson=new Gson();
Data data = gson.fromJson(string, Data.class);
ArrayList<JsonData> arraylist = data.array;
list.clear();
for (int i = 6; i < 9; i++) {
String content = arraylist.get(i).content;
String title = arraylist.get(i).title;
String number = arraylist.get(i).number;
String time = arraylist.get(i).time;
String source = arraylist.get(i).source;
String type = arraylist.get(i).type;
list.add(new Datas(content, number, source, time, title, type));
dao.add(title, content, time, type, source, number);
}
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
adapter=new MyAdapter(getActivity(), list);
lv_list.setAdapter(adapter);
// list = dao.select();
}
});
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
HttpUrlConnection
package com.bwie.text2;import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import com.bwie.text2.Data.JsonData;
import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
public class Fragment4 extends Fragment{
private ListView lv_list;
private ArrayList<Datas> list=new ArrayList<Datas>();
private MyAdapter adapter;
private DataDao dao;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=View.inflate(getActivity(), R.layout.fragment, null);
lv_list=(ListView)view.findViewById(R.id.lv_list);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
final String url_="http://169.254.151.168:8080/datas.json";
dao=new DataDao(getActivity());
new Thread(){
public void run() {
getInfo(url_);
};
}.start();
}
private void getInfo(String url_) {
try {
URL url=new URL(url_);
HttpURLConnection opConnection = (HttpURLConnection) url.openConnection();
opConnection.setRequestMethod("GET");
opConnection.connect();
if (opConnection.getResponseCode()==200) {
InputStream inputStream = opConnection.getInputStream();
InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
Gson gson=new Gson();
Data data = gson.fromJson(inputStreamReader, Data.class);
ArrayList<JsonData> arraylist = data.array;
list.clear();
for (int i = 9; i < 12; i++) {
String content = arraylist.get(i).content;
String title = arraylist.get(i).title;
String number = arraylist.get(i).number;
String time = arraylist.get(i).time;
String source = arraylist.get(i).source;
String type = arraylist.get(i).type;
list.add(new Datas(content, number, source, time, title, type));
dao.add(title, content, time, type, source, number);
}
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
adapter=new MyAdapter(getActivity(), list);
lv_list.setAdapter(adapter);
// list = dao.select();
lv_list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
Intent intent=new Intent(getActivity(),ThridActivity.class);
intent.putExtra("list", list.get(position));
startActivity(intent);
}
});
}
});
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- 二叉搜索树的第k个结点
- 高速排序-c++(分别用数组和容器实现)
- Excel导入导出
- VMware与Windows主机交换文件
- 部分JAVA设计模式在Android中的体现。
- 4200: [Noi2015]小园丁与老司机 DP+有源汇上下界最小流
- java,作业张三李四,运用类的继承
- Ubuntu 16.04 为更好支持容器化而采用 ZFS
- 线段树——I hate it
- 程序中写数据到文件
- 互联网面试总结(三) : 算法
- 《数据结构》顺序栈
- ATEN宏正盛装出席Infocomm China 2016
- 互联网面试总结(二) : 概述题
- HTML 5 视频使用
- 正则表达式
- 前端性能优化--能用css的地方尽量不要用js
- [leetcode] 167. Two Sum II - Input array is sorted 解题报告
- 软件第二次作业
- 作业