上一个自己做的练习和作品主要集中在View、屏幕切换等一些与图形绘制相关的内容和技术上,这一阶段给自己制定的计划是学习和熟悉一下各个UI组件。因为邻近春节,所以想短信祝福程序。选定内容后,定的学习点主要有:
1. 怎么发送短信
2. 怎么发送彩信
3. ListView等UI的应用
4.各个Activity数据传递
5. 电话联系人的选择
6. sqlite应用
按照自己的学习点,划分了几个界面,并且绘制了简单的原型(ps:同时规划了每个界面的广告位,不管以后做成什么样,该预留的扩充还是需要预留的。),做完这些准备之后,我开始了实现之路。
首先,先绘制各个Activity,把各个Activity串联起来,使得界面能够顺畅流转,在这之间,又详细得查阅了一些Intent等信息,对startActivityForResult也做了了解。当时看到的界面还没自己画的原型漂亮。
然后,对发送短信做了资料查阅,经过资料的查阅和阅读,网上的资料还是很丰富的,对短信发送的一些简单原理有个基本的了解,通过简单的例子模拟,在真机上做了一下测试(网上说了N长还不如自己的真机测试,一测就知道具体的效果了,不需要瞎猜),效果达到了自己实际想要的,然后对自己的短信发送进行了模块封装,为以后如果其他程序需要可以直接提取当前模块拼装。
彩信是比较麻烦的一件事,网上找了半天,没有后台直接发送短信的API,只能调用系统的Activity,比较麻烦,为了不使得自己死磕在这个技术点上,对一些Frame内部代码做了简单了解后,调用系统的Activity,在真机上看了一下效果,我想要后台发送,没达到自己的期望值。自己的彩信可以在屏幕上自己定制,自己对一些截屏技术和IO操作做了试验,并且对这几个点做了模块封装,觉得在后面其他的程序编写中能够使用上。
ListView在最最开始自己学习的时候使用过,一直以为自己对ListView有些了解,但在这实际的深入使用中,发现了解的很少,对ListView的背景定义,Item的样式定义(Item看作一个屏幕也不过分,所以想想,一个界面要用两个xml布局,用Item是不是很合适,而且还是动态的,只是对ListView和Item的样式做些定义和改变。),再做的过程中,碰到了Item的分隔线,自己定义多选,滚动条等大大小小的细节点,在真机测试的时候,又碰到了滚动时屏幕变黑的情况(这在模拟器上看不出来,所以当初找资料的时候没看到变黑什么意思~~~),经过这些大大小小的细节处理,对ListView的理解又加深了。
这次设计布局的地方很多,自己采用了xml和代码两种方式结合布局,对怎么布局,布局后再什么位置,像gravity和layout_gravity有了更深一层次的了解,现在来看UI的一些布局机制和Swing和Ext都很相似,往往都相通,特别LinearLayout布局和Ext的Form和Column套路基本一样。
电话联系人比较简单了,学习了ListView后,这些相对比较简单了,只是读取号码的点注意一下就行。真机上试验了一下读取SIM卡,现在觉得有些手机自带的电话薄为什么就不过滤掉重复相同的呢(双卡),很简单的事,另外根据效率来看,现在手机上的电话薄应该做了一些优化手段。
对于sqlite,自己也想实践一下,虽然平时自己在做大项目应用的时候,对Oracle,Informix相对比较熟,但对sqlite还很没接触过。sqlite的命令行操作、第三方工具、DDL,DDM,同时对sqliteOpenHelper有了一定的了解,自己封装了一个数据池。
对于一个新人,自己想到一个Idea就开始动手吧,在动手的过程中总有你想能学习的地方。
愿每个android者,都有一个美好的2012。
附上程序首页,图片处理能力有限,发现图片处理相当费时间,可能自己对图片处理不是那么熟悉也有关系,最近正在恶补PhotoShop(又一个学习点)。
上一个涂鸦:
经典童年游戏(桌游大富翁)