主要看看AsyncTask如何使用:
MainActivity.java
1. public class MainActivity extends Activity {
2. private static final String TAG = "MainActivity";
3. private List<String> datas;
4. private LayoutInflater inflater;
5. private Context context;
6. private MyAdapter adapter;
7. private ListView listview;
8. private List<String> imgUrls;
9. private List<TextView> list = new ArrayList<TextView>();
10. private List<String> sortUrl = new ArrayList<String>();
11. @Override
12. protected void onCreate(Bundle savedInstanceState) {
13. super.onCreate(savedInstanceState);
14. requestWindowFeature(Window.FEATURE_NO_TITLE);
15. setContentView(R.layout.activity_main);
16. this);
17. this;
18. listview = (ListView) findViewById(R.id.listview);
19. initData();
20. new MyAdapter();
21. listview.setAdapter(adapter);
22. }
23.
24. private void initData() {
25. new ArrayList<String>();
26. "http://img5.douban.com/view/movie_poster_cover/mpst/public/p2199507156.jpg");
27. "http://img5.douban.com/lpic/s27397768.jpg");
28. "http://img3.douban.com/lpic/s27505695.jpg");
29. "http://img3.douban.com/lpic/s27461340.jpg");
30. "http://img3.douban.com/lpic/s27451442.jpg");
31. "http://img5.douban.com/lpic/s27453059.jpg");
32. "http://img3.douban.com/lpic/s27452925.jpg");
33. "http://img5.douban.com/lpic/s27452846.jpg");
34. "http://img3.douban.com/lpic/s27325332.jpg");
35. "http://img3.douban.com/lpic/s27325315.jpg");
36. "http://img5.douban.com/lpic/s27389537.jpg");
37. "http://img3.douban.com/view/movie_poster_cover/mpst/public/p2199638985.jpg");
38. "http://img3.douban.com/view/movie_poster_cover/mpst/public/p2199637691.jpg");
39. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2195768476.jpg");
40. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2180002996.jpg");
41. "http://img3.douban.com/view/movie_poster_cover/lpst/public/p2182978810.jpg");
42. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2164841498.jpg");
43. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2161445839.jpg");
44. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2183221886.jpg");
45. "http://img3.douban.com/view/movie_poster_cover/lpst/public/p2164383301.jpg");
46. "http://img3.douban.com/view/movie_poster_cover/lpst/public/p2199638985.jpg");
47. "http://img3.douban.com/view/movie_poster_cover/lpst/public/p2199407040.jpg");
48. "http://img3.douban.com/view/movie_poster_cover/lpst/public/p2176900061.jpg");
49. "http://img3.douban.com/view/movie_poster_cover/lpst/public/p2180405730.jpg");
50. "http://img3.douban.com/view/movie_poster_cover/lpst/public/p2197059721.jpg");
51. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2196353608.jpg");
52. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2187391526.jpg");
53. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2185073849.jpg");
54. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2196328516.jpg");
55. "http://img5.douban.com/view/movie_poster_cover/lpst/public/p2166850749.jpg");
56. "http://img3.douban.com/view/movie_poster_cover/lpst/public/p2183957412.jpg");
57. "http://img3.douban.com/spic/s27459164.jpg");
58. "http://img3.douban.com/spic/s27480483.jpg");
59. "http://img3.douban.com/spic/s27460951.jpg");
60. "http://img3.douban.com/spic/s27453772.jpg");
61. "http://img3.douban.com/spic/s27410904.jpg");
62. "http://img5.douban.com/spic/s27466008.jpg");
63. "http://img3.douban.com/spic/s3259484.jpg");
64. "http://img3.douban.com/spic/s3081692.jpg");
65. "http://img3.douban.com/spic/s1400630.jpg");
66. "http://img5.douban.com/spic/s4715377.jpg");
67. "http://img3.douban.com/spic/s6201192.jpg");
68. "http://img5.douban.com/spic/s2650727.jpg");
69. "http://img3.douban.com/spic/s3636124.jpg");
70. "http://img5.douban.com/spic/s3595798.jpg");
71. "http://img3.douban.com/spic/s27078194.jpg");
72. "http://img3.douban.com/view/event_poster/large/public/2a35a85a873e8e7.jpg");
73. "http://img3.douban.com/view/event_poster/large/public/ce66e0569742fd7.jpg");
74. "http://img3.douban.com/view/event_poster/large/public/4c44752e83900d9.jpg");
75. "http://img3.douban.com/view/event_poster/large/public/d22f7b9e5c8c92c.jpg");
76. }
77.
78. private class MyAdapter extends BaseAdapter{
79. @Override
80. public int getCount() {
81. return imgUrls.size();
82. }
83. @Override
84. public Object getItem(int position) {
85. return imgUrls.get(position);
86. }
87. @Override
88. public long getItemId(int position) {
89. return position;
90. }
91. @Override
92. public View getView(int position, View convertView, ViewGroup arg2) {
93. null;
94. if(convertView == null){
95. new ViewHolder();
96. null);
97. viewHolder.image = (ImageView) convertView.findViewById(R.id.img);
98. convertView.setTag(viewHolder);
99. else{
100. viewHolder = (ViewHolder) convertView.getTag();
101. }
102. new ImageTask(viewHolder.image);
103. iamgeTask.execute(imgUrls.get(position));
104. return convertView;
105. }
106. class ViewHolder{
107. ImageView image;
108. }
109. }
110. }
加载图片的类:
ImageTask.java
1. public class ImageTask extends AsyncTask<String, Void, Bitmap> {标签:异步,http,douban,jpg,AsyncTask,img3,com,public,加载 From: https://blog.51cto.com/u_11407799/5915735
2. private ImageView iv;
3. publicImageTask(ImageView iv){
4. this.iv = iv;
5. }
6. @Override
7. protected Bitmap doInBackground(String... param) {
8. 0];
9. try {
10. new URL(imgUrl);
11. try {
12. HttpURLConnection conn = (HttpURLConnection) url.openConnection();
13. InputStream in = conn.getInputStream();
14. Bitmap bitmap = BitmapFactory.decodeStream(in);
15. if(bitmap!=null){
16. return bitmap;
17. }
18. catch (IOException e) {
19. // TODO Auto-generated catch block
20. e.printStackTrace();
21. }
22. catch (MalformedURLException e) {
23. // TODO Auto-generated catch block
24. e.printStackTrace();
25. }
26. return null;
27. }
28.
29. @Override
30. protected void onPostExecute(Bitmap result) {
31. super.onPostExecute(result);
32. if(result != null){
33. iv.setImageBitmap(result);
34. }
35. }
36.
37. @Override
38. protected void onPreExecute() {
39. super.onPreExecute();
40. }
41. }