MainActivity
private ListView listView; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { List<Bean.NewslistBean> list = (List<Bean.NewslistBean>) msg.obj; Myadaptet myadaptet = new Myadaptet(list, MainActivity.this); listView.setAdapter(myadaptet); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = findViewById(R.id.lv); Net net = new Net(); if(net.isCoon(this)){ new Thread(){ @Override public void run() { fangfa(); } }.start(); }else{ net.NetAlertDialog(this); } } private void fangfa() { try { URL url = new URL("http://api.tianapi.com/social/?key=ccb52b925a990c6082e12eaec78f1666&num=10"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); int responseCode = urlConnection.getResponseCode(); if(responseCode==200){ InputStream inputStream = urlConnection.getInputStream(); String s = streamtoString(inputStream); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); List<Bean.NewslistBean> list = bean.getNewslist(); Message msg = Message.obtain(); msg.obj = list; handler.sendMessage(msg); } } catch ( Exception e) { e.printStackTrace(); } } private String streamtoString(InputStream inputStream) { StringBuilder stringBuilder = new StringBuilder(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String str; try { if((str = reader.readLine())!=null){ stringBuilder.append(str); } } catch (Exception e) { e.printStackTrace(); } return stringBuilder.toString(); }
MyAdapter
class Myadaptet extends BaseAdapter{ List<Bean.NewslistBean> list; Context context; public Myadaptet(List<Bean.NewslistBean> list, MainActivity context) { this.list= list; this.context =context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if(convertView==null){ convertView = View.inflate(context,R.layout.item,null); holder = new ViewHolder(); holder.Tvdesc = convertView.findViewById(R.id.tvdesc); holder.Tvtitle = convertView.findViewById(R.id.tvtitle); convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } holder.Tvtitle.setText(list.get(position).getTitle()); holder.Tvdesc.setText(list.get(position).getDescription()); return convertView; } class ViewHolder{ TextView Tvtitle; TextView Tvdesc; } }
NET 网络开关AlertDialog 提示
class Net { public boolean isCoon(Context context){ ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = manager.getActiveNetworkInfo(); if(activeNetworkInfo!=null&&activeNetworkInfo.isAvailable()){ return true; }else{ return false; } } public void NetAlertDialog(final Context context){ AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("打开网络设置界面"); builder.setMessage("当前没有网络,是否打开网络设置界面"); builder.setPositiveButton("设置", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = null; if(Build.VERSION.SDK_INT>10){ intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); }else{ intent = new Intent(); intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings"); } context.startActivity(intent); } }); builder.setNegativeButton("取消",null); AlertDialog dialog = builder.create(); dialog.show(); } }
清单文件配置
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET"/>