package com.bwie.fragment;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import com.bwie.Week1Demo1.R;
import com.bwie.adapter.MyListAdapter;
import com.bwie.adapter.MyPagerAdapter;
import com.bwie.bean.PhoneData;
import com.google.gson.Gson;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
/**
* Created by McGrady on 2018/7/7.
*/
public class Fragment1 extends Fragment {
@InjectView(R.id.view_pager)
ViewPager view_pager;
@InjectView(R.id.list_view)
ListView list_view;
private MyPagerAdapter pagerAdapter;
private List<PhoneData.DataBean> data;
private List<String> text_list;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
int i = view_pager.getCurrentItem();
i++;
view_pager.setCurrentItem(i);
handler.removeCallbacksAndMessages(null);
handler.sendEmptyMessageDelayed(0, 1000);
break;
case 1:
String json = (String) msg.obj;
Gson gson = new Gson();
PhoneData phoneData = gson.fromJson(json, PhoneData.class);
data = phoneData.getData();
for (int j = 0; j < data.size(); j++) {
Log.i("aaa", data.get(j).getContent());
}
myListAdapter = new MyListAdapter(data, getActivity());
list_view.setAdapter(myListAdapter);
handler.removeCallbacksAndMessages(null);
break;
default:
break;
}
}
};
private MyListAdapter myListAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment1, container, false);
ButterKnife.inject(this, view);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ArrayList<Integer> img_list = new ArrayList<>();
img_list.add(R.mipmap.ic_launcher);
img_list.add(R.mipmap.ic_launcher);
img_list.add(R.mipmap.ic_launcher);
pagerAdapter = new MyPagerAdapter(img_list, getActivity());
view_pager.setAdapter(pagerAdapter);
view_pager.setCurrentItem(img_list.size() * 1000);
handler.sendEmptyMessageDelayed(0, 1000);
getServerJsonData();
list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("确定更新吗");
builder.setMessage(data.get(position).getContent());
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getActivity(),"正在后台更新中。。。",1).show();
}
});
builder.setNegativeButton("取消",null);
builder.show();
}
});
}
private void getServerJsonData() {
new Thread() {
@Override
public void run() {
super.run();
String path = "http://www.yulin520.com/a2a/forum/allTypeList?sign=376C5BFC22179A1B8FF3A86D4588B29F&pageSize=10&ts=1877785007&forumType=0&page=1";
try {
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.setRequestMethod("GET");
if (connection.getResponseCode() == 200) {
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
inputStream.close();
;
bos.close();
String json = bos.toString();
Log.i("xxx", json);
Message message = Message.obtain();
message.what = 1;
message.obj = json;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.reset(this);
}
}
Android HttpUrlConnection获取数据
最新推荐文章于 2024-08-11 03:18:56 发布