ImageLoader和wifi网络的判断
来源:互联网 发布:linux如何配置ntp 编辑:程序博客网 时间:2024/05/20 10:53
创建一个类继承Application
package com.wzq.imageloaderdemo1;
import android.app.Application;
import android.util.Log;
import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
/**
* 这个是系统全局的Application, 它就是系统生命周期最长的上下文;
* 系统已启动,并不是直接进入MainActivity;而是先进入Application;
* 重写他的目的是,初始化系统全局的一些参数;比如imageLoader的全局配置;
* Application的生命周期和app的生命周期一样,
*/
public class App extends Application {**//在Mani.xml <application中配置 android:name=".App" 导入依赖或jar包**//这些配置都可以省略@Overridepublic void onCreate() { super.onCreate(); Log.e("MyApplication", "我走了application"); ImageLoaderConfiguration config = new ImageLoaderConfiguration .Builder(this) .memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽 .threadPoolSize(5)//线程池内加载的数量 .threadPriority(Thread.NORM_PRIORITY - 2) .denyCacheImageMultipleSizesInMemory() .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation/你可以通过自己的内存缓存实现 .memoryCacheSize(2 * 1024 * 1024) .tasksProcessingOrder(QueueProcessingType.LIFO) .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) .imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间 .writeDebugLogs() // Remove for release app .build();//开始构建//上面的.build()方法和这两行代码必须要写//初始化imageloader; ImageLoader.getInstance().init(config); //初始化 代码统计; }}
加权限
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
主界面
package com.wzq.imageloaderdemo1;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
public class MainActivity extends AppCompatActivity {String[] images = { "http://img.my.csdn.net/uploads/201407/26/1406383264_8243.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383248_3693.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383243_5120.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383242_3127.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383242_9576.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383242_1721.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383219_5806.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383214_7794.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383213_4418.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383213_3557.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383210_8779.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383172_4577.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383166_3407.jpg", "http://img.my.csdn.net/uploads/201407/26/1406383166_2224.jpg"};@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageView = (ImageView) findViewById(R.id.imageView); //得到imageLoader的实例; ImageLoader imageLoader = ImageLoader.getInstance(); //这三个方法必须写 DisplayImageOptions displayImageOptions = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) //设置图片在下载期间显示的图片 .showImageForEmptyUri(R.mipmap.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片 .showImageOnFail(R.mipmap.ic_launcher) //设置图片加载/解码过程中错误时候显示的图片 .build(); imageLoader.displayImage(images[2], imageView); }}
布局
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.wzq.imageloaderdemo1.MainActivity"><TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /><ImageView android:id="@+id/imageView" android:layout_width="199dp" android:layout_height="149dp" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginTop="8dp" app:layout_constraintBottom_toTopOf="@+id/textView" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@mipmap/ic_launcher" tools:layout_editor_absoluteX="17dp" tools:layout_editor_absoluteY="-1dp" /></android.support.constraint.ConstraintLayout>
wifi网络的判断
加权限
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
package com.wzq.wifidemo;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class Utils {/** * 返回值 -1:没有网络 1:WIFI网络 3:net网络 */public static int getNetype(Context context) { int netType = -1; ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo == null) { return netType; } int nType = networkInfo.getType(); if (nType == ConnectivityManager.TYPE_MOBILE) { netType = 2; } else if (nType == ConnectivityManager.TYPE_WIFI) { netType = 1; } return netType; }}
主界面
package com.wzq.wifidemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.e("TAG", "netType: "+ Utils.getNetype(this)); }}
- ImageLoader和wifi网络的判断
- wifi网络的判断
- android判断是否连接wifi和网络状态的判断
- android 判断wifi和蜂窝网络连接
- WIFI网络判断
- 网络判断打开WiFi
- Wifi网络判断
- 判断网络类型:wifi , 3g, 4g 和GPS是否打开的方法
- ImageLoader加载本地和网络图片出现错乱的问题
- 网络判断(Wifi和3G)工具类
- wifi状态的判断和处理、
- wifi和数据连接的判断
- 判断是否为Wifi网络
- Android手机WIFI网络判断
- 网络判断代码打开WiFi
- iPhone开发 判断当前的网络是3g还是wifi
- 判断接入的网络类型(wap,net,wifi)
- iPhone开发 判断当前的网络是3g还是wifi
- HashMap、HashTable、LinkedHashMap、TreeMap、HashSet简单总结
- Highcharts 制作仪表盘 gauge
- list去重操作
- RMAN参数详解
- 大数据从业人员必须了解的2张图
- ImageLoader和wifi网络的判断
- Oracle表碎片查询以及整理(高水位线)
- jQuery动画
- (留坑)UVA10723 Cyborg Genes(LCS~)
- SQL学习笔记一:sql执行顺序
- TypeScript学习文章
- Assert断言机制
- c++二维数组
- JWT(JsonWebToken)+SpringMVC项目demo