Android应用中如何异步下载图片并将图片保存到本地DEMO中-创新互联

Android应用中如何异步下载图片并将图片保存到本地DEMO中?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、横县网站维护、网站推广。

下面是demo中的Activity。

public class MainActivity extends Activity { 
 protected static final int SUCCESS_GET_CONTACT = 0; 
 private ListView mListView; 
 private MyContactAdapter mAdapter; 
 private File cache; 
 private Handler mHandler = new Handler(){ 
  public void handleMessage(android.os.Message msg) { 
   if(msg.what == SUCCESS_GET_CONTACT){ 
    List<Contact> contacts = (List<Contact>) msg.obj; 
    mAdapter = new MyContactAdapter(getApplicationContext(),contacts,cache); 
    mListView.setAdapter(mAdapter); 
   } 
  }; 
 }; 
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.main); 
  mListView = (ListView) findViewById(R.id.listview); 
  //创建缓存目录,系统一运行就得创建缓存目录的, 
  cache = new File(Environment.getExternalStorageDirectory(), "cache"); 
  if(!cache.exists()){ 
   cache.mkdirs(); 
  } 
  //获取数据,主UI线程是不能做耗时操作的,所以启动子线程来做 
  new Thread(){ 
   public void run() { 
    ContactService service = new ContactService(); 
    List<Contact> contacts = null; 
    try { 
     contacts = service.getContactAll(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    //子线程通过Message对象封装信息,并且用初始化好的, 
    //Handler对象的sendMessage()方法把数据发送到主线程中,从而达到更新UI主线程的目的 
    Message msg = new Message(); 
    msg.what = SUCCESS_GET_CONTACT; 
    msg.obj = contacts; 
    mHandler.sendMessage(msg); 
   }; 
  }.start(); 
 } 
 @Override 
 protected void onDestroy() { 
  super.onDestroy(); 
  //清空缓存 
  File[] files = cache.listFiles(); 
  for(File file :files){ 
   file.delete(); 
  } 
  cache.delete(); 
 } 
} 

分享标题:Android应用中如何异步下载图片并将图片保存到本地DEMO中-创新互联
转载来源:https://www.cdcxhl.com/article16/ddeidg.html

成都网站建设公司_创新互联,为您提供软件开发静态网站企业网站制作建站公司移动网站建设搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司