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

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

购物分享APP

条码扫描APP与彩票购买APP均采用C/S架构,在条码扫描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,相信在以后的开发学习道路上还会遇到更多的难点,但能够解决的问题都不能称之为问题。

有需要源代码的朋友可以联系我。联系方式:QQ 752487551

附:

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

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

Q:

S:

JavaEE学习路线图:

http://java.itcast.cn/subject/javastudypath/index.shtml?j2#0-qzone-1-69233-d020d2d2a4e8d1a374a433f596ad1440

学习园地:

极客学院:http://www.jikexueyuan.com/path/android/

Android系统架构:

http://www.cnblogs.com/royenhome/archive/2010/04/24/1719293.html

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

http://www.cnblogs.com/mfryf/archive/2012/02/13/2349750.html

Android背景颜色参考值:

http://blog.csdn.net/chindroid/article/details/7740949

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

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

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

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

使用LinkedHashMap可解决问题。

for (Object key:linkedHashMapEvaluations.keySet())

{

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

}

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

解决:

获取当前日期并格式化:

http://blog.csdn.net/yudajun/article/details/7939552

二维码生成:

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

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

S:clean一下,问题解决。

http://blog.csdn.net/xusongsong520/article/details/8009696

编程感悟:

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

Android进阶(九)APP编程感想的更多相关文章

  1. Android进阶(十九)AndroidAPP开发问题汇总(三)

    Android进阶(十九)AndroidAPP开发问题汇总(三) Java解析XML的几种方式: http://inotgaoshou.iteye.com/blog/1012188 从线程返回数据的两 ...

  2. 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!

    本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...

  3. Android进阶推荐书籍

    中级进阶推荐看一下以下这几本书 1.<Android从入门到精通(附光盘)> 明日科技 编 2.<第一行代码2 Android(第二版)> 郭霖 著 3.<Android ...

  4. 【Android进阶系列教程】前言

    起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...

  5. Android开发面试经——4.常见Android进阶笔试题(更新中...)

      Android开发(29)  版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http:/ ...

  6. Android studio 下JNI编程实例并生成so库

    Android studio 下JNI编程实例并生成so库 因为公司需要为Android相机做美颜等图像后期处理,需要使用JNI编程,最近学了下JNI,并且在Android Studio下实现了一个小 ...

  7. 《Android进阶》之第七篇 NDK的使用

    <Android进阶>之第一篇 在Java中调用C库函数 这一篇列举的方法是在NDK没有出来时候用的方式 在Android发布NDK之后,可以这样使用 一.首先下载android-ndk ...

  8. Android进阶(二十八)上下文菜单ContextMenu使用案例

    上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等 ...

  9. Android进阶(十二)Fragment VS Activity

    Fragment  VS  Activity Android是在Android 3.0 (API level 11)开始引入Fragment的. 可以把Fragment想成Activity中的模块,这 ...

随机推荐

  1. js遍历 for-of

    for-of遍历 entries() 返回一个遍历器对象,用来遍历[键名, 键值]组成的数组.对于数组,键名就是索引值:对于 Set,键名与键值相同.Map 结构的 Iterator 接口,默认就是调 ...

  2. ECC公钥格式详解

    本文首先介绍公钥格式相关的若干概念/技术,随后以示例的方式剖析DER格式的ECC公钥,最后介绍如何使用Java生成.解析和使用ECC公钥. ASN.1 Abstract Syntax Notation ...

  3. C# get 、set、索引器

    get 与 set C#类的属性有公有属性(public)和私有属性(private).如果直接将一个属性声明为public,则该类的任意实例可以随意获取或修改该属性的值,很不安全..NET Fram ...

  4. 小程序上拉下拉共存时不可使用scroll-view的解决方法

    使用 bindscrolltolower ,必须搭配使用的 scroll-view 会导致小程序 "enablePullDownRefresh": true 下拉不能使用. 解决方 ...

  5. python中input()和raw_input()的区别

    两者均是python的内置函数,通过读取控制台的输入与用户实现交互.raw_input:将所有输入作为字符串看待,不管用户输入什么类型的都会转变成字符串.                   raw的 ...

  6. Hibernate异常之关键字错误

    三月 08, 2018 7:50:25 下午 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException ...

  7. WebRTC 音频算法 附完整C代码

    WebRTC提供一套音频处理引擎, 包含以下算法: AGC自动增益控制(Automatic Gain Control) ANS噪音抑制(Automatic Noise Suppression) AEC ...

  8. Android Studio 中设置代码块自动补齐

    AS中很多提示键,并不如Eclipse中做的好,需要我们自己去自定义.这里以switch...case为例,讲解一下如何设置代码自动补全. 1.进入settings -->  Editor -- ...

  9. Python logging 模块和使用经验

    记录下常用的一些东西,每次用总是查文档有点小麻烦. py2.7 日志应该是生产应用的重要生命线,谁都不应该掉以轻心 有益原则 级别分离 日志系统通常有下面几种级别,看情况是使用 FATAL - 导致程 ...

  10. Python 函数参数传递机制.

    learning python,5e中讲到.Python的函数参数传递机制是对象引用. Arguments are passed by assignment (object reference). I ...