记录开发过程中遇到的好方法,想到的怪方法,奇方法以及奇思路,不断更
关于资源
- 关于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];
}