//封装一个判断网络的类
public class HttpNet {
public static boolean isNetConnected(Context context){
boolean isNetConnected;
//获得网络服务
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = manager.getActiveNetworkInfo();
if (info != null && info.isAvailable()){
isNetConnected = true;
}else {
isNetConnected = false;
}
return isNetConnected;
}
}
java代码:
public class MainActivity extends AppCompatActivity {
private ListView listView;
private String path = "http://www.xieast.com/api/news/news.php?page=";
private int count = 1;
private int i;
private ArrayList<User.Data> list;
private View button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找控件
listView = findViewById(R.id.listview);
button = findViewById(R.id.button);
//获取数据
getData();
//创建空集合
list = new ArrayList<>();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, list.get(position).getTitle(),Toast.LENGTH_SHORT).show();
}
});
}
private void getData() {
boolean flag = new HttpNet().isNetConnected(MainActivity.this);
if (flag){
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
i = count++;
HttpUtils httpUtils = new HttpUtils();
httpUtils.getPath(path + i);
httpUtils.getstring(new HttpUtils.GetData() {
@Override
public void setstring(String s) {
Gson gson = new Gson();
User user = gson.fromJson(s, User.class);
list.addAll(user.getData());
//Toast.makeText(MainActivity.this, list.toString(),Toast.LENGTH_SHORT).show();
//设置适配器
listView.setAdapter(new MyAdapter(MainActivity.this,list));
}
});
}
});
}else {
Toast.makeText(MainActivity.this,"亲,没网啦",Toast.LENGTH_SHORT).show();
}
}
}