1.程序开发,从想法到做出来有一个过程,这个过程被称为algorithm(算法)
例如:
Android中加载图片
图片的异步加载:
SoftReference(不能阻止gc回收所指向的对象)
1.algorithm:
2.get image url
3.query cache----if(have no img)----internet--->5.
4.access cache
5.get image object
6.shou image
2.Android view的显示过程
Android的View显示过程:首先是Measure-->Layout-->Draw.即测量出大小--->布局放到合适位置--->绘制出来。
3.Android动画
Android学习了一年多了,感觉停滞不前!怎么回事??
4.进制的一些体会
16进制hexdecimal 0123456789abcdef
10进制decimal 0123456789
8进制octal 01234567
2进制binary 01
10进制中100是10 x 10 10进制中100是10进制的100
2进制中100是2 x 2 2进制中100是10进制的4
8进制中100是8 x 8 8进制中100是10进制的64
16进制中100是16 x 16 16进制中100是10进制的256
进制间的转换:
BCD码 binary coded decimal二进制编码的十进制数
小学学数学的时候:
被除数/除数=商。老觉得除数是被除数,现在好了。
被减数-减数=差 老觉得减数是被减数,还有减法也纠结过。
5.url编码
在查看一些网页的时候在url中会看见一些%20等符号,这是url编码,对特殊符号的编码,%20表示空格。
汉字使用UTF-8 url编码,一个汉字使用3个编码表示。(例如 文 %E6%96%87)
还有一种情况是使用八进制的编码(文 \346\226\207)
6.Android Eclipse开发配置注意的地方
android SDK tools和ADT的版本是有对应的,如果版本不对应则会有错误提示,需要某版本的ADT或SDK tools
6.Android
学习Java和Android有一年半了,虽然也能做点应用了,但还是感觉Android就像迷雾一样,Java也像 迷雾一样让我看不懂,看不清!有的时候真的是为了赚钱干这一行,并没有抓住一些问题解决到底,彻底弄明白。虽然学习很多年计算机,对于硬件和软件之间是怎么样联系起来的还是不大清楚。缺乏钻研精神。
130904看到Android系统如此多的常量,如此多的类,Android系统真的是一个庞大的系统,虽然前面学习了它的几层结构,但是仍然觉得对Android的了解只是冰山一角,如此庞大的系统缺乏对其有一个全面的了解,陌生的东西不断冒出,更谈不上驾驭它了。
对于Java语言的学习和探索也是欠缺,以至于Java的很多方面都不太了解,Java相关的框架,现在有种越学越糊涂的感觉,唉这是怎么了?想多了,休息休息……
130910上学的时候开始学习C,学了一段时间以后,不知道学了这些有什么用,再后来学习Java感觉也一样,好像所学的东西没什么用处;再后来,遇到有经验的老师的讲解,学会了一点实用的知识,尤其在学习了网络相关的http的一些操作之后,当我将请求发出去,然后接收到网络上返回来的数据的时候,简直大喜过望,后来时间一长,感觉 又没意思了,总是调用别人的东西,总是在机械的重复发送、接收,心想这有什么意思。于是开始想念当初课本上讲述的数据结构和算法,虽然那些知识已经变得很遥远,但是大牛说那是巨重要的,于是打算认真学习一遍,结合自己学习的语言,实践出来。上学的时候,写十来行代码,运行成功,就很有成就感了;现在写代码,很快就达到数百行,当然很多行都是IDE自动生成的。虽然现在能写几百行代码,但是感觉自己还是很菜,感觉自己还是没有学会编写程序。我需要一颗谦卑的心。
131004Android中的自定义view已经看过许多次了,可是依旧感觉不是太清晰,主要问题在于view的那些onMeasure,onLayout,onDraw方法的调用时机,不知道该什么时候调用什么方法,不知道在相应的方法中要做什么样的处理。貌似还有一个onSizeChanged方法。还有看一些开源项目的时候看到许多项目里面定义了许多接口,自己在实际开发的时候却几乎没用过,我还是没有意识到接口的重要性和它的强大。面向对象的思想也太低。在java方面还有多线程的协作,数据库transaction……。Android方面自定义view、不同屏幕尺寸、屏幕不同像素密度的适配,一些资源图的尺寸应该需要多大,都是个问题。Bitmap对象多了之后造成的Out of Memory的问题。要学习的还有很多。昨天看了一下android的包,view类需要加强理解理解。努力吧。The pain is temporary,but the pride is forever!
7.关于回调
callback的一些理解,一般编程序都是调用系统的或者其他人提供的函数或方法,那么如何让系统调用我们的方法呢。我觉得所谓的callback就是系统或其他程序调用我们自己的方法,当然这么说不太准确,因为这个方法的定义不是我们定义的,系统已经定义好,我们只是把他实现,在适当的时机或某事件发生的时候,系统会去调用我们对这个方法的实现。
在callback这个过程中比较关键的是符合条件的事件发生,发生事件后通知调用方,调用方调用实现方写好的函数(我们实现的方法)。事件的监视者和消息的通知者、调用方、实现方是三个不同的角色。回调是一个很重要的概念,在C/C++中用函数指针实现,在java中用接口实现。以上只是个人理解,可能有错误。
参考:http://blog.sina.com.cn/s/blog_4ac5bcf30100f894.html
参考:http://www.cxyclub.cn/n/10395/
参考