package cn.itcast.asyncload; import java.io.File; import java.util.List; import cn.itcast.adapter.ContactAdapter; import cn.itcast.domain.Contact; import cn.itcast.service.ContactService; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.os.Message; import android.widget.ListView; public class MainActivity extends Activity { ListView listView; File cache; Handler handler = new Handler(){ public void handleMessage(Message msg) { //异常处理放在自定义适配器中处理 listView.setAdapter(new ContactAdapter(MainActivity.this, (List<Contact>)msg.obj, R.layout.listview_item, cache)); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); listView = (ListView) this.findViewById(R.id.listView); //指定文件的路径和文件夹名称 cache = new File(Environment.getExternalStorageDirectory(), "cache"); if(!cache.exists()) cache.mkdirs(); new Thread(new Runnable() { public void run() { try { List<Contact> data = ContactService.getContacts(); handler.sendMessage(handler.obtainMessage(22, data)); } catch (Exception e) { e.printStackTrace(); } } }).start(); } //清楚缓存 @Override protected void onDestroy() { //删除缓存目录下的文件(即清楚缓存)[cache.listFiles:获取cache文件加下的文件] for(File file : cache.listFiles()){ file.delete(); } //删除文件夹 cache.delete(); super.onDestroy(); } }