Android入门还是很简单的,看两本书,翻阅几篇文章,搭建了开发环境就算入门了。可是怎样开发一款完备的android应用呢,开发一款高端的android应用又需要那些知识呢,作者根据几年的开发经验做了一点总结,有不足之处也请读者补充。

一、网络开发技能

开发的应用肯定会联网,在移动互联网时代,单机应用会越来越少。如果我们开发的应用缺少与服务器的交互,内容上不会丰富,更有可能的是我们无法控制到应用,得不到用户及用户反馈。网络连接中用的最多的无非是Http或者Tcp。Android中http使用提供了三个包,我们常用的是HttpClient、HttpURLConnection。网络上也有对http的封装包,例如volleyandroid-async-http,volley使用的HttpURLConnection,android-async-http使用的HttpClient。虽然http的封装包使用起来都很简单,但是我们也应该了解一下他们的区别,作者有一篇文章是介绍HttpClient、HttpURLConnection区别的,希望对您有帮助,《AndroidHttp通信 HTTP Client与HttpURLConnection的区别》

volleyandroid-async-http都是非常简洁、伟大的http开发库,android-async-http有详细的开发文档,作者不做详细的说明。 Volley是Ficus Kirpatrick在Gooogle I/O 2013发布的一个处理和缓存网络请求的库,能使网络通信更快,更简单,更健壮;他没有使用文档,作者有几篇文章介绍了volley的使用。

《Google I/O 2013 – Volley: Easy, Fast Networking for Android》

《网络通信框架Volley使用详细说明》

《Asynchronous HTTP Requests in Android Using Volley》

《Android UI开发第三十六篇——使用Volley加载图片列表》

二、丰富的UI技能

客户端开发不同于服务端,服务端只处理逻辑,客户端即处理逻辑又处理界面,而且界面又是多变的,不同的客户端,界面肯定不一样,相同的客户端,不同时期的界面也可能不一样,所以客户端开发者总感觉在修改界面,不是在改界面就是在改界面的路上

我们处在一个以“用户体验至上”的时代,产品经理经常会以此为理由修改已经确定的UI,为了应付多变的需求,我们必须储备尽可能多的UI处理技能。从最简单的Button、TextView、EditText到高级点的Listiew、Tab、ViewPager,我们都应该掌握,我们还应该跟上时代掌握ActionBar、Fragment等等,自定义View的技能也必不可少。作者有一个UI开发专栏,介绍到了很多常用UI知识,分享给大家。

Android UI开发专栏

三、保证应用安全技能

应用安全是我们重点关注的,尤其涉及到支付相关应用。我们不希望自己的应用遭破解、也不希望用户被钓鱼、更不希望出现数据漏洞,那我们就需要提高应用安全技能。

应用安全会涉及到代码安全、客户端与服务端通信安全、应用内部组件通信安全、数据库数据安全等等,作者也提供了一个专栏来介绍应用安全,内容还不够多,以后会再补充一些。作者也不是专业做安全的,难免有不足之处,也请读者谅解。

android应用安全

四、NDK技能,适当的使用so

Android平台从诞生起,就已经支持C、C++开发。虽然Android的SDK基于Java实现,但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,"Java+C"的编程方式是一直都可以实现的。涉及到注重性能,或比较底层的程序都会使用C/C++开发,例如音视频编解码。有的应用会使用so文件,以保证应用安全。

NDK全称是Native Development Kit。NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。官方关于NDK开发的文档相对较少,作者也总结了几篇文章,帮着初学者入门。

Android JNI入门

JNI专栏中包含了JNI入门、C调Java、Java调C、

android开发中,使用到的知识不只是上面的四点,还会有数据库相关、Broadcast、Service等等,但是上面的四点在使用过程中更丰富、多变;而数据库相关、Broadcast、Service等比较简单、单一,在每个应用中的使用方式都是一样的。在学习中我们更应该注重以上四点知识的积累。有不足之处,望读者留言补充。

博主有幸成为2013年度博客之星的候选人之一,期待你的一票,谢谢您的支持。

投票猛击

http://vote.blog.csdn.net/blogstaritem/blogstar2013/xyz_lmn

/**
* @author 张兴业
*  http://blog.csdn.net/xyz_lmn
*  iOS入门群:83702688
*  android开发进阶群:241395671
*  我的新浪微博:@张兴业TBOW
*/

