useLibrary'org.apache.http.legacy'
public class MainActivity extends AppCompatActivity {
private String path ="http://v.juhe.cn/toutiao/index";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(){
@Override
public void run() {
super.run();
//1.得到HttpClient
HttpClient httpClient = new DefaultHttpClient();
//2.设置请求方式
HttpPost post = new HttpPost(path);
//3添加参数
List<BasicNameValuePair> list= new ArrayList<BasicNameValuePair>();
list.add(new BasicNameValuePair("key","444da40ec8ee43818073d7131c2ffa8f"));
//得到响应数据
try {
HttpEntity entity = new UrlEncodedFormEntity(list,"utf-8");
//5.设置参数给地址
post.setEntity(entity);
//6.执行
HttpResponse response = httpClient.execute(post);
//7.获取响应码
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200){
//9.得到值
HttpEntity entity1 = response.getEntity();
String string = EntityUtils.toString(entity1, "utf-8");
Log.i("TAG","string");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}
//HttpClient Get 加 异步
public class FragmentTwo
extends Fragment {
private String
path =
"http://120.27.23.105/product/getProductCatagory?cid=1";
private ListView
lv;
@Nullable
@Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.
fragmentwo,container,
false);
lv = view.findViewById(R.id.
two_lv);
MyAsynctask myAsynctask =
new MyAsynctask();
myAsynctask.execute(
path);
return view;
}
class MyAsynctask
extends AsyncTask<String,Void,String>{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
String string =
"";
//请求数据 得到HttpClient
HttpClient httpClient =
new DefaultHttpClient();
//得到请求方式
HttpGet httpGet =
new HttpGet(params[
0]);
//执行请求方式
try {
HttpResponse response = httpClient.execute(httpGet);
//得到响应吗 getStatusLine()得到所有响应头的信息 getStatusCode()得到响应码
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode==
200){
//得到响应头的数据
HttpEntity entity = response.getEntity();
//定义数据的类型
string = EntityUtils.
toString(entity,
"utf-8");
Log.
i(
"TAG",string);
}
}
catch (Exception e) {
e.printStackTrace();
}
return string;
}
HttpClient Get 加 异步
public class FragmentTwo
extends Fragment {
private String
path =
"http://120.27.23.105/product/getProductCatagory?cid=1";
private ListView
lv;
@Nullable
@Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.
fragmentwo,container,
false);
lv = view.findViewById(R.id.
two_lv);
MyAsynctask myAsynctask =
new MyAsynctask();
myAsynctask.execute(
path);
return view;
}
class MyAsynctask
extends AsyncTask<String,Void,String>{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
String string =
"";
//请求数据 得到HttpClient
HttpClient httpClient =
new DefaultHttpClient();
//得到请求方式
HttpGet httpGet =
new HttpGet(params[
0]);
//执行请求方式
try {
HttpResponse response = httpClient.execute(httpGet);
//得到响应吗 getStatusLine()得到所有响应头的信息 getStatusCode()得到响应码
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode==
200){
//得到响应头的数据
HttpEntity entity = response.getEntity();
//定义数据的类型
string = EntityUtils.
toString(entity,
"utf-8");
Log.
i(
"TAG",string);
}
}
catch (Exception e) {
e.printStackTrace();
}
return string;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Log.
i(
"TAG",s);
Gson gson =
new Gson();
YeMianBeans yeMianBeans = gson.fromJson(s, YeMianBeans.
class);
List<YeMianBeans.DataBean> data = yeMianBeans.getData();
List<YeMianBeans.DataBean.ListBean> list1 =
new ArrayList<>();
for (
int i =
0; i < data.size(); i++) {
List<YeMianBeans.DataBean.ListBean> list = data.get(i).getList();
//相同类型用listall
list1.addAll(list);
}
FragmentListView_two fragmentListView_two =
new FragmentListView_two(list1,getActivity());
lv.setAdapter(fragmentListView_two);
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
}
}