public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
int page = 1, count = 10;
private XListView xlist_view;
private String data;
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlist_view = findViewById(R.id.xlist_view);
xlist_view.setPullLoadEnable(true);
xlist_view.setPullRefreshEnable(true);
xlist_view.setXListViewListener(this);
}
class AsyncTask extends android.os.AsyncTask<Integer, Integer, String> {
@Override
protected String doInBackground(Integer... integers) {
try {
String uri = "http://47.95.253.123/boot/api/findKtcon?pageNum=" + page + "&pageSize=" + count + "";
URL url = new URL(uri);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//设置方法
connection.setRequestMethod("POST");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
//获取流文件
InputStream inputStream = connection.getInputStream();
//获取数据
data = getData(inputStream);
// Log.i("aa", "doInBackground: "+data);
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//解析数据
Gson gson = new Gson();
NewsBean newsBean = gson.fromJson(s, NewsBean.class);
//Log.i("aa", "onPostExecute: "+newsBean.getResult().toString());
adapter = new MyAdapter(MainActivity.this, newsBean);
xlist_view.setAdapter(adapter);
}
}
private String getData(InputStream inputStream) {
try {
//把字节流文件转成字符流
InputStreamReader reader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(reader);
//创建字符缓冲区
StringBuilder builder = new StringBuilder();
String str = "";
while ((str = bufferedReader.readLine()) != null) {
builder.append(str);
}
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
public void onRefresh() {
page = 1;
new Runnable() {
@Override
public void run() {
getData();
//adapter.notifyDataSetChanged();
}
}.run();
onLoad();
}
@Override
public void onLoadMore() {
page++;
new Runnable() {
@Override
public void run() {
getData();
adapter.notifyDataSetChanged();
}
}.run();
onLoad();
}
public void onLoad() {
xlist_view.stopRefresh();
xlist_view.stopLoadMore();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd E HH:mm:ss");
String s = format.format(new Date());
xlist_view.setRefreshTime(s);
}
public void getData() {
if (NetWorkUtils.getNet(MainActivity.this)) {
new AsyncTask().execute();
Toast.makeText(this, "网络已连接", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "无网络连接", Toast.LENGTH_SHORT).show();
}
}
}