读取android etc目录下的xml文件【原创】
2011-03-19 15:01
读取android etc目录下的xml文件
读取device\qsts\aspen_common\rootfs\etc目录下的xml文件,比如spn-conf.xml
<?xml version="1.0" encoding="utf-8"?>
<spnOverrides>
<!--
@Author: HTC Shawn Ku
@Date: 2010/02/23
This is a list for operator specific SPNs.
We will use below SPN for instead if numeric is matched.
Format is listed as below:
<spnOverrides
numeric="MCC+MNC"
spn="SPN Name"/>
-->
<spnOverride
numeric="44020"
spn="SoftBank"/>
<spnOverride
numeric="46000"
spn="中国移动"/>
<spnOverride
numeric="46001"
spn="中国联通"/>
<spnOverride
numeric="46002"
spn="中国移动"/>
<spnOverride
numeric="46003"
spn="中国电信"/>
<spnOverride
numeric="46005"
spn="中国电信"/>
<spnOverride
numeric="46006"
spn="中国联通"/>
<spnOverride
numeric="46007"
spn="中国移动"/>
</spnOverrides>
android java代码:
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.internal.telephony.gsm;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.os.Environment;
import android.util.Log;
import android.util.Xml;
import com.android.internal.util.XmlUtils;
public class SpnOverride {
private HashMap<String, String> CarrierSpnMap;
static final String LOG_TAG = "GSM";
static final String PARTNER_SPN_OVERRIDE_PATH ="etc/spn-conf.xml";
SpnOverride () {
CarrierSpnMap = new HashMap<String, String>();
loadSpnOverrides();
}
boolean containsCarrier(String carrier) {
return CarrierSpnMap.containsKey(carrier);
}
String getSpn(String carrier) {
return CarrierSpnMap.get(carrier);
}
private void loadSpnOverrides() {
FileReader spnReader;
final File spnFile = new File(Environment.getRootDirectory(),
PARTNER_SPN_OVERRIDE_PATH);
try {
spnReader = new FileReader(spnFile);
} catch (FileNotFoundException e) {
Log.w(LOG_TAG, "Can't open " +
Environment.getRootDirectory() + "/" + PARTNER_SPN_OVERRIDE_PATH);
return;
}
try {
XmlPullParser parser = Xml.newPullParser();
parser.setInput(spnReader);
XmlUtils.beginDocument(parser, "spnOverrides");
while (true) {
XmlUtils.nextElement(parser);
String name = parser.getName();
if (!"spnOverride".equals(name)) {
break;
}
String numeric = parser.getAttributeValue(null, "numeric");
String data = parser.getAttributeValue(null, "spn");
CarrierSpnMap.put(numeric, data);
}
} catch (XmlPullParserException e) {
Log.w(LOG_TAG, "Exception in spn-conf parser " + e);
} catch (IOException e) {
Log.w(LOG_TAG, "Exception in spn-conf parser " + e);
}
}
}
分享到:
相关推荐
$("<optionvalue='1'>1111</option><optionvalue='2'>2222</option>").appendTo("#sel"); ``` 这会向id为"sel"的下拉框中添加两个新的选项,分别带有值1和2。 清空下拉框也非常简单,只需调用empty方法: ```...
- 二进制:如2#101,取值范围2#0到2#1111_1111_1111_1111。 - 十六进制:如W#16#,取值范围W#16#0到W#16#FFFF。 - BCD码:如C#,取值范围C#0到C#999,用于表示十进制数,每四位二进制表示一位十进制。 - 无符号...
而负数-1的原码是0000 0000 0000 1001,由于二的补码规则,其反码为1111 1111 1111 1010,补码为1111 1111 1111 1011。 2. 短整型(short int): 短整型同样占用2个字节,其取值范围与基本整型相同,为-32768到...
例如,码长为2个字节时,65的补码为0000 0000 0100 0001,-1的补码为1111 1111 1111 1110,123的补码为0000 0000 0111 1011,-123的补码为1111 1111 1000 0101。 在最后一节中,我们讨论了用实例证明码长2个字节的...
例如,将1个字节的-123扩展为2个字节,其补码变为1111 1111 1000 0101,4个字节则为1111 1111 1111 1111 1000 0101。 6. **补码整数的环形结构**:2个字节的补码整数取值范围形成一个环。例如,32767的补码加1得到-...
【知识点详解】 1. **三角形的定义与...以上是对1111《三角形的边》导学案的主要知识点的详细解析,涵盖了三角形的定义、表示方法、分类、三边关系及其应用。学生通过预习和合作展示,将能全面理解和掌握这些概念。
//定义无符号整数,最大取值范围65535 for(i=0;i;i++) //做20000次空循环 ; //什么也不做,等待一个机器周期 } 函数功能:主函数 (C语言规定必须有也只能有1个主函数) void main(void) { ...
其中,\( p(x) \) 是X取值为x的概率。\(\log\)通常采用2为底,单位为比特(bit)。熵越大,表示随机变量X的不确定性越高;反之,则不确定性越低。 ##### 2. 联合熵 联合熵是用来度量两个或多个随机变量共同的不确定性...
网络号为 127,即 0111 1111,不能作为网络地址。因此,A 类地址共可标识 128 - 2 = 126 个网络。 A 类地址第 1 个字节的实际取值范围是多少?第 1 个有效的网络号是 0000 0001,十进制是 1;最后 1 个有效的网络号...
对于负数,如-10,其补码表示方法是先将其转换为正数的原码(1010),然后逐位取反得到1101,最后加1得到补码1111 1111 1110 110。 理解这些基础知识对于编写有效的C语言程序至关重要,因为数据类型的正确选择和...
2.7 码长为2字节的整数取值范围构成环状: 在2字节的补码表示中,最高位为符号位,1表示负数,0表示正数。因此,最大正数32767(0111 1111 1111 1111)加1后变成最小负数-32768(1000 0000 0000 0000),形成一个...
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel"); ``` - 清空下拉框: ```javascript $("#sel").empty(); ``` 以上就是jQuery中处理radio、checkbox和select的基本...
- 例如,4位的二进制数表示范围为0到2^4-1,即(0000, 0001, ..., 1111)对应十进制的(0, 1, ..., 15)。 - 16位的`short int`最大表示2^15-1是因为最高位是符号位,所以有效位是15位,最大正数是2^15-1。 - 同理,...
8. **等式成立的条件**:如 ()()1111xxxx+-=-+g,要找出x的值使得等式成立,需要解方程。 9. **相反数的概念**:两个数互为相反数意味着它们的和为零,例如1ab- +与24ab++互为相反数,则1ab- +24ab++=0。 10. **...
- **Long**: 占用64位,取值范围为-9,223,372,036,854,775,808至9,223,372,036,854,775,807。 这些取值范围是如何确定的呢?这与它们的存储方式密切相关。Java中使用补码来表示整数,其中最高位用于表示符号:0表示...
int numBin = 0b1111; // 二进制 (15) ``` ##### 浮点型字面值示例: ```java float f1 = 12.34f; // 明确指定float类型 double d1 = 12.34; // 默认为double类型 ``` ##### 字符字面值示例: ```java char ch1 ...
比如:如果上面的a的二进制为0000 0001 1111 01010100 0011 0010 0001。这时b的小数域必须有24位才够,但是,这显然是不现实的,因此必须舍入到23位,舍入的原则是:所得结果的最低有效位为0。因此这个a在转换到...