android 基本工具類方法及%s妙用

一、獲取手機分辨率
public static String getDisplayMetrix(Context context) {
    if (Constant.Screen.SCREEN_WIDTH == 0 || Constant.Screen.SCREEN_HEIGHT == 0) {
        if (context != null) {
            int width = 0;
            int height = 0;
            SharedPreferences DiaplayMetrixInfo = context.getSharedPreferences("display_metrix_info", 0);
            if (context instanceof Activity) {
                WindowManager windowManager = ((Activity) context).getWindowManager();
                Display display = windowManager.getDefaultDisplay();
                DisplayMetrics dm = new DisplayMetrics();
                display.getMetrics(dm);
                width = dm.widthPixels;
                height = dm.heightPixels;

                Editor editor = DiaplayMetrixInfo.edit();
                editor.putInt("width", width);
                editor.putInt("height", height);
                editor.commit();
            } else {
                width = DiaplayMetrixInfo.getInt("width", 0);
                height = DiaplayMetrixInfo.getInt("height", 0);
            }

            Constant.Screen.SCREEN_WIDTH = width;
            Constant.Screen.SCREEN_HEIGHT = height;
        }
    }
    return Constant.Screen.SCREEN_WIDTH + "×" + Constant.Screen.SCREEN_HEIGHT;
}
二、關閉系統的軟鍵盤
public static void dismissSoftKeyboard(Activity activity) {
    View view = activity.getWindow().peekDecorView();
    if (view != null) {
        InputMethodManager inputmanger = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }
}
三、dp—px相互轉換
public static int dp2px(Context context, float dpValue) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (dpValue * scale + 0.5f);
}

public static int px2dp(Context context, float pxValue) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (pxValue / scale + 0.5f);
}
四、獲取設備惟一編碼
/**
 * 根據mac地址+deviceid
 * 獲取設備惟一編碼
 *
 * @return
 */
public static String getDeviceKey() {
    if ("".equals(DEVICEKEY)) {
        String macAddress = "";
        WifiManager wifiMgr = (WifiManager) MainApplication.getIns().getSystemService(MainApplication.WIFI_SERVICE);
        WifiInfo info = (null == wifiMgr ? null : wifiMgr.getConnectionInfo());
        if (null != info) {
            macAddress = info.getMacAddress();
        }
        TelephonyManager telephonyManager =
                (TelephonyManager) MainApplication.getIns().getSystemService(MainApplication.TELEPHONY_SERVICE);
        String deviceId = telephonyManager.getDeviceId();
        DEVICEKEY = MD5Util.toMD5("android" + Constant.APPKEY + Constant.APPPWD + macAddress + deviceId);
    }
    return DEVICEKEY;
}
五、獲取手機及SIM卡相關信息
public static Map<String, String> getPhoneInfo(Context context) {
    Map<String, String> map = new HashMap<String, String>();
    TelephonyManager tm = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);
    String imei = tm.getDeviceId();
    String imsi = tm.getSubscriberId();
    String phoneMode = android.os.Build.MODEL;
    String phoneSDk = android.os.Build.VERSION.RELEASE;
    map.put("imei", imei);
    map.put("imsi", imsi);
    map.put("phoneMode", phoneMode + "##" + phoneSDk);
    map.put("model", phoneMode);
    map.put("sdk", phoneSDk);
    return map;
}
六、安裝apk
public void install(Context context, String fileName) {
    if (TextUtils.isEmpty(fileName) || context == null) {
        return;
    }
    try {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setAction(android.content.Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
        context.startActivity(intent);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void install(Context context, File file) {
    try {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
        context.startActivity(intent);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
七、Strings.xml中「%s」的妙用
在strings.xml中添加字符串
<string name="text">Hello,%s!</string>
在代碼中
textView.setText(String.format(getResources().getString(R.string.text),"Android"));
輸出結果:Hello,Android!
相關文章
相關標籤/搜索