package com.bawei.day03text;
import android.content.Context;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;
import com.bawei.adapter.MyAdapter;
import com.bawei.bean.Data;
import com.bawei.bean.JsonBean;
import com.google.gson.Gson;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private ListView listview;
private int page = 1;
private String path = “http://www.xieast.com/api/news/news.php”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = findViewById(R.id.listview);
MyAsyncTask task = new MyAsyncTask();
task.execute(path + "?page=" + page);
}
private class MyAsyncTask extends AsyncTask<String, Integer, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
Toast.makeText(MainActivity.this, "请稍等", Toast.LENGTH_SHORT).show();
}
@Override
protected String doInBackground(String... parmas) {
String uri = parmas[0];
try {
URL url = new URL(uri);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
int responseCode = conn.getResponseCode();
if (responseCode == 200) {
InputStream stream = conn.getInputStream();
ByteArrayOutputStream stream1 = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = stream.read(buffer)) != -1) {
stream1.write(buffer, 0, len);
}
publishProgress(10, 2);
stream.close();
stream1.close();
String json = stream1.toString();
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Integer... values) {
// super.onProgressUpdate(values);
Log.i("abc", values[0] + "," + values[1]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Log.i("abc", s);
Gson gson = new Gson();
JsonBean fromJson = gson.fromJson(s, JsonBean.class);
ArrayList<Data> data = fromJson.getData();
MyAdapter adapter = new MyAdapter(MainActivity.this, data);
listview.setAdapter(adapter);
}
}
}