开发过程中的灵光闪动

记录开发过程中遇到的好方法,想到的怪方法,奇方法以及奇思路,不断更

关于资源

  • 关于Android源码在线阅读
    androidos
    androidxref
  • 找jar包,知道包名即可,推荐网站
    maven
  • 找解决方案
    CSDN
    Stackoverflow
  • 好用的工具
    Android strings.xml转Excel输出为csv格式,用WPS打开就可以了,用office好像有问题
    Android导出strings.xml到Excel文件

Kotlin

  • 使用Kotlin读取assets目录下的文件
/**
 * Android中读取assets目录下文件的方法,返回字符串
 */
fun AssetManager.readFile(fileName: String): String {
    open(fileName).use {
        return it.readBytes().toString(Charset.defaultCharset())
    }
}

Android

  • 巧用系统提供的函数,格式化文件大小,再也不用if...else...返回KB、MB ...了
import android.text.format.Formatter;
long fileLen = 1024L;
String fileSize = Formatter.formatFileSize(context, fileLen);
则 fileSize = 1.00KB
  • 判断Android手机是触屏还是按键(目前该方法正在验证)
/**
 * 判断手机是触屏手机还是按键手机
 * @return true 按键手机; false 触屏手机
 */
public boolean isHardwareAndroid() {
    int[] deviceIds = InputDevice.getDeviceIds();
    for (int deviceId : deviceIds) {
        InputDevice inputDevice = InputDevice.getDevice(deviceId);
        boolean[] booleans = inputDevice.hasKeys(KeyEvent.KEYCODE_DPAD_CENTER, KeyEvent.KEYCODE_CALL);
        if (booleans[0] && booleans[1]) {
            return true;
        }
    }
    return false;
}
/**
 * 判断手机是触屏手机还是按键手机
 * @return true 按键手机; false 触屏手机
 */
public static boolean isHardwareAndroid2() {
        KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_CENTER);
        InputDevice inputDevice = keyEvent.getDevice();
        boolean[] booleans = inputDevice.hasKeys(KeyEvent.KEYCODE_DPAD_CENTER, KeyEvent.KEYCODE_CALL);
        return booleans[0] && booleans[1];
    }
  • 汉字转拼音
    该类原是由源码拷贝出来,github出处,后稍微修改得到的。而后,我又将代码稍微改了一下,能够将字符串中的汉字转成小写拼音的形式,源码在此,适用于进行简单的转换。

你可能感兴趣的:(开发过程中的灵光闪动)