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