The most common quick development tools for Android
The tool classes developed by Android can well encapsulate some common operations, which will be very convenient to use in the future. I will share with you the frequently used tool classes.
FileCache:
Package com. pztuan. common. util; import java. io. file; import android. content. context; public class FileCache {private File cacheDir; public FileCache (Context context) {// determine the external storage SD card mounting status. if the mounting is normal, create the SD card cache folder if (android. OS. environment. getExternalStorageState (). equals (android. OS. environment. MEDIA_MOUNTED) {cacheDir = new File (android. OS. environment. getExternalStorageDirectory (), PztCacheDir);} else {// the SD card is not properly mounted, Obtain the local cache folder (application package directory) 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 (network type ):
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 network tool */public class NetWorkUtil {private final static String [] hexDigits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, B, c, d, e, f}; p Ublic 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 [] n Is = 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 (C Ontext. 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); // WifiState state = connManager. getNetworkInfo (ConnectivityManager. TYPE_WIFI ). getState (); if (state = State. CONNECTED | state = State. CONNECTING) {return STATE_WIFI;} // 3 Gstate = connManager. getNetworkInfo (ConnectivityManager. TYPE_MOBILE ). getState (); if (state = State. CONNECTED | state = State. CONNECTING) {return STATE_MOBILE;} return STATE_DISCONNECT ;}}
Tools (common minor functions: regular number matching, date calculation, imei number retrieval, and listview height calculation ):
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. vie W. 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,, 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 (byteToH ExString (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 encryption ** @ 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;}/*** Mobile Phone Number Format match ** @ 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. matche S ();}/*** whether the specified character is included ** @ 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;}/*** zip code ** @ 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 ();}/*** email format ** @ 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 ();}/*** fixed-line number format ** @ 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 ();}/*** username match ** @ param name * @ return */public static boole An isCorrectUserName (String name) {Pattern p = Pattern. compile ([A-Za-z0-9]) {}); Matcher m = p. matcher (name); System. out. println (m. matches () +-name-); return m. matches ();}/*** Password Match. It must start with a letter and be between 6 and 18 characters. It can only contain characters, numbers, and underscores. ** @ 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 ();}/*** check whether SDCard exists ** @ return */public static boolean hasSdcard () {String state = Environment. getExternalStorageState (); if (state. equals (Environment. MEDIA_MOUNTED) {return true;} else {return false;}/*** calculate the remaining date ** @ 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 (); // obtain the current time 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 remaining + day + hour + min + minute + s + second;} 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 show1_toast (Context act, String pMsg) {Toast toast = Toast. makeText (act, pMsg, Toast. LENGTH_SHORT); toast. show ();}/*** get the Imei number of the mobile phone ** @ 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 calculate the height of the listview */public static void setListViewHeightBasedOnChildren (ListView listView) {ListAdapter listAdapter = listView. getAdapter (); if (listAdapter = null) {// pre-conditionreturn;} 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
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
value) {mEditor.putStringSet(key, value);return mEditor.commit();}public String getString(String key, String value) {return mSharedPreferences.getString(key, value);}public ArrayList
getStringArrayList(String key, int size) {ArrayList
al = new ArrayList
();int loop;if (size > 4)loop = 4;elseloop = 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
getStringSet(String key, Set
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();}}