Android进阶(九)APP编程感想
从初识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://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编程感想的更多相关文章
- Android进阶(十九)AndroidAPP开发问题汇总(三)
Android进阶(十九)AndroidAPP开发问题汇总(三) Java解析XML的几种方式: http://inotgaoshou.iteye.com/blog/1012188 从线程返回数据的两 ...
- 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!
本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...
- Android进阶推荐书籍
中级进阶推荐看一下以下这几本书 1.<Android从入门到精通(附光盘)> 明日科技 编 2.<第一行代码2 Android(第二版)> 郭霖 著 3.<Android ...
- 【Android进阶系列教程】前言
起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...
- Android开发面试经——4.常见Android进阶笔试题(更新中...)
Android开发(29) 版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http:/ ...
- Android studio 下JNI编程实例并生成so库
Android studio 下JNI编程实例并生成so库 因为公司需要为Android相机做美颜等图像后期处理,需要使用JNI编程,最近学了下JNI,并且在Android Studio下实现了一个小 ...
- 《Android进阶》之第七篇 NDK的使用
<Android进阶>之第一篇 在Java中调用C库函数 这一篇列举的方法是在NDK没有出来时候用的方式 在Android发布NDK之后,可以这样使用 一.首先下载android-ndk ...
- Android进阶(二十八)上下文菜单ContextMenu使用案例
上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等 ...
- Android进阶(十二)Fragment VS Activity
Fragment VS Activity Android是在Android 3.0 (API level 11)开始引入Fragment的. 可以把Fragment想成Activity中的模块,这 ...
随机推荐
- jquery form submit提交后无反应 不报错
jquery form onSubmit默认返回false 因为页面添加了validate验证,在刷新页面后重新提交需要加上下一行代码 onSubmit:function() {return true ...
- cookie读取、写入、删除
需求:用户访问页面之后出现弹框,点击关闭之后24小时内不会再出现.实现:cookie首先温习一点cookie的知识,明确以下几点:什么是cookie?cookie 是存储于访问者的计算机中的变量.每当 ...
- Jmeter_ForEach控制器实现网页爬虫
一直以来,爬虫似乎都是写代码去实现的,今天像大家介绍一下Jmeter如何实现一个网页爬虫! Jmeter的爬虫原理其实很简单,就是对网页提交一个请求,然后把返回的所有href提取出来,利用ForEac ...
- 嫌我的键盘的backspace太小,就尝试了一下改键工具--keyTweak
KeyTweak是一个很简单的键盘remap小工具,主要功能就是可以让我们选择某个按键并重新赋予该按键一个新的功能.如果哪天你的键盘某个重要的键坏掉了,可以通过这个免费的软件来重新定义该按键的功能.譬 ...
- iOS 选择排序
简单选择排序的基本思想:(从小到大) 第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换: 第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换: 以此类 ...
- Python3 XML解析
什么是XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 你可以通过本站学习XML教程 ...
- CNN在中文文本分类的应用
深度学习近一段时间以来在图像处理和NLP任务上都取得了不俗的成绩.通常,图像处理的任务是借助CNN来完成的,其特有的卷积.池化结构能够提取图像中各种不同程度的纹理.结构,并最终结合全连接网络实现信息的 ...
- 使用eclipse开发工具与hibernate开发者为开源一起做贡献
本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50525363 hibernate使用的是gradle自动构建工具, ...
- android M Launcher之LauncherModel (三)
通过前两篇的分析,我们已经知道了LauncherModel的初始化及工作流程,如果您还不熟悉的话请看前两篇博文 android M Launcher之LauncherModel (一) android ...
- jdbc批量插入
分享牛,分享牛原创.有这样一个需求,文本文件中的数据批量的插入mysql,怎么用jdbc方式批量插入呢? jdbc默认提供了批量插入的方法,可能用一次就忘记了,这里做笔记记录一下jdbc批量插入吧. ...