W/System.err(10308): Caused by: libcore.io.ErrnoException: open failed: EROFS (Read-only file system)一直出現這個錯誤 權限加了沒有用
2016-03-26
這里有一個問題,那就是設置前面的時間的顯示哪里的,老師寫的是mHolder.seconds.setText(Math.round(getItemId(position))+"\"");
但是實際上我回過頭看的時候并沒有發現老師復寫這個Adapter的getItemId方法。
所以這里傳入的參數應該是Math.round(getItem(position).getTime())+"\""
但是實際上我回過頭看的時候并沒有發現老師復寫這個Adapter的getItemId方法。
所以這里傳入的參數應該是Math.round(getItem(position).getTime())+"\""
2016-03-25
我認為跟著寫是不會出錯的。 除非是自己寫錯了。就像我看到上一章。最后寫完,本來我的dialog能夠出來的,結果結合錄音就不出來了,還報空指針。 花了我二十幾分鐘找bug。 根本就不是空指針的問題,是前面錄音的準備的那個方法里面 判斷保存路徑是否存在的時候,if(!file.exists),我少寫了一個感嘆號,變成了當文件路徑存在的時候我才創建,然后導致mMediaRecorder.prepare();報異常(但是這個異常好像沒有出現在控制臺,還是我自己做的測試找的)。后面的dialog準備工作那邊都沒有執行。最后dialog顯示的時候,因為沒有做準備工作,才會報空指針。所以,耐心點,慢慢找錯
2016-03-25
看到這里已經跟著寫完了,作為一個初學小菜鳥,對于基本的安卓和java才有一個初步的認識,英語水平也比較差的情況下,首先看了一遍思路,然后實操的時候,邊看邊寫了一遍,幾乎所有的地方都做好了筆記。不懂的單詞也都百度翻譯了出來,只能說,起碼到這里來說,只要對對java和安卓有一定了解的人,學起來都是比較輕松的。 這個老師的講解方式也是比較好的,簡潔而明了,只希望以后講那些參數的時候,能夠附帶講一下中文的意思,這樣英語差點的人更加好理解。
2016-03-21
03-16 09:39:47.949: E/AndroidRuntime(6178): java.lang.NullPointerException: Attempt to invoke virtual method 'int android.media.MediaRecorder.getMaxAmplitude()' on a null object reference
不管怎么結束都是出現這個錯誤?。。。?!這是為什么呢?。?!
不管怎么結束都是出現這個錯誤?。。。?!這是為什么呢?。?!
2016-03-16
showRecordingDialog()中應該要判斷mDialog是否為空,為空才new一個實例,否則來回移動會造成new很多個dialog重疊起來無法消除
2016-03-05
采用Handler發送消息的這種方式,感覺應該不太好,不要在自定義View中使用Handler機制
1:Handler與View之間強引用,如榮造成短暫的內存泄露;
2:View本身就提供了 Post(runnable)方法,所以不必采用Handler
對于new Thread這種方式也不太好,可以采用線程池也行, Executors.newFixedThreadPool(1);
也可以采用最新的RxJava,特別方便只要.observeOn(AndroidSchedulers.mainThread())在哪個線程處理結果, .subscribeOn(Schedulers.io())
1:Handler與View之間強引用,如榮造成短暫的內存泄露;
2:View本身就提供了 Post(runnable)方法,所以不必采用Handler
對于new Thread這種方式也不太好,可以采用線程池也行, Executors.newFixedThreadPool(1);
也可以采用最新的RxJava,特別方便只要.observeOn(AndroidSchedulers.mainThread())在哪個線程處理結果, .subscribeOn(Schedulers.io())
2016-01-20