115Utils

来源:互联网 发布:美工招聘信息怎么写 编辑:程序博客网 时间:2024/04/30 04:18
ImageloaderUtil
package com.example.week1_02.Utils;import android.content.Context;import android.graphics.Bitmap;import android.os.Environment;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;import java.io.File;/** * Created by DELL on 2017/10/17. */public class ImageloaderUtil {    public static void initConfig(Context context) {        //配置//        File cacheFile=context.getExternalCacheDir();        File cacheFile= new File(Environment.getExternalStorageDirectory()+"/"+"image");        ImageLoaderConfiguration config=new ImageLoaderConfiguration.Builder(context)                .memoryCacheExtraOptions(480, 800)//缓存图片最大的长和宽                .threadPoolSize(2)//线程池的数量                .threadPriority(4)                .memoryCacheSize(2*1024*1024)//设置内存缓存区大小                .diskCacheSize(20*1024*1024)//设置sd卡缓存区大小                .diskCache(new UnlimitedDiscCache(cacheFile))//自定义缓存目录                .writeDebugLogs()//打印日志内容                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//给缓存的文件名进行md5加密处理                .build();        ImageLoader.getInstance().init(config);    }    /**     * 获取图片设置类     * @return     */    public static DisplayImageOptions getImageOptions(){        DisplayImageOptions optionsoptions=new DisplayImageOptions.Builder()                .cacheInMemory(true)//使用内存缓存                .cacheOnDisk(true)//使用磁盘缓存                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片格式                .displayer(new RoundedBitmapDisplayer(10))//设置圆角,参数代表弧度                .build();        return optionsoptions;    }}

MyApplication
package com.example.week1_02.Utils;import android.app.Application;/** * Created by DELL on 2017/10/20. */public class MyApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        ImageloaderUtil.initConfig(this);    }}

MyTask

package com.example.week1_02.Utils;import android.os.AsyncTask;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.conn.ssl.AllowAllHostnameVerifier;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * Created by DELL on 2017/10/17. */public class MyTask extends AsyncTask<String,Void,String> {    //申请一个接口类对象    private Icallbacks icallbacks;    //将无参构造设置成私有的,使之在外部不能够调用    private MyTask() {    }    //定义有参构造方法    public MyTask(Icallbacks icallbacks) {        this.icallbacks = icallbacks;    }    @Override    protected String doInBackground(String... params) {          String str="";        //得到请求的类型        String type = params[1];        if ("1".equals(type)) {//如果是"1" 执行 HttpGet请求            //获取httpclient对象            DefaultHttpClient defaultHttpClient = new DefaultHttpClient();            //准备一个get请求//        HttpGet httpGet = new HttpGet(jsonUrl);            HttpPost httpPost = new HttpPost(params[0]);            try {                //得到服务器返回的数据;                HttpResponse response = defaultHttpClient.execute(httpPost);                //得到状态码                int statusCode = response.getStatusLine().getStatusCode();                if(statusCode ==200){                    //entiry 里面封装的数据;                    HttpEntity entity = response.getEntity();                    str = EntityUtils.toString(entity);                }            } catch (IOException e) {                e.printStackTrace();            }        } else if ("2".equals(type)) {//如果是2执行 HttpUrlConnection请求            try {                //1.创建Url对象                URL url = new URL(params[0]);                //2.打开连接                HttpURLConnection connection = (HttpURLConnection) url.openConnection();                //3.设置                connection.setRequestMethod("GET");                connection.setConnectTimeout(5000);                connection.setReadTimeout(5000);                //4.得到响应码,进行判断                int code = connection.getResponseCode();                if (code == 200) {                    //5.得到结果                    InputStream inputStream = connection.getInputStream();                    //调用工具类中的静态方法                    str=StreamToString.streamTostr(inputStream,"utf-8");                }            } catch (Exception ex) {                ex.printStackTrace();            }        } else {        }        return str;    }    @Override    protected void onPostExecute(String s) {        super.onPostExecute(s);        //解析,封装到bean,更新UI组件        icallbacks.updataUiByjson(s);    }    //定义一个接口    public  interface Icallbacks{        //根据回传的json字符串,解析并更新页面组件            void updataUiByjson(String jsonstr);        }}
NetStateUtil
package com.example.week1_02.Utils;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import com.example.week1_02.R;/** * 得到网络状态的工具类 * Created by e531 on 2017/10/16. */public class NetStateUtil {    /* * 判断网络连接是否已开 * true 已打开  false 未打开 * */    public static boolean isConn(Context context){        boolean bisConnFlag=false;        ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo network = conManager.getActiveNetworkInfo();        if(network!=null){            bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();        }        return bisConnFlag;    }    /**     * 当判断当前手机没有网络时选择是否打开网络设置     * @param context     */    public static void showNoNetWorkDlg(final Context context) {        AlertDialog.Builder builder = new AlertDialog.Builder(context);        builder.setIcon(R.mipmap.ic_launcher)         //                .setTitle(R.string.app_name)            //                .setMessage("当前无网络").setPositiveButton("设置", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                // 跳转到系统的网络设置界面                Intent intent = null;                // 先判断当前系统版本                if(android.os.Build.VERSION.SDK_INT > 10){  // 3.0以上                    intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);                }else{                    intent = new Intent();                    intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");                }                context.startActivity(intent);            }        }).setNegativeButton("知道了", null).show();    }}

StreamToString

package com.example.week1_02.Utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;/** * Created by DELL on 2017/10/17. */public class StreamToString {    public static String streamTostr(InputStream inputStream, String chartSet){        StringBuilder builder = new StringBuilder();        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));        String con;        try {            while((con=reader.readLine())!=null){                StringBuilder append = builder.append(con);            }            return builder.toString();        } catch (IOException e) {            e.printStackTrace();        }        return "";    }}

原创粉丝点击