本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)方法上,写入的数据也有可能不全。操纵这些底层方法读写大块内存时必须非常小心(实际上操作起来有难度,因为在写编码或解码器时调用这类方法可能会很频繁,很难知道哪些读写操作只完成了一半)。