MyFrist
来源:互联网 发布:知乎 下水道疏通除尿碱 编辑:程序博客网 时间:2024/05/22 17:25
//主Activity
import android.app.Activity;import android.os.AsyncTask;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ListView;import com.google.gson.Gson;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.conn.ssl.AllowAllHostnameVerifier;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.DefaultHttpClient;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;import adapter.MyAdapter;import bean.UserBean;public class MainActivity extends Activity { private ListView listView; private Button button_httprelconnection; private Button button_httpclient; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 0){ UserBean userBean= (UserBean) msg.obj; List<UserBean.NewslistBean> newslist = userBean.getNewslist(); MyAdapter myAdapter = new MyAdapter(MainActivity.this, newslist); listView.setAdapter(myAdapter); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.list_view); button_httpclient = (Button) findViewById(R.id.button_httpclient); button_httprelconnection = (Button) findViewById(R.id.button_httprelconnection); button_httpclient.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { listView.setAdapter(null); MyTask myTask = new MyTask(); myTask.execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"); Log.i("button_httpclient监听" , "button_httpclient监听------>" + "成功"); } }); button_httprelconnection.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new Thread(){ @Override public void run() { Log.i("button_httprelconnection监听" , "button_httprelconnection监听------>" + "成功");// listView.setAdapter(null); String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"; try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); int responseCode = connection.getResponseCode(); Log.i("button_httprelconnection监听" , "button_httprelconnection监听------>" + "成功" +responseCode); if (responseCode == 200){ InputStream inputStream = connection.getInputStream(); String json = StreanToString(inputStream, "utf-8"); Gson gson = new Gson(); UserBean userBean = gson.fromJson(json, UserBean.class); Log.i("信息",userBean.toString()); Message msg =Message.obtain(); msg.obj=userBean; msg.what=0; handler.sendMessage(msg); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); } private String StreanToString(InputStream inputStream, String s) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuilder builder = new StringBuilder(); String string = null; while ((string = bufferedReader.readLine()) != null){ builder.append(string); } bufferedReader.close(); Log.i("builder02" , "builder02------>" + builder.toString()); return builder.toString(); } catch (IOException e) { e.printStackTrace(); } return null; } class MyTask extends AsyncTask<String , Integer , String> { @Override protected String doInBackground(String... strings) { try { Log.i("builder" , "builder------>"); SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier()); DefaultHttpClient defaultHttpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(strings[0]); HttpResponse execute = defaultHttpClient.execute(httpGet); int statusCode = execute.getStatusLine().getStatusCode(); Log.i("builder" , "builder------>" + statusCode); if (statusCode == 200){ HttpEntity entity = execute.getEntity(); InputStream inputStream = entity.getContent(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String s = null; StringBuilder builder = new StringBuilder(); while ((s=bufferedReader.readLine()) != null){ builder.append(s); } bufferedReader.close(); Log.i("builder" , "builder------>"+builder.toString()); return builder.toString(); } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); UserBean userBean = gson.fromJson(s, UserBean.class); List<UserBean.NewslistBean> list = userBean.getNewslist(); MyAdapter adapter = new MyAdapter(MainActivity.this, list); listView.setAdapter(adapter); } }}//Bean类
package bean;import java.util.List;/** * Created by Lonely on 2017/9/4. */public class UserBean { private int code; private String msg; private List<NewslistBean> newslist; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public List<NewslistBean> getNewslist() { return newslist; } public void setNewslist(List<NewslistBean> newslist) { this.newslist = newslist; } public static class NewslistBean { private String ctime; private String title; private String description; private String picUrl; private String url; public String getCtime() { return ctime; } public void setCtime(String ctime) { this.ctime = ctime; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getPicUrl() { return picUrl; } public void setPicUrl(String picUrl) { this.picUrl = picUrl; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } }}
//adapter
package adapter;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.example.lonely.zhoukao01.MainActivity;import com.example.lonely.zhoukao01.R;import java.util.List;import bean.UserBean;import util.ImageUtil;/** * Created by Lonely on 2017/9/4. */public class MyAdapter extends BaseAdapter { Context context; List<UserBean.NewslistBean> list; public MyAdapter(Context context, List<UserBean.NewslistBean> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if (view == null){ holder = new ViewHolder(); view = View.inflate(context , R.layout.list_view_demo , null); holder.image_picUrl = view.findViewById(R.id.image_picUrl); holder.text_title = view.findViewById(R.id.text_title); holder.text_ctime = view.findViewById(R.id.text_ctime); view.setTag(holder); }else{ holder = (ViewHolder) view.getTag(); } new ImageUtil().ImageNei(list.get(i).getPicUrl() , holder.image_picUrl); holder.text_title.setText(list.get(i).getTitle()); holder.text_ctime.setText(list.get(i).getCtime()); return view; } class ViewHolder{ ImageView image_picUrl; TextView text_title; TextView text_ctime; }}//util
package util;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import android.widget.ImageView;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;/** * Created by Lonely on 2017/9/4. */public class ImageUtil { public void ImageNei(final String picUrl, final ImageView image_picUrl) { AsyncTask<Void, Void, Bitmap> asyncTask = new AsyncTask<Void, Void, Bitmap>() { @Override protected Bitmap doInBackground(Void... voids) { try { URL url = new URL(picUrl); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); int responseCode = urlConnection.getResponseCode(); if (responseCode == 200){ InputStream inputStream = urlConnection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); image_picUrl.setImageBitmap(bitmap); } }; asyncTask.execute(); }}
阅读全文
0 0
- MyFrist
- 您不具有该 Vuser 类型的许可证. 请与 HP Software 联系以更新许可证.
- jQuery源码分析-03构造jQuery对象-源码结构和核心函数
- HDU 5479 Scaena Felix【STL】
- 用ajax下载csv格式的文件
- Android okHttp网络请求之Json解析
- MyFrist
- 173. Binary Search Tree Iterator
- 区块链是什么,如何简单易懂地介绍区块链?
- webservice+Jquery返回Json格式
- 关于easyui来实现省市县的三级联动
- java基础之IO流--使用RandomAccessFile实现数据的分段写入
- Hibernate一
- 5 个关键点!优化你的 UI 原型设计
- 企业管理系统从五个方面改变传统办公