本ROM为MIUI2.2移值而来,而MIUI的主题从MIUI2.2开始到现在变更的次太多,倒至2.2与现在的很多主题都不兼容,
最常见的问题就是安装主题后拨号键盘错位,请大家下载主题时一定要下载2.2版本的,或者下载一些高手针对2.2ROM修改后的主题,如果你安装主题后发现有不兼容的现象,可以删除/data/system/theme1目录后重起手机即可还原自带主题
刷机前请备份好你的个人资料
刷机教程
准备的东西
XT711-ROOT及OR工具
XT711MIUI2.2刷机包
先下载,XT711-ROOT及OR工具下载地址:http://115.com/file/c2l88na6#
XT711MIUI2.2刷机包地址http://115.com/file/beh97cc7#
1.刷XT711底包(也可以不刷底包跳过这一步,效果一样的前提是系统版本必须为
016版本)
2.Root手机(手机上开启USB调试,运行ROOT目录下的SuperOneClick.exe,点ROOT即可
或者下载一键Z4ROOT也可以
ROOT过的可以跳过这一步)完成后重新起动手机
3.安装OpenRecovery(将OpenRecoveryForXT711目录下的OpenRecovery及OpenRecovery.zip放在内存卡根目录下,安装ORforXT711.apk并打开软件,
点击安装恢复系统,弹出受权许可点击允许,待弹出Install
Success表示安装完成)
4.将下载回来的ROM直接复制到内存卡\OpenRecovery\updates目录下(请不要对刷机包进行解压操作)
5.进入OpenRecovery(点击ORforXT711.apk这个软件的第二个恢复模式重启会进入全英文界面为OpenRecovery)
6.选择Apply
Update;选择刚才放入的刷机包名oyang06_MIUI_v1.0_For_XT711;选择Yes;等待完成后选择Go
Back返回上一步)
7.WIPE手机,下面有三个WIPE的选项
依次点一遍(最好执行OpenRecovery下的三项WIPE操作,如果是第一次刷本包WIPE Data / Factory
Reset必须执行)
完成后点Reboot
System重起手机
备注:openrecovery模式是音量键为上下移动,拍摄键为确认
到此刷机完成,等待MIUI带你进入全新体验。
刷2.3
4.0 教程几乎一样。。
上面来自源地址:http://bbs.waptw.com/topic/threads/view/fid:247/tid:4800938/
另外在本人刷机后,发现信号特别不好,在网上查查,有可能是基带问题,下了个ITFUNZ超级工具箱V3.9.7Build 1022,在“基带修改”中将基带修改为“欧版港版基带”,后重启,信号神奇般的好啦O(∩_∩)O
/**
* 校正 list 中 数据的 序号,并返回id 合适的 顺序号
*
* @param tbl
* @param list :相关记录的集合,每条记录是一个Map,顺序号字段的名字叫 numSort
* @param id : 记录ID
* @param numSort : 记录指定的顺序号 (可能偏大,返回值是对它矫正后的值)
* @return id 最后的顺序号
*/
public int doSqlSort(String tbl, List<Map> list, int id, int numSort) {
//集合为空
if (list == null || list.isEmpty()) {
return 1;
}
//集合不为空,对集合里面的顺序号进行地毯式矫正
String sql = "update " + tbl + " set NUM_SORT=? where id=?";
Object[] params = new Object[2];
int newNumSort = 0; //记录应该的顺序号
int len = list.size();
for (int i = 0; i < len; i++) {
Map map = list.get(i);
////System.out.println(" map.get(\"id\")= " + map.get("id"));
Number id2_number = (Number) map.get("id");
Number numSort2_number = (Number) map.get("numSort");
int id2 = id2_number.intValue();
Integer numSort2 = numSort2_number.intValue();
//循环到的记录,不是 当前记录
if (id2 != id) {
newNumSort++;
if (newNumSort == numSort) {
newNumSort++;
}
}
//记录的数据库中顺序号与新顺序号不相等,更新数据库
if (newNumSort != numSort2) {
params[0] = newNumSort;
params[1] = id2;
jdbcDao.doUpdate(sql, params);
}
}
//特殊情况,numSort 要调整
if (numSort > len || numSort == 0) {
numSort = len;
if (id == 0) {
numSort = len + 1;
}
}
//参数id那条记录 应该的 顺序号
return numSort;
}
public void doSaveUpdate(ZzjzMoban zzjzMoban) {
int id = zzjzMoban.getId();
int numSort = zzjzMoban.getNumSort();
String sql = "select id,numSort from zzjzMoban order by numSort";
List<Map> list = super.getSqlItems(sql, null);
numSort = super.doSqlSort("zzjzMoban", list, id, numSort); //校正序号
zzjzMoban.setNumSort(numSort); //新的序号
if (id == 0) {
super.doSave(zzjzMoban);
} else {
ZzjzMoban moban2 = (ZzjzMoban) super.getPo(ZzjzMoban.class, id);
moban2.setBrief(zzjzMoban.getBrief());
moban2.setTitle(zzjzMoban.getTitle());
moban2.setPhoto(zzjzMoban.getPhoto());
moban2.setNumSort(zzjzMoban.getNumSort());
}
}
最近发现Java的InputStream是一个很诡异的抽象类,如果对ZipFile.getInputStream()的返回值直接使用int read(byte[] buffer),可能会数据读入不全,而且在运行时很难发现(除非判断返回的字节数)。类似情况也可能出现在AudioTrack.write(byte[] audioData, int offsetInBytes, int sizeInBytes)方法上,写入的数据也有可能不全。操纵这些底层方法读写大块内存时必须非常小心(实际上操作起来有难度,因为在写编码或解码器时调用这类方法可能会很频繁,很难知道哪些读写操作只完成了一半)。