1、Android客戶端日誌上報服務器
主要是自己定義一個CrashHandler ,然後implements UncaughtExceptionHandler類。來實現捕捉異常。
其次自己實現一個Application,在其onCreate中註冊CrashHandler,以便於在整個程序中都可以捕捉到異常信息。
不過也花了點時間在反射上面,每次寫代碼,修改代碼,我都會想盡最大努力把代碼做成通用的,因此父模板要設計好這很重要。通用工具也要寫好。
2、List刪除元素出錯
在應用中,通常將數據保存到List<>數組,然後設置適配器,如果我們選擇刪除某一條目,那麼除了刪除數據庫記錄數據外還要刪除list中的數據,然後適配器對象調用notifyDataSetChanged();方法進行界面重繪。問題是,在刪除list中的數組時不能直接用remove(),這樣刪除不了對象,即使調用notifyDataSetChanged();,界面也不會有任何刷新。正確的做法應該是使用Iterator遍歷remove(),如下是項目中的例子:
<span style="font-size:18px;"> Iterator it = mAviResidentList.iterator();
while (it.hasNext()) {
Object ob = it.next();
Resident re = (Resident) ob;
//刪除指定remarkId的人員
if(re.rmarkId.equals(rmarkId)){
it.remove();
}
}</span>
3、在使用Ant編譯APK時報錯:
這是在編譯javac編譯class文件時報錯,是jdk版本問題,將javac的target和source改爲1.6可行.:
4、硬件加速的問題。
今天測試人員反饋一個很嚴重的bug,說是從地圖街景返回應用後整個應用都變黑了,包括ActionBar!而且還是隨機事件!怪異得很,街景是第三方公司提供的,數據是另外公司採集提供,找了半天也沒有找出原因,然後打開GPU調試,打開硬件加速整個好了!然後就在應用中加上硬件加速權限了,關於硬件加速可以參考:http://www.360doc.com/content/12/0810/10/7324690_229359583.shtml;
5、TextView調用getLineCount()方法總是等於0
正確的用法是這樣的:查看原文
textview.setText(arr2[position]);
textview.post(new Runnable() {
@Override
public void run() {
int lineCnt = textview.getLineCount();
// Perform any actions you want based on the line count here.
}
});