好久没来自己的博客空间了!越来越懒!这两天在玩android studio 感觉还可以,顺便温习一下之前从网上看的小Demo。感觉还是有必要记一下吧。毕竟这个第三方图片加载控件不错,以后也能用上。好了先上一波代码
public class DemoLoaderApplication extends Application { @Override public void onCreate() { super.onCreate(); initLoaderImage(getApplicationContext()); } //初始化DisplayImageOpations private static void initLoaderImage(Context context) { DisplayImageOptions mOptions = new DisplayImageOptions.Builder() .cacheOnDisc().cacheInMemory().build(); ImageLoaderConfiguration mConfig = new ImageLoaderConfiguration.Builder(context) .defaultDisplayImageOptions(mOptions) .threadPriority(Thread.NORM_PRIORITY - 2) .denyCacheImageMultipleSizesInMemory() .diskCacheFileNameGenerator(new Md5FileNameGenerator()) .tasksProcessingOrder(QueueProcessingType.LIFO).build(); ImageLoader.getInstance().init(mConfig); } }
AndroidManifest.xml中添加好Application和网络权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:name=".DemoLoaderApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
下面是主程序第一个activity
public class MainActivity extends AppCompatActivity { private ListView ImageviewList; private DisplayImageOptions imageOptions; private ImageLoader imageLoader; private String[] arr = new String[]{ "http://t12.baidu.com/it/u=3892037522,4148855209&fm=59", "http://t12.baidu.com/it/u=176596478,1719464859&fm=59", "http://t10.baidu.com/it/u=2563391112,3174229346&fm=59", "http://t11.baidu.com/it/u=38767480,4056423661&fm=59", "http://t12.baidu.com/it/u=2188089986,1772099895&fm=59", "http://t10.baidu.com/it/u=4010714787,2970343447&fm=59", "http://t11.baidu.com/it/u=2520234337,3270250852&fm=59", "http://t10.baidu.com/it/u=2395220391,4053197141&fm=59", "http://imgsrc.baidu.com/forum/w%3D580/sign=9ca9a5a472c6a7efb926a82ecdfbafe9/9beed71373f08202211791444ffbfbedaa641b6c.jpg",}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.loader_activity_main); initView(); } private void initView() { imageLoader = ImageLoader.getInstance(); imageOptions = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_launcher) .showImageForEmptyUri(R.drawable.ic_launcher) .showImageOnFail(R.drawable.ic_launcher) .cacheInMemory(true).cacheOnDisk(true).considerExifParams(true) .bitmapConfig(Bitmap.Config.RGB_565).build(); ImageviewList = (ListView) findViewById(R.id.ID_LOADER_IMAGE_LISTEVIEW); LoaderAdapter mAdapter = new LoaderAdapter(this, arr, imageOptions, imageLoader); ImageviewList.setAdapter(mAdapter); } }
自定义适配器
public class LoaderAdapter extends BaseAdapter { private Context mContext; private String[] arr; private DisplayImageOptions mOpations; private ImageLoader mLoader; public LoaderAdapter(Context mContext, String[] arr, DisplayImageOptions mOpations, ImageLoader mLoader) { this.mContext = mContext; this.arr = arr; this.mOpations = mOpations; this.mLoader = mLoader; } @Override public int getCount() { return arr.length; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { HImageView hImageView; if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate(R.layout.item_imageview_loader, null); hImageView = new HImageView(); hImageView.imageView = (ImageView) convertView.findViewById(R.id.ID_ITEM_IMAGEVIEW); convertView.setTag(hImageView); } else { hImageView = (HImageView) convertView.getTag(); } mLoader.displayImage(arr[position], hImageView.imageView, mOpations); return convertView; } private static class HImageView { private ImageView imageView; } }
大概就是这样吧··很简单的一个Demo xml布局文件我就不上了··
http://download.csdn.net/detail/lostfine/9575668加个源码下载链接地址