2015/7/15晚21:45
大雨滂沱后寝室闷热,只有风扇的头晃到这边才有一丝凉意,眼很疼,但是无所谓。
暑假开始的这两天,是我今年最开心的一段日子,终于可以安安静静的编程了,狂喜。
正在按照肖老师所描述的效果,写一段android代码。大致要求如下:
1.扫描二维码,显示动画;
2.背景是摄像头预览,要求在播放动画时显示相机实时画面;
3.二维码由我来生成。
开始编写的第一天,下载了ZXing,并利用其中的captureActivity类自己写了一段代码扫描和生成二维码。
第二天,学习摄像头预览,下载了一个拍照的demo(在此感谢yanzi1225627,附上文章链接http://blog.csdn.net/yanzi1225627/article/details/33028041),简化了其拍照的功能,只留下了摄像头预览的功能,并通过一些视频资料,了解了核心知识点surfaceView(creat、change、destroy)。
第三天,也就是今天,准备在viewFinderView中重绘视图,将动画加入。到目前为止我的思路是:首先布局surfaceView,将摄像头预览,然后布局viewFinderView,扫描二维码,但是ZXing已经将这两个写到一起了,所以说我现在只用做的是:
1.扫描二维码调用手机上的动画;
2.把动画在viewFinderView上展示。
但是问题来了:
1.不知道二维码是如何扫描的,只知道在captureActivity中;
2.不知道扫描完何时调用资源;
3.不知道如何调用资源,以及资源是以什么形式在二维码中保存;
4.不知道调用的动画如何在viewFinderView上显示。
脑子很乱!!!!
————————————————————————————————————————————————————————————
2015/7/16
室友的老干妈依旧没有盖盖……空气依旧香甜。
一如既往,边学边干的路上弯路不少。前两天卯着吃奶的劲儿看完了摄像头预览和与view有关的文章,后来写了摄像头预览的demo和视图布局的demo后才发现zxing里面都已经集成好了……,但是还是要感谢guolin,附上文章链接http://blog.csdn.net/guolin_blog/article/details/17357967。
问题都已解决,但是又出现了其他问题:
1.无法在viewFinderView中调用DecodeHandler中的rawResult。
尝试的方法:
1.将rawResult设置为全局变量,新建类继承application类……方法自行百度。失败!
2.在viewFinderView中创建DecodeHandler的对象,直接调用rawResult。失败!
下一步计划:
1.学习android组件通信中的消息机制;
2.学习完如果不行的话就继续尝试 尝试的方法1.
看来不系统的学习一遍android是不行的!
————————————————————————————————————————————————————————————
2015/7/17
被女友抱怨不关心她!这种事以后会不会经常发生……
今天学习了一下handler、message、looper本来想看看能不能使用消息把解码结果传出来,失败了,是因为message只能传到消息池中。但是意外发现startActivityForResult方法可以回传解析后的数据更新UI,主要是重写onActivityResult(int requestCode, int resultCode, Intent data)方法,而其中Intent data就是解析后的数据!明天学习一下这两个方法。
PS:女友生病了,可能写的时间不多……
————————————————————————————————————————————————————————————
2015/7/18
几乎陪了女友一天
下午收获甚微,为了让扫描二维码之后在viewFinderView上显示动画,尝试了2种方法:
1.自定义事件监听;
2.回调。
今晚坐在操场上想了想,两个问题:
1.数据问题,也就是解析后的数据去哪了?
2.view问题,调用的动画在哪个view显示,viewFinderView还是新建view?
而且,只有解决了result,才能继续向下进行。
明天的任务:
1.分析result内容;
2.分析result去向以及如何调用。
————————————————————————————————————————————————————————————
2015/7/19感冒
解码结果在handleDecode中,但是依旧不清楚结果的去向。
试图重绘viewFinderView,没看懂咋写的……最后用了个土方法:先在xml文件里添加一个控件,然后在setText。
明天的任务:扫描二维码显示图片,调用资源的问题。