开发一款高端大气上档次的android应用需要必备的知识——记于2013年末的更多相关文章

  1. 利用React Native 从0到1 开发一款兼容IOS和android的APP(仿造京东)

    最近有一部电视剧叫做<微微一笑很傻逼>里面有个男猪脚,人们都叫他大神~我觉得吧~大神是相对的~所以~啥事都得谦虚! 好了 今天介绍的是如何从0到1利用React Native开发一款兼容I ...

  2. 开发一款完备的android应用所必备的知识

    原文:http://blog.csdn.net/xyz_lmn/article/details/17575709

  3. [Android游戏开发]八款开源 Android 游戏引擎 (巨好的资源)

    初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引 ...

  4. html+css+js+Hbuilder开发一款安卓APP,根本不用学Android开发!

    我们知道,要做一款安卓APP,咱们得先学安卓开发语言,例如java,前端后端.那么没有这些开发语言基础,咱们怎么做呢?其实现在有比较好的开发方案就是做webAPP,咱们可以用web前端知识构建安卓客户 ...

  5. 高端大气上档次!10个精美的国外HTML5网站欣赏

    这篇文章挑选了10个高端大气上档次的 HTML5 网站分享给大家.作为下一代网页语言,HTML5 加入中众多的语义化标签,例如 video.audio.section.article.header.f ...

  6. 移动周报:十款最实用的Android UI设计工具

    上一周可以说是一个不断Mark周,从最实用的Android UI设计工具.免费移动应用测试框架推荐,到HTML5开发框架等等,各种开发工具.框架精彩丰呈,看得小伙伴们是不亦乐乎.当然,还有不容错过的M ...

  7. 开发一款即时通讯App,从这几步开始

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 " ...

  8. 从零开始开发一款app,所想到的

    我在知乎上看到这个问题http://www.zhihu.com/question/27645587.我在阅读了各位大牛的答案后,再加上自己的思考,就有了这篇文章的内容.     从零开始开发一款app ...

  9. Android--从零开始开发一款文章阅读APP

    代码地址如下:http://www.demodashi.com/demo/11212.html 前言 本案例已经开源!如果你想免费下载,可以访问我的Github,所有案例均在上面,只求给个star.当 ...

随机推荐

  1. hdu1875 畅通工程再续 最小生成树并查集解决---kruskal

    http://acm.hdu.edu.cn/showproblem.php?pid=1875 New~ 欢迎“热爱编程”的高考少年——报考杭州电子科技大学计算机学院关于2015年杭电ACM暑期集训队的 ...

  2. 关于iReport报表的分页

    问题:二手车认证系统的检测报告采用iReport开发,开发者自定义了一张超级长的纸张,导致打印时自动缩放到了一张A4纸上.需要修改使之能够合理的分页打印,这是来到新公司的第一个任务. 解决方案一: 1 ...

  3. python实现curl功能

    之前写过一篇文章关于python CURL模块的,在这里我们从urllib来实现同样的功能.具体代码如下: import urllib import urllib2 import json #发起请求 ...

  4. Android布局优化

    前言 本篇文章为Android优化的布局部分,该部分应该是Android中很重要的,无论是在自定义控件中,还是在简单的书写布局时,都应该尽量遵循一些优化原则,这样布局的绘制效率才会更高,体验才能更好. ...

  5. 跑PIN码破解无线网络WIFI密码的原理分析(转)

    你们家用的无线路由器安全吗?有人蹭网吗?无线路由器的漏洞在哪里?这么避免蹭网? 想要了解这些,必须要了解加密以及破解原理. 工具/原料 电脑 足够多足够好的wifi信号源 usb无线网卡(非必需) 一 ...

  6. ActiveMQ 使用

    ActiveMQ资料大全 官方文档 入门:http://activemq.apache.org/getting-started.html 常见问题:http://activemq.apache.org ...

  7. java目录

    1. 在jsp文件或Servlet中,可以通过getServletContext().getRealPath("/")来获取项目根目录的绝对路径. 2. Java桌面程序中,可以通 ...

  8. 资源监控工具Spotlight-使用说明

    几年前使用过此工具,发现用于监控远程服务器,非常方面而且快捷.当前再次用于配合压力测试进行资源监控,突然想起来了,以免生疏,在此记录! 1.被监控服务器为Ubuntu server,先在服务器上创建一 ...

  9. HDU 3874 Necklace (树状数组 | 线段树 的离线处理)

    Necklace Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  10. struts1+spring+myeclipse +cxf 开发webservice以及普通java应用调用webservice的实例

    Cxf + Spring+ myeclipse+ cxf 进行  Webservice服务端开发 使用Cxf开发webservice的服务端项目结构 Spring配置文件applicationCont ...