Android 底层知识拾零,android原生开发框架

本文介绍了Android系统中包含的各种语言字库,如缅甸语、孟加拉语、印度语等,并探讨了在Android手机做热点时获取连接设备信息的方法。同时,文章详细讲解了如何在Fastboot模式下添加自定义命令,以及在任意界面通过实体键启动特定Activity。此外,还展示了如何在关机界面添加重启选项以及通过init.rc脚本隐藏内置应用。最后,讨论了Android 4.4及以上版本对Root权限的限制以及WiFi自动连接的优先级规则。
摘要由CSDN通过智能技术生成

-------------------------------------------------------------------------------------------------

padauk.ttf 官方缅甸语字库

ZawgyiOne.ttf 民间缅甸语字库

-------------------------------------------------------------------------------------------------

Roboto-Bold.ttf 欧洲使用的拉丁、西里尔字母

Roboto-Regular.ttf

External/noto-fonts

-------------------------------------------------------------------------------------------------

NotoColorEmoji.ttf 表情字符

-------------------------------------------------------------------------------------------------

NotoSansBengaliUI-Bold.ttf 孟加拉语字库

NotoSansBengaliUI-Regular.ttf

-------------------------------------------------------------------------------------------------

NotoSansDevanagariUI-Bold.ttf 印度语字库

NotoSansDevanagariUI-Regular.ttf

-------------------------------------------------------------------------------------------------

NotoSansKannadaUI-Bold.ttf 卡纳达语字库(印度)

NotoSansKannadaUI-Regular.ttf

-------------------------------------------------------------------------------------------------

NotoSansKhmerUI-Bold.ttf 高棉语字库(柬埔寨)

NotoSansKhmerUI-Regular.ttf

-------------------------------------------------------------------------------------------------

NotoSansLaoUI-Bold.ttf 老挝语字库

NotoSansLaoUI-Regular.ttf

-------------------------------------------------------------------------------------------------

NotoSansMalayalamUI-Bold.ttf 马拉雅拉姆文字库(印度)

NotoSansMalayalamUI-Regular.ttf

-------------------------------------------------------------------------------------------------

NotoSansTamilUI-Bold.ttf 泰米尔语字库(印度、斯里兰卡、新加坡)

NotoSansTamilUI-Regular.ttf

-------------------------------------------------------------------------------------------------

NotoSansTeluguUI-Bold.ttf 泰卢固语(印度)

NotoSansTeluguUI-Regular.ttf

-------------------------------------------------------------------------------------------------

NotoSansThaiUI-Bold.ttf 泰语字库

NotoSansThaiUI-Regular.ttf

=======================================================

2.Android手机做热点时,如何获取连过来设备的具体信息?

1、连接过来的设备的信息存放在/data/misc/dhcp/dnsmasq.leases中

2、它的格式是:

/系统id,不需取值/client mac地址/client ip地址/ client device name/加权后mac地址,也不需取值

1357041758 88:00:12:34:56:78 192.168.43.133 android-184cc6c105d7a3b 01:88:00:12:34:56:78

3、参考WifiServie.java的getClientIp()方法,可以自定义这个方法取得device name,具体如下:

public String getClientDeviceName(String deviceAddress) {//传mac地址进来

enforceAccessPermission();

if (TextUtils.isEmpty(deviceAddress)) {

return null;

}

//读取对应的文件信息

for (String s : readClientList("/data/misc/dhcp/dnsmasq.leases")) {

if (s.indexOf(deviceAddress) != -1) {

String[] fields = s.split(" ");

//校验数据是否破损

if (fields.length > 4) {

//返回第4个栏位

return fields[3];

}

}

}

return null;

}

3.在Fastboot里添加命令

fastboot 是android 默认的一种debug 方法,它的好处是在进入linux kernel 之前

即可操作。

默认fastboot 支持的命令:

usage: fastboot [ ]

commands:

update reflash device from

update.zip

flashall flash boot

  • recovery + system

flash [ ] write a file to a flash

partition

erase erase a flash

partition

format format a flash

partition

getvar display a

bootloader variable

boot [ ] download and boot kernel

flash:raw boot [ ] create bootimage and flash it

devices list all

connected devices

continue continue

with autoboot

reboot reboot

device normally

reboot-bootloader reboot device

into bootloader

help show this

help message

options:

-w erase userdata and cache (and

format if supported by partition type)

-u do not first erase partition

before formatting

-s specify device serial number or path to

device port

-l with “devices”, lists device

paths

-p specify product name

-c override kernel commandline

-i specify a custom USB vendor id

-b <base_addr> specify a custom kernel base

address

-n specify the nand page size.

defaul

以下是Java代码实现: ```java public class NumberToChinese { // 数字转中文大写 private static final String[] CHINESE_NUMBERS = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; private static final String[] CHINESE_UNITS = {"", "拾", "佰", "仟"}; private static final String[] CHINESE_GROUP_UNITS = {"", "万", "亿"}; public static String numberToChinese(double num) { if (num == 0) { return "零元整"; } long integerPart = (long) num; int decimalPart = (int) Math.round((num - integerPart) * 100); StringBuilder sb = new StringBuilder(); int groupIndex = 0; while (integerPart > 0) { int groupNum = (int) (integerPart % 10000); sb.insert(0, CHINESE_GROUP_UNITS[groupIndex++]); if (groupIndex > 1 && groupNum < 1000) { sb.insert(0, "零"); } sb.insert(0, groupToChinese(groupNum)); integerPart /= 10000; } sb.append("元"); if (decimalPart > 0) { sb.append(decimalToChinese(decimalPart)); } else { sb.append("整"); } return sb.toString(); } private static String groupToChinese(int num) { StringBuilder sb = new StringBuilder(); int unitIndex = 0; boolean addZero = false; while (num > 0) { int digit = num % 10; if (digit == 0) { addZero = true; } else { if (addZero) { sb.insert(0, CHINESE_NUMBERS[0]); } sb.insert(0, CHINESE_NUMBERS[digit] + CHINESE_UNITS[unitIndex]); addZero = false; } unitIndex++; num /= 10; } return sb.toString(); } private static String decimalToChinese(int num) { StringBuilder sb = new StringBuilder(); int digit = num / 10; if (digit > 0) { sb.append(CHINESE_NUMBERS[digit] + "角"); } digit = num % 10; if (digit > 0) { sb.append(CHINESE_NUMBERS[digit] + "分"); } return sb.toString(); } public static void main(String[] args) { double num = 12345678; String chinese = numberToChinese(num); System.out.println(chinese); } } ``` 输出结果为:`壹仟贰佰叁拾肆万伍仟陆佰柒拾捌元整`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值