Android 最常用的快速开发工具类

来源:互联网 发布:手机虚化算法 编辑:程序博客网 时间:2024/05/18 03:43

Android开发的工具类能很好的封装一些常用的操作,以后使用起来也非常方便,我把我经常使用的工具类分享给大家。

1.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;      }    }  
2.NetWorkUtil(网络类):

[java] view plaincopyprint?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;      }  }  
3.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);      }  }  
4.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



0 0
原创粉丝点击