public class HeplerConUtils {
public HeplerConUtils() {};
public HeplerConUtils get(final String path) {
new Thread() {
@Override
public void run() {
super.run();
try {
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(3000);
int code = connection.getResponseCode();
if (code == HttpURLConnection.HTTP_OK) {
InputStream inputStream = connection.getInputStream();
String s = CharStreams.toString(new InputStreamReader(inputStream, "UTF-8"));
Message message = Message.obtain();
message.obj = s;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
return this;
}
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
String str = (String) msg.obj;
//调用接口方法
helpListener.getHelpListener(str);
}
};
//写一个接口
public interface HelpListener {
void getHelpListener(String str);
}
//写一个属性
private HelpListener helpListener;
//写监听,可让外部访问
public void getData(HelpListener helpListener) {
this.helpListener = helpListener;
}
}
//在Java代码中
private void getnetData() {
new HeplerConUtils().get(Url).getData(new HeplerConUtils.HelpListener() {
@Override
public void getHelpListener(String str) {
//gson解析
Gson gson = new Gson();
User user = gson.fromJson(str, User.class);
//Toast.makeText(MainActivity.this,user.toString(),Toast.LENGTH_SHORT).show();
//创建一个ImageView集合
ArrayList<ImageView> imageViews = new ArrayList<>();
for (int i = 0; i < user.getData().size(); i++) {
//初始化imgeview
ImageView imageView = new ImageView(MainActivity.this);
Integer pic = Integer.valueOf(user.getData().get(i).getIcon());
//把图片添加到imageview对象中
imageView.setBackgroundResource(pic);
imageViews.add(imageView);
}
//配置适配器
Myadapter myadapter = new Myadapter(imageViews);
pager.setAdapter(myadapter);
}
});
}
}