从初识Android到现在,在不断做APP(二维码、条形码扫描,彩票购买,火车票余票查询)的过程中,自己学会了很多东西。找时间整理了一下,总结如下:

         其中,对于前两个APP,自己都是在他人已完成的基础上进行升级改造。

购物分享APP

条码扫描APP中,Android端使用的是Google公司的开源条码扫描包,对于App的开发起到了很大帮助,但不利的一面也是存在的,自己对其底层实现代码还不是很熟悉;服务端使用的是:JSP+Servlet+javaBean的形式,服务器端是采用Jax_WS发布服务的方式实现的,原服务器端采用的是C# .NET平台,自己将其改写为Java语言实现。

  彩票购买APP

Android客户端抽取了很多东西,所以类文件显得比较多;服务器端采用的架构为:Struts2+MyBatis,较条码扫描APP,在服务器端实现了更好的封装。自己也因此走上了J2EE框架学习的道路,其中不乏存在很多有趣的地方,学习框架犹如爬楼梯一样,循序渐进。

火车余票查询APP

   自己首先对业务场景进行了分析,最终确立了只有Android客户端的方案,在客户端中是采取爬取网页的形式执行,然后对获取到的数据进行处理(PS;后来考虑到将之作为一个本科毕业设计来做的话显得有点单薄,故后来将之改为C/S架构方式。)。细节方面的知识点其实还是很多的,在此就不一一列举了。

        自己是将Android与Java一起学习的,将近7个月的时间了,感觉自己还是学习到了不少知识,例如json解析,DOM解析,网络爬虫,框架方面的知识;同时也感觉到还有好多知识点没有涉猎或有待于进一步补充完善,例如PHP、Oracle、23种设计模式、SSH、Spring MVC、Spark、Sencha,相信在以后的开发学习道路上还会遇到更多的难点,但能够解决的问题都不能称之为问题。


 

附:

 

Q:在爬取12306网站时,出现如下错误提示:

android开发materialshapedrawable Android开发简单购物app_服务器端

S:导致出现此错误的是12306采用的https协议,爬取网页时应针对其安全机制提供相应的证书,当然也可以通过编程在访问时设置为忽略此安全特性。

Q:

android开发materialshapedrawable Android开发简单购物app_Android APP开发感想_02

S:

android开发materialshapedrawable Android开发简单购物app_服务器端_03

 


C/S与B/S架构的区别:


Android背景颜色参考值:


 

问题1:在“最新分享”功能模块中,出现了商品图片与评论不一致的情况。

解决: // 将Map转换为Array数组(此处有问题Set为无序集合)

array = hashmapEvaluations.entrySet().toArray();

遍历HashMap时,转换为了Set集合,变得无序。

使用LinkedHashMap可解决问题。

for (Object key:linkedHashMapEvaluations.keySet())

{

array[j++] = key + "\tby\t" + linkedHashMapEvaluations.get(key);

}

问题2:在“最新分享”功能模块中,出现了长时间等待查询结果的现象。

解决:

 

获取当前日期并格式化:


 

二维码生成:

http://blog.sina.com.cn/s/blog_b15639e00101e4ar.html

 

 

在后期还要实现将商品的信息以二维码的形式显示出来,并可打印印刷在商品上。当扫描商品的二维码时,就能够轻松获取商品的信息。

 

android开发materialshapedrawable Android开发简单购物app_Android_04

S:clean一下,问题解决。


 

编程感悟:

 

1.若一些经常变动的“常量”(例如网络编程中的IP、端口号)在多个文件中使用到,则应将这些常量放置在一个文件中,以便在以后修改的时候只需修改常量文件就OK了,而不用四处寻找需要修改的地方。这是一种很好的编程素养。

android开发materialshapedrawable Android开发简单购物app_服务器端_05

android开发materialshapedrawable Android开发简单购物app_java_06

 

android开发materialshapedrawable Android开发简单购物app_服务器端_07