先保存下载,以备之需。
Android开发的工具类能很好的封装一些常用的操作,以后使用起来也非常方便,我把我经常使用的工具类分享给大家。
FileCache:
- package com.pztuan.common.util;
- import java.io.File;
- import android.content.Context;
- public class FileCache {
- private File cacheDir;
- public FileCache(Context context) {
- // 判断外存SD卡挂载状态,如果挂载正常,创建SD卡缓存文件夹
- if (android.os.Environment.getExternalStorageState().equals(
- android.os.Environment.MEDIA_MOUNTED)) {
- cacheDir = new File(
- android.os.Environment.getExternalStorageDirectory(),
- "PztCacheDir");
- } else {
- // SD卡挂载不正常,获取本地缓存文件夹(应用包所在目录)
- cacheDir = context.getCacheDir();
- }
- if (!cacheDir.exists()) {
- cacheDir.mkdirs();
- }
- }
- public File getFile(String url) {
- String fileName = String.valueOf(url.hashCode());
- File file = new File(cacheDir, fileName);
- return file;
- }
- public void clear() {
- File[] files = cacheDir.listFiles();
- for (File f : files)
- f.delete();
- }
- public String getCacheSize() {
- long size = 0;
- if (cacheDir.exists()) {
- File[] files = cacheDir.listFiles();
- for (File f : files) {
- size += f.length();
- }
- }
- String cacheSize = String.valueOf(size / 1024 / 1024) + "M";
- return cacheSize;
- }
- }
NetWorkUtil(网络类):
- package com.pztuan.common.util;
- import android.content.Context;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.net.NetworkInfo.State;
- import android.net.wifi.WifiManager;
- import java.security.MessageDigest;
- /**
- *
- * @author suncat
- * @category 网络工具
- */
- public class NetWorkUtil {
- private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
- "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
- public static final int STATE_DISCONNECT = 0;
- public static final int STATE_WIFI = 1;
- public static final int STATE_MOBILE = 2;
- public static String concatUrlParams() {
- return null;
- }
- public static String encodeUrl() {
- return null;
- }
- public static boolean isNetWorkConnected(Context context) {
- ConnectivityManager cm = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo[] nis = cm.getAllNetworkInfo();
- if (nis != null) {
- for (NetworkInfo ni : nis) {
- if (ni != null) {
- if (ni.isConnected()) {
- return true;
- }
- }
- }
- }
- return false;
- }
- public static boolean isWifiConnected(Context context) {
- WifiManager wifiMgr = (WifiManager) context
- .getSystemService(Context.WIFI_SERVICE);
- boolean isWifiEnable = wifiMgr.isWifiEnabled();
- return isWifiEnable;
- }
- public static boolean isNetworkAvailable(Context context) {
- ConnectivityManager cm = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo networkInfo = cm.getActiveNetworkInfo();
- if (networkInfo != null) {
- return networkInfo.isAvailable();
- }
- return false;
- }
- private static String byteArrayToHexString(byte[] b) {
- StringBuffer resultSb = new StringBuffer();
- for (int i = 0; i < b.length; i++) {
- resultSb.append(byteToHexString(b[i]));
- }
- return resultSb.toString();
- }
- private static String byteToHexString(byte b) {
- int n = b;
- if (n < 0)
- n = 256 + n;
- int d1 = n / 16;
- int d2 = n % 16;
- return hexDigits[d1] + hexDigits[d2];
- }
- public static String md5Encode(String origin) {
- String resultString = null;
- try {
- resultString = new String(origin);
- MessageDigest md = MessageDigest.getInstance("MD5");
- resultString = new String(md.digest(resultString.getBytes()));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return resultString;
- }
- public static String md5EncodeToHexString(String origin) {
- String resultString = null;
- try {
- resultString = new String(origin);
- MessageDigest md = MessageDigest.getInstance("MD5");
- resultString = byteArrayToHexString(md.digest(resultString
- .getBytes()));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return resultString;
- }
- public static int getNetworkState(Context context) {
- ConnectivityManager connManager = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- // Wifi
- State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
- .getState();
- if (state == State.CONNECTED || state == State.CONNECTING) {
- return STATE_WIFI;
- }
- // 3G
- state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
- .getState();
- if (state == State.CONNECTED || state == State.CONNECTING) {
- return STATE_MOBILE;
- }
- return STATE_DISCONNECT;
- }
- }
Tools(常用小功能:号码正则匹配、日期计算、获取imei号、计算listview高度):
- package com.pztuan.common.util;
- import java.security.MessageDigest;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.os.Environment;
- import android.telephony.TelephonyManager;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ListAdapter;
- import android.widget.ListView;
- import android.widget.Toast;
- @SuppressLint("DefaultLocale")
- public class Tools {
- private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
- "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
- public static String byteArrayToHexString(byte[] b) {
- StringBuffer resultSb = new StringBuffer();
- for (int i = 0; i < b.length; i++) {
- resultSb.append(byteToHexString(b[i]));
- }
- return resultSb.toString();
- }
- private static String byteToHexString(byte b) {
- int n = b;
- if (n < 0)
- n = 256 + n;
- int d1 = n / 16;
- int d2 = n % 16;
- return hexDigits[d1] + hexDigits[d2];
- }
- /**
- * md5 加密
- *
- * @param origin
- * @return
- */
- public static String md5Encode(String origin) {
- String resultString = null;
- try {
- resultString = new String(origin);
- MessageDigest md = MessageDigest.getInstance("MD5");
- resultString = byteArrayToHexString(md.digest(resultString
- .getBytes()));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return resultString;
- }
- /**
- * 手机号码格式匹配
- *
- * @param mobiles
- * @return
- */
- public static boolean isMobileNO(String mobiles) {
- Pattern p = Pattern
- .compile("^((13[0-9])|(15[^4,\\D])|(18[0,1,3,5-9]))\\d{8}$");
- Matcher m = p.matcher(mobiles);
- System.out.println(m.matches() + "-telnum-");
- return m.matches();
- }
- /**
- * 是否含有指定字符
- *
- * @param expression
- * @param text
- * @return
- */
- private static boolean matchingText(String expression, String text) {
- Pattern p = Pattern.compile(expression);
- Matcher m = p.matcher(text);
- boolean b = m.matches();
- return b;
- }
- /**
- * 邮政编码
- *
- * @param zipcode
- * @return
- */
- public static boolean isZipcode(String zipcode) {
- Pattern p = Pattern.compile("[0-9]\\d{5}");
- Matcher m = p.matcher(zipcode);
- System.out.println(m.matches() + "-zipcode-");
- return m.matches();
- }
- /**
- * 邮件格式
- *
- * @param email
- * @return
- */
- public static boolean isValidEmail(String email) {
- Pattern p = Pattern
- .compile("^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$");
- Matcher m = p.matcher(email);
- System.out.println(m.matches() + "-email-");
- return m.matches();
- }
- /**
- * 固话号码格式
- *
- * @param telfix
- * @return
- */
- public static boolean isTelfix(String telfix) {
- Pattern p = Pattern.compile("d{3}-d{8}|d{4}-d{7}");
- Matcher m = p.matcher(telfix);
- System.out.println(m.matches() + "-telfix-");
- return m.matches();
- }
- /**
- * 用户名匹配
- *
- * @param name
- * @return
- */
- public static boolean isCorrectUserName(String name) {
- Pattern p = Pattern.compile("([A-Za-z0-9]){2,10}");
- Matcher m = p.matcher(name);
- System.out.println(m.matches() + "-name-");
- return m.matches();
- }
- /**
- * 密码匹配,以字母开头,长度 在6-18之间,只能包含字符、数字和下划线。
- *
- * @param pwd
- * @return
- *
- */
- public static boolean isCorrectUserPwd(String pwd) {
- Pattern p = Pattern.compile("\\w{6,18}");
- Matcher m = p.matcher(pwd);
- System.out.println(m.matches() + "-pwd-");
- return m.matches();
- }
- /**
- * 检查是否存在SDCard
- *
- * @return
- */
- public static boolean hasSdcard() {
- String state = Environment.getExternalStorageState();
- if (state.equals(Environment.MEDIA_MOUNTED)) {
- return true;
- } else {
- return false;
- }
- }
- /**
- * 计算剩余日期
- *
- * @param remainTime
- * @return
- */
- public static String calculationRemainTime(String endTime, long countDown) {
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- try {
- Date now = new Date(System.currentTimeMillis());// 获取当前时间
- Date endData = df.parse(endTime);
- long l = endData.getTime() - countDown - now.getTime();
- long day = l / (24 * 60 * 60 * 1000);
- long hour = (l / (60 * 60 * 1000) - day * 24);
- long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
- long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
- return "剩余" + day + "天" + hour + "小时" + min + "分" + s + "秒";
- } catch (ParseException e) {
- e.printStackTrace();
- }
- return "";
- }
- public static void showLongToast(Context act, String pMsg) {
- Toast toast = Toast.makeText(act, pMsg, Toast.LENGTH_LONG);
- toast.show();
- }
- public static void showShortToast(Context act, String pMsg) {
- Toast toast = Toast.makeText(act, pMsg, Toast.LENGTH_SHORT);
- toast.show();
- }
- /**
- * 获取手机Imei号
- *
- * @param context
- * @return
- */
- public static String getImeiCode(Context context) {
- TelephonyManager tm = (TelephonyManager) context
- .getSystemService(Context.TELEPHONY_SERVICE);
- return tm.getDeviceId();
- }
- /**
- * @author sunglasses
- * @param listView
- * @category 计算listview的高度
- */
- public static void setListViewHeightBasedOnChildren(ListView listView) {
- ListAdapter listAdapter = listView.getAdapter();
- if (listAdapter == null) {
- // pre-condition
- return;
- }
- int totalHeight = 0;
- for (int i = 0; i < listAdapter.getCount(); i++) {
- View listItem = listAdapter.getView(i, null, listView);
- listItem.measure(0, 0);
- totalHeight += listItem.getMeasuredHeight();
- }
- ViewGroup.LayoutParams params = listView.getLayoutParams();
- params.height = totalHeight
- + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
- listView.setLayoutParams(params);
- }
- }
SharedPreferencesUtil:
- package com.pztuan.db;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.content.SharedPreferences.Editor;
- import android.util.Log;
- import java.util.ArrayList;
- import java.util.Set;
- public class SharedPreferencesUtil {
- private static final String TAG = "PZTuan.SharePreferencesUtil";
- private static final String SHAREDPREFERENCE_NAME = "sharedpreferences_pztuan";
- private static SharedPreferencesUtil mInstance;
- private static SharedPreferences mSharedPreferences;
- private static SharedPreferences.Editor mEditor;
- public synchronized static SharedPreferencesUtil getInstance(Context context) {
- if (mInstance == null) {
- mInstance = new SharedPreferencesUtil(context);
- }
- return mInstance;
- }
- private SharedPreferencesUtil(Context context) {
- mSharedPreferences = context.getSharedPreferences(
- SHAREDPREFERENCE_NAME, Context.MODE_PRIVATE);
- mEditor = mSharedPreferences.edit();
- }
- public synchronized boolean putString(String key, String value) {
- mEditor.putString(key, value);
- return mEditor.commit();
- }
- public synchronized boolean putStringArrayList(String key,
- ArrayList<String> value) {
- for (int j = 0; j < value.size() - 1; j++) {
- if (value.get(value.size() - 1).equals(value.get(j))) {
- value.remove(j);
- }
- }
- mEditor.putInt("citySize", value.size());
- if (value.size() == 4) {
- mEditor.putString(key + 0, value.get(3));
- mEditor.putString(key + 1, value.get(0));
- mEditor.putString(key + 2, value.get(1));
- } else if (value.size() == 3) {
- mEditor.putString(key + 0, value.get(2));
- mEditor.putString(key + 1, value.get(0));
- mEditor.putString(key + 2, value.get(1));
- } else {
- for (int i = 0; i < value.size(); i++) {
- mEditor.putString(key + i, value.get(value.size() - 1 - i));
- }
- }
- return mEditor.commit();
- }
- public synchronized boolean putInt(String key, int value) {
- mEditor.putInt(key, value);
- return mEditor.commit();
- }
- public synchronized boolean putLong(String key, long value) {
- mEditor.putLong(key, value);
- return mEditor.commit();
- }
- public synchronized boolean putFloat(String key, float value) {
- mEditor.putFloat(key, value);
- return mEditor.commit();
- }
- public synchronized boolean putBoolean(String key, boolean value) {
- mEditor.putBoolean(key, value);
- return mEditor.commit();
- }
- public synchronized boolean putStringSet(String key, Set<String> value) {
- mEditor.putStringSet(key, value);
- return mEditor.commit();
- }
- public String getString(String key, String value) {
- return mSharedPreferences.getString(key, value);
- }
- public ArrayList<String> getStringArrayList(String key, int size) {
- ArrayList<String> al = new ArrayList<String>();
- int loop;
- if (size > 4)
- loop = 4;
- else
- loop = size;
- for (int i = 0; i < loop; i++) {
- String name = mSharedPreferences.getString(key + i, null);
- al.add(name);
- }
- return al;
- }
- public int getInt(String key, int value) {
- return mSharedPreferences.getInt(key, value);
- }
- public long getLong(String key, long value) {
- return mSharedPreferences.getLong(key, value);
- }
- public float getFloat(String key, float value) {
- return mSharedPreferences.getFloat(key, value);
- }
- public boolean getBoolean(String key, boolean value) {
- return mSharedPreferences.getBoolean(key, value);
- }
- public Set<String> getStringSet(String key, Set<String> value) {
- return mSharedPreferences.getStringSet(key, value);
- }
- public boolean remove(String key) {
- mEditor.remove(key);
- return mEditor.commit();
- }
- private static final String PREFERENCES_AUTO_LOGIN = "yyUserAutoLogin";
- private static final String PREFERENCES_USER_NAME = "yyUserName";
- private static final String PREFERENCES_USER_PASSWORD = "yyUserPassword";
- public boolean isAutoLogin() {
- return mSharedPreferences.getBoolean(PREFERENCES_AUTO_LOGIN, false);
- }
- public String getUserName() {
- return mSharedPreferences.getString(PREFERENCES_USER_NAME, "");
- }
- public String getUserPwd() {
- return mSharedPreferences.getString(PREFERENCES_USER_PASSWORD, "");
- }
- public void saveLoginInfo(Boolean autoLogin, String userName,
- String userPassword) {
- assert (mEditor != null);
- mEditor.putBoolean(PREFERENCES_AUTO_LOGIN, autoLogin);
- mEditor.putString(PREFERENCES_USER_NAME, userName);
- mEditor.putString(PREFERENCES_USER_PASSWORD, userPassword);
- mEditor.commit();
- }
- public void saveLoginPassword(String userPassword) {
- mEditor.putString(PREFERENCES_USER_PASSWORD, userPassword);
- mEditor.commit();
- }
- public void saveLoginUserid(String userid) {
- mEditor.putString("userid", userid);
- mEditor.commit();
- }
- public void clearUserInfo() {
- assert (mEditor != null);
- mEditor.putBoolean(PREFERENCES_AUTO_LOGIN, false);
- mEditor.putString(PREFERENCES_USER_NAME, "");
- mEditor.putString(PREFERENCES_USER_PASSWORD, "");
- mEditor.putString("userid", "");
- mEditor.commit();
- }
- }
转载自:http://blog.csdn.net/rain_butterfly/article/details/39525601