AsyncTask
来源:互联网 发布:马克斯cms 资源站 编辑:程序博客网 时间:2024/06/02 01:14
AsyncTask加载图片在最下边注释了,改为了ImageLoader加载图片,可以看.
public class MainActivity extends AppCompatActivity { Button bt_client; Button bt_connection; ListView lv; List<Bean.NewslistBean> newslist; private ImageLoader imaloa; private DisplayImageOptions dlio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt_client = (Button) findViewById(R.id.bt_Client); bt_connection = (Button) findViewById(R.id.bt_Connection); lv = (ListView) findViewById(R.id.listview_lv); bt_client.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { bt_conect(); } }); bt_connection.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { bt_conect(); } }); imaloa = ImageLoader.getInstance(); dlio = new DisplayImageOptions.Builder().build(); } private void bt_conect() { new MyAsyonTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"); } class MyAsyonTask extends AsyncTask<String,Void,String>{ @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gs = new Gson(); Bean bean = gs.fromJson(s, Bean.class); newslist = bean.getNewslist(); lv.setAdapter(new MyAdpt()); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } @Override protected String doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection huc = (HttpURLConnection) url.openConnection(); if(huc.getResponseCode()==200){ InputStream inputStream = huc.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder sb = new StringBuilder(); String s = ""; while((s=br.readLine())!=null){ sb.append(s); } String s1 = sb.toString(); return s1; } } catch (Exception e) { e.printStackTrace(); } return null; } } class MyAdpt extends BaseAdapter{ @Override public int getCount() { return newslist.size(); } @Override public Object getItem(int i) { return newslist.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Adpt ad; Bean.NewslistBean bn = newslist.get(i); if(view==null){ view = View.inflate(MainActivity.this,R.layout.listview_shitu,null); ad = new Adpt(); ad.imag = view.findViewById(R.id.img_listview); ad.textv = view.findViewById(R.id.text_title); ad.textv2 = view.findViewById(R.id.text_time); view.setTag(ad); }else{ ad = (Adpt) view.getTag(); } //new ImgAsyinTask(ad.imag).execute(bn.getPicUrl()); imaloa.displayImage(bn.getPicUrl(),ad.imag); ad.textv.setText(bn.getTitle()); ad.textv2.setText(bn.getCtime()); return view; } } class Adpt{ ImageView imag; TextView textv; TextView textv2; } /*class ImgAsyinTask extends AsyncTask<String,Void,Bitmap>{ ImageView im; public ImgAsyinTask(ImageView im) { this.im = im; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); im.setImageBitmap(bitmap); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } @Override protected Bitmap doInBackground(String... strings) { try { URL u = new URL(strings[0]); HttpURLConnection htu = (HttpURLConnection) u.openConnection(); if(htu.getResponseCode()==200){ InputStream inputStream = htu.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; } } catch (Exception e) { e.printStackTrace(); } return null; } }*/}
阅读全文
0 0
- AsyncTask
- ASyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- 服务端配合web端上传视频
- Java多线程--Fork Join分而治之
- Mybatis传递多个参数的解决办法(三种)
- Linux系统编程——特殊进程之孤儿进程
- c++宏定义
- AsyncTask
- js中sort()方法的用法,参数以及排序原理
- MIT波士顿咨询联合报告:在AI这件事上,多数企业都眼高手低
- 登录跳转到原地址
- 百练OJ:2746:约瑟夫问题
- vector<int*>所犯下的一些错误
- Android--okhttp与php交互,文件上传下载
- 网易笔试编程题(一)
- 每日一题--丑数