编程学习和感悟

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!

160630对于新出的一些Android新特性的掌握和学习方面,感觉已经落伍了不少,到底怎么回事?后来总结了一下发现

1:lazy2:personality 3:对技术没有执着的热情。

这当中最大的是个人这个人有问题,所以导致了其他的问题,如果人没出问题,一切将不一样。

Android DrawerLayout,Toolbar,Design包,新版下拉刷新等等。

200815android开发已经冷静了很多,甚至很多人都不再看好安卓了,现在会安卓开发的人太多了,做的好的却总是稀缺,或许也是二八定律。android最新版本已经更新到了R,即11,时间过得真快。8年了。许许多多的人进入了这个行业,许许多多的人投入了对安卓系统的研究,安卓开发技术也已经演进到了热更新,插件化等技术,可以说是非常成熟了。这样多的先进技术的出现应该离不开那些大牛对源码的深入研究。记得以前Windows时代有的hook技术,在安卓上也出现了。十几年前安卓横空出世,塞班系统市场被冲的七零八落,如今安卓市场份额已经稳居全球第一,当年的塞班想不到有今天吧。不知道以后有没有新的系统出现,安卓还能风光多少年。只有时间能告诉我们答案。

 7.关于回调

callback的一些理解,一般编程序都是调用系统的或者其他人提供的函数或方法,那么如何让系统调用我们的方法呢。我觉得所谓的callback就是系统或其他程序调用我们自己的方法,当然这么说不太准确,因为这个方法的定义不是我们定义的,系统已经定义好,我们只是把他实现,在适当的时机或某事件发生的时候,系统会去调用我们对这个方法的实现。

        在callback这个过程中比较关键的是符合条件的事件发生,发生事件后通知调用方,调用方调用实现方写好的函数(我们实现的方法)。事件的监视者和消息的通知者、调用方、实现方是三个不同的角色。回调是一个很重要的概念,在C/C++中用函数指针实现,在java中用接口实现。以上只是个人理解,可能有错误。

参考:http://blog.sina.com.cn/s/blog_4ac5bcf30100f894.html

参考:http://www.cxyclub.cn/n/10395/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值