編輯:關於Android編程
/** * @author [email protected] * @time 20140606 */ package com.intbird.utils; import java.io.File; import com.yilake.store.FileHelper; import android.graphics.Bitmap; import android.os.Environment; import android.util.LruCache; public class CacheManager { //單例 private static CacheManager cacheInstance; //內存緩存大小 private final int MEMO_CACHE_SIZE=((int)(Runtime.getRuntime().maxMemory()/1024)); //文件緩存大小 private final int DISK_CACHE_SIZE=1024*1024*100; //內存緩存 private LruCachemMemoryCache; //文件緩存 private DiskLruCache mDiskLruCache; private String cacheUrl=""; public CacheManager() { //內存緩存 mMemoryCache=new LruCache (MEMO_CACHE_SIZE){ protected int sizeOf(String key, Bitmap bitmap) { return bitmap.getByteCount()/1024; }; }; //文件緩存 setBitmapFileCacheDir(FileHelper.DISK_CACHE_FILEDIR); } /** * 獲取單例 * @return */ public static CacheManager getInstance() { if(cacheInstance==null){ cacheInstance=new CacheManager(); } return cacheInstance; } /** * 設置緩存目錄; * @param cacheDir */ public void setBitmapFileCacheDir(String cacheDir){ File cacheFile= getDiskFileCache(cacheDir); cacheUrl=cacheFile.getAbsolutePath(); mDiskLruCache=DiskLruCache.openCache(cacheFile, DISK_CACHE_SIZE); } /** * 返回緩存目錄路徑 * @return */ public String getBitmapFileCacheDir(){ return cacheUrl; } //通用外部調用 public void addBitmapToCache(String fileUrl, Bitmap bitmap) { addBitmapToMemory(fileUrl,bitmap); addBitmapToDisk(fileUrl,bitmap); } public Bitmap getBitmapFromCache(String key){ Bitmap bmp=null; bmp=getBitmapFromMemory(key); if(bmp==null){ bmp=getBitmapFromDisk(key); } return bmp; } /** * 圖片加入內存緩存 * @param key * @param bitmap */ private void addBitmapToMemory(String key,Bitmap bitmap){ if(getBitmapFromMemory(key)==null){ mMemoryCache.put(key, bitmap); } } /** * 獲取內存緩存圖片 * @param key * @return */ private Bitmap getBitmapFromMemory(String key){ return mMemoryCache.get(key); } /** * 將圖片加入文件緩存 * @param key * @param bitmap */ private void addBitmapToDisk(String key,Bitmap bitmap){ if (mDiskLruCache != null && mDiskLruCache.get(key) == null) { mDiskLruCache.put(key, bitmap); } } /** * 從文件緩存中獲取圖片 * @param key * @return */ private Bitmap getBitmapFromDisk(String key){ if (mDiskLruCache != null) { return mDiskLruCache.get(key); } return null; } /** * 獲取緩存目錄 * @return */ public static File getDiskFileCache(String cacheDir){ String cachePath =Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !Environment.isExternalStorageRemovable() ? Environment.getExternalStorageDirectory().getPath(): Environment.getDataDirectory().getPath(); File file =new File(cachePath + File.separator + cacheDir); if(!file.exists()) file.mkdir(); return file; } }
RecyclerView 已經出來很久了,但是在項目中之前都使用的是ListView,最近新的項目上了都大量的使用了RecycleView.尤其是瀑布流的下拉刷新,網上吧
Activity是Android四大組件中最基礎也是最常用的組件之一。Activity作為一個應用程序組件,提供了一個與用戶交互的界面。可以這麼說Activity是和用戶
1,上圖:2,代碼:MainActivity.Javapackage com.hero.zhaoq.seekbarchangeddemo;import android.c
發送短信 發送短信的時候,我們要使用的action是Intent.ACTION_SENDTO,並且要指定其URI是smsto:協議,這樣能保證是短信應用接