先保存下载,以备之需。
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
|