主页面操作
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private String urlString = "http://www.xieast.com/api/news/news.php?page=";
private ListView listView;
private List<Bean.DataBean> list = new ArrayList<>();
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what==1){
String json = (String)msg.obj;
//获取json
Gson gson = new Gson();
Bean bean = gson.fromJson(json, Bean.class);
List<Bean.DataBean> data = bean.getData();
list.addAll(data);
//获取适配器
adapter = new MyAdapter(list, MainActivity.this);
listView.setAdapter(adapter);
}
}
};
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
newThread();
}
private void newThread() {
new Thread(new Runnable() {
@Override
public void run() {
//创建NetWorkUtils方法
String netJson = NetWorkUtils.getNetJson(urlString);
Message message = handler.obtainMessage();
message.what = 1;
message.obj = netJson;
handler.sendMessage(message);
}
}).start();
}
}
创建NetWorkUtils方法
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class NetWorkUtils {
public static String getNetJson(String urlString) {
try {
//用Url对象分装接口
URL url = new URL(urlString);
//打开网络连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
int responseCode = connection.getResponseCode();
if(responseCode==200){
//返回的数据封装在输入流中
InputStream inputStream = connection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuffer stringBuffer = new StringBuffer();
String temp;
while((temp = bufferedReader.readLine())!=null){
stringBuffer.append(temp);
}
return stringBuffer.toString();
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}
完善适配器