- 浏览: 284645 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (142)
- android (64)
- android team 应用开发流程 (0)
- android 个人 开发流程 (1)
- android UI 切换皮肤 (1)
- java (9)
- 敏捷开发 (1)
- git (1)
- 学习 (2)
- hibernate (0)
- jQuery (1)
- windows (2)
- tomcat (1)
- Spring (3)
- struts2 (5)
- mysql (4)
- linux (15)
- JBPM (2)
- maven (4)
- 企业管理 (1)
- Iphone (1)
- 工作计划 (0)
- news (1)
- MOVE (1)
- exception-android (1)
- RFID (1)
- 测试 (7)
- android基础 (1)
- Gson (1)
- Android中的单元测试 (1)
最新评论
-
jlees:
Nice post.i hope this will help ...
Business mobile application development. The developer’s insight. -
weisi2375:
确实很详细的开发流程。
Android应用开发全流程 -
mikefather:
不错不错
Android,谁动了我的内存 -
ylzyd12345:
mark一下,谢谢分享
android的一些开源项目 -
limingcai:
确实不行,2.2就不行了,虽说2.3了 只有1.6可以
Android完全关闭应用程序
转载:http://blog.csdn.net/ly_sr/article/details/6737353
一、准备工作
1. 技能储备
1) Java
重要程度:★★★★★
当然是掌握的越多越好,毕竟Android就是用Java语言来开发的。遇到很多没有Java基础的朋友问:要想直接学Android,Java应该掌握到什么程度?个人认为,如果一个熟练的Java程序员技能算100分的话,掌握到40-50分,基本开发Android不会有语言上的太大障碍了。其实主要也就是Java的类、继承、接口、IO、XML解析等这些基本的操作掌握了也就可以开始用Android开发些简单应用了。话说我一个朋友完全没有Java基础,直接上手开发Android,没几天也就能写出个应用,虽然他是个C++和C#高手……编程这玩意很多东西都是相通的,基本的搞明白了,再学学Java特有的也就算入门了。不过还是强烈建议——掌握的越多越好。
不过也不用摸不着头脑,太刻意去学,没目标抱着本《Java编程思想》学也不见得有多大效果。自己动手做个Android小应用,遇到问题了回头再针对性的去学Java。我这个半吊子也是这样,开发Android时,经常碰到一些Java比较基础的类的使用,但当时没弄明白,所以需要回头专门再看看。
2) XML
重要程度:★★★★
Android开发中很重要的一类文件,也是一种标记语言,与平台和编程语言无关,所以一般用来保存和传递各种数据、参数。在Android中,很多配置信息、数据存储,尤其是Android界面,要大量的和xml打交道。虽然很重要,但其实并不复杂,找些基本教程看看,明白xml结构和语法特点也就基本够用了。(这里顺便强烈推荐新手一个入门网站:http://www.w3school.com.cn/,简洁,全面,有力!没有多余的废话,页面干净无广告!……最主要我觉得有一定的权威性,作为XML等学习的入门网站和查询工具很有用)
3) 数据库
重要程度:★★★
Android要保存数据,经常使用内置的SQLite数据库,可以使用SQL查询语言操作。所以如果有数据库使用经验,这个就简单多了。如果没接触过,就了解一些基本的SQL语句:增加、删除、修改、查询。
4) Dos
重要程度:★★
这个,貌似也谈不上掌握了,会操作就行了,因为之前碰到几个哥们,确实连cd,dir等一点dos操作都不会用,这就稍微麻烦点了,因为无论一开始配置java,还是最后生成签名,当然还有很多场合会需要在Dos环境操作,虽然可能有部分操作已经有图像界面替代了,但还是稍微看看吧,起码很酷么~~
5) Linux
重要程度:★
好像不应该是“重要程度”,应该是会使用程度吧。Android本身是基于Linux内核开发,说不重要可能会被拍唉。
主要就是会一些基本的linux命令,su,sh,cd什么的,后期调试Android程序可能会用到,比如查看SQLite数据。也不用特意去学,需要的时候网上现找找,多用几次也就记住了。
2. 工具准备
1) Eclipse
最强大的Java开发工具,安装Android开发插件后可以方便快速的开发和调试Android程序。
2) Android SDK
Android开发工具包,包括核心API,AVD(Android虚拟设备)等,可以到Android官网下载。具体安装配置就不多写了,网上很多,我再引用这文章写成书了……
参考:http://android.tgbus.com/Android/tutorial/200812/171154.shtml
3) Java SDK
Java工具包,包括JDK和JRE,可到Java官网下载。
安装,配置环境变量。
参考:http://blog.csdn.net/huanghm88/article/details/3965218(很全,一般到path和classpath设置完就ok了)
4) 其他
FireWorks:用于编辑png图片,Android中主要的图片格式。纯粹个人喜好,有其他图片编辑工具也行。
3. 文档资料
1) 一本纸质书
最好有本入门的纸质书,毕竟写的质量比较好的书能够尽量全部的涵盖Android开发各个方面,对新手很有帮助。
说下我当时看的吧:《深入浅出Google Android》,人民邮电出版的,不过很老了,09年的,还是基于Android API1.5。
2) API文档
Java API,Android API,重要的查询手册。不能上传附件,这个搜一下吧,很多。
二、开发
1. 建立项目
在Eclipse中新建一个Android项目,基本流程是:新建项目,选择Android Project,然后输入package名、应用名和Activity名,选择Android Api版本。
菜鸟提示:package,包名,一般的命名规则是尽量独一无二,方便区分和管理,所以一般比较规范的命名都是公司域名的倒写,比如google的包,google域名是google.com,所以包名是:com.google.*
2. 基本开发流程
1) 构思布局,用xml构建基本的布局和控件
2) 写java程序,实体化xml的布局、控件、实现业务逻辑。
菜鸟提示:很多控件既可以在xml文件中设定各种属性,也可以在java文件中设定属性;通常如果需要动态的改变某些属性,比如setText(),则需要在java中实现,这也是非常常用的,比如按下按键,按键颜色变深等等。
3) 运行,调试程序:即可以使用Android模拟器调试,也可以通过数据线,直接接手机调试。提示:如果是用模拟器调试,调试后需要修改程序再次调试时,不需要关闭模拟器,直接再次运行就可以。
4) 美化、找图片:菜鸟提示:Android标准图标根据手机分辨率不同,分别有36*36/48*48/72*72这三种尺寸,你会看到drawable-hdpi/drawable-ldpi/drawable-mdpi不同的目录用来存储不同尺寸的图标,在AndroidManifest.xml中只需要写@drawable/icon就可以,它会根据屏幕分辨率去找不同目录下的图标。(参考:http://zl4393753.iteye.com/blog/1056785)
5) 关于应用中的文字等引用资源:重点说说文字吧,应用中比如菜单名字,标题等,既可以直接写在java文件中,也可先写在res/values/strings.xml文件里。不过呢,还是强烈建议,尽量都写在strings.xml文件里,这样以后要修改文字,直接改这个文件就行,否则在java程序里找可费了大劲了,尤其是要开发多语言版本的话,所有文字全部要改成外语,当然还是在strings.xml里写方便的多。养成个好习惯,不要嫌麻烦,Android系统里专门弄这么个文件是有道理的。
6) 最后,切记切记,修改AndroidManifest.xml文件,修改版本信息,加上需要的各种权限,如发送短信,访问网络等等,否则程序发布了,很多相关功能没法用。
三、打包发布
每次发布前都是最激动人心的时刻啊~然而这部分网上很少有专门讲的(也许我手拙没找到),针对这部分我还专门到开发论坛发布了很多帖子提问,时至今日,除了同样困扰的菜鸟帮顶,无人回答……鄙视一下。也正因如此,动了写这篇文章的念头,Android开发,很多东西简单,但是从没有人和你说过~
1. 加入广告
我们很多开发的应用,最终目的是发布到网上给大家用,如果顺便能有收入也是我们的一项劳动成果,虽然很多很惨淡(又是我不堪回首的过去啊)。
1) 选择广告平台:常用的有Google的AdMob,国内的有:有米,微云等等,至于说哪个效果最好,众说纷纭,最好还是自己亲自试试。还有一种平台是各种广告平台的集成,能根据使用者优化,动态选择。但因为某些电子市场不允许这个,我就没用,也就暂时不点名了,想试试的,百度……(我没说是第一个哈~)。
不过呢,最好固定一两个效果比较好的,因为很多平台要提款的话,必须达到一定额度,而且太分散的话,自己添加着也挺麻烦的。当然,如果这个平台效果公认的已经落后了,还是要毅然换平台的,毕竟不同的广告联盟广告主资源水平还是有差距。
2) 普遍有一个说法,如果是针对国外的应用,最好还是Google的Admob,针对英文环境能够提供的广告数量也多。不过本人没用过,不多说了。至于为什么没用,见下文。
3) 进入正题,如何给程序加入广告呢?通常步骤是:下载该平台的sdk包,把jar加入到你项目的buildpath,然后在主程序里加上调用广告的程序,再在界面中设置展示广告的位置,最后修改AndroidManifest.xml文件,加入广告涉及的程序、权限等。然后,欧了!
具体详细的安装方法,看广告平台提供的说明文档就行了,放心,一定会非常详细,一步一步教你,因为他们比你更希望你的应用中展示他们的广告。
2. 添加最终用户许可协议
类似License授权使用之类的,可能你已经在某些程序中见过,第一次启动,显示的那一大篇文字,却几乎不看,直接点“Accept”……具体添加步骤……网上还真没有几个讲这玩意的,要不说很多东西没人告诉你呢。我还是从书上看来的,好几页,也懒得抄了。话说,其实这东西主要就是保护你的知识产权的,也不知道是咱们缺少这意识,还是太简单没人写。
找了半天找到个老外写的:http://bees4honey.com/blog/tutorial/adding-eula-to-android-app/,差不多就是这个步骤。我也只用过一次,是在给摩托罗拉电子市场提交应用时,人家明确要求要有这个东西。到时候需要的话就参考一下,不想弄这个呢,也完全不影响你程序的正常使用。
3. 数字签名:你开发的Android应用必须有签名才能安装。之前调试的时候,是Android SDK自动用默认的签名调试,发布的时候必须要重新生成一个签名;另外,同一个应用的不同版本,要使用同一个签名,这样安装程序的时候,才会自动升级,新版本代替旧版本。否则,不同的签名系统会认为是不同的应用,而且包名(之前的package)必须不一样。具体签名过程,参考这里:http://www.cnblogs.com/feisky/archive/2010/01/17/1650076.html
还有这里:
http://lufengdie.iteye.com/blog/814660
其实这里连带打包都包括了。
4. 打包为可安装的apk文件:Eclipse中,右击需要签名的工程-->android tools-->export signed application package...
出现对话框,选择需要签名的工程;next,选择上面生成的android.keystore文件位置和设置的密码;next;
next,选择签名生成文件的位置和名称
finish,搞定啦...
5. 发布你的应用程序
1) 首先,如果应用中有广告,应先上传到对应广告平台。审核通过后,你的广告才真正启用。
2) 发布到其他电子市场。这一步其实可以和上一步同时进行。但一般为了防止你没测试到的错误或者其他原因,广告平台审核未通过,还需要再次修改,而且一般的广告平台1~2个工作日就可以审核完成,稍微等一下不误事。
广告审核通过后,就可以发布到各大电子市场啦!
以安卓市场为例,先要到这里注册开发者身份,然后提交你的应用,当然一般还要提交应用截图等信息,截图可以在模拟器上用电脑截图,也可以在手机上用截图软件截图(推荐个截图软件:ScreenCapture,http://bbs.hiapk.com/thread-737845-1-1.html下载)。
上传完,填好信息,就等着审核吧。审核通过了,正式上线,然后你就可以在安卓电子市场搜索到你的应用了~
其他的电子市场类似,我常用的有:
http://www.eoemarket.com
http://www.goapk.com
http://www.hiapk.com
其他还有好多,木蚂蚁,爱米,机锋网等等。另外中国移动MM市场不允许广告,要注意一下。其他电信、联通也有自己的应用市场。
当然,还有个最重要的Google的Android Market,这个电子市场可是全球销售啊~不过因为你懂的原因,没有直接的中国大陆地区注册。要注册这里的开发者,必有有个支持美元的信用卡,而且需要25美元/每年(好像是)的注册费,注册地中国地区最近的只有香港,而且貌似有点麻烦,所以我也没去注册,有兴趣的试试。
其实直接把apk文件复制给别人就可以用了,只不过电子市场终究是传播最快的一种途径。如果有自己的博客、微博等等,也可以发个链接推广。
P.S.:多去论坛看看,多提问,还是会有很多同好回复的~多试验。再推荐两个常用网站:
http://stackoverflow.com/questions 一个老外的编程论坛,继承了老外事无巨细、不厌其烦解答的风格,基本你能想到的问题大部分都有
http://findicons.com/ 很棒的图标搜索网站,美化必备。
发表评论
-
Resource-type-->Color State List Resource
2013-04-22 10:50 1677Color State List Resource Col ... -
Business mobile application development. The developer’s insight.
2012-11-07 17:49 1651from: http://www.enterra-inc.co ... -
Android. Handling some SQLite issues.
2012-11-07 17:48 1786转载: http://www.enterra-inc.com/ ... -
git 获取android source
2012-08-15 12:52 3684在做android开发的时,在遇到某一问题,想看andro ... -
Android 手机上获取物理唯一标识码
2012-07-27 10:27 11776唯一标识码这东西在网络应用中非常有用,例如检测是否 ... -
android listview adapter
2012-06-23 14:41 1021listview 在什么情况下会刷新: 1. 当ada ... -
Android多线程下载详解
2012-06-20 18:31 944http://www.pin5i.com/showtopic- ... -
Unable to open sync connection!
2012-06-18 17:04 969把设置里的USB调试重新开了开,问题解决! -
android checkbox 定制(修改checkbox 的图片)
2012-06-18 14:30 3653转载:http://www.bangchui.org/read ... -
Android ProgressBar自定义图片进度,自定义渐变色进度条
2012-06-15 16:53 7593 -
intent.setDataAndType
2012-06-13 18:24 74991. Intent open a picture ... -
Android操作HTTP实现与服务器通信
2012-06-03 14:47 1746本示例以Servlet为例,演示Android与Serv ... -
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thre
2012-06-03 12:00 9041当应用程序启动,创建了一个叫“main”的线程,用于管理 ... -
这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开
2012-05-25 13:58 1527这篇文章是android开发人员的必备知识,是我特别为大 ... -
android Collections.sort(List<T> list) 与JAVA Collections.sort(List<T> list)
2012-05-04 10:33 1861Info.java : public class In ... -
android string xliff:g
2012-03-22 10:47 1020这个主要用于程序中,动态的插入内容时候使用,例如, ... -
android的一些开源项目
2011-12-07 17:13 2172转自: http://www.uuroid.com ... -
Understanding the Android Build Process
2011-11-25 12:38 981http://www.alittlemadness.com/2 ... -
Android 命令行手动编译打包详解
2011-11-24 10:07 1248Android 命令行手动编译打包过程图 【详细步骤】: 1 ... -
Android ListView 自定义背景后 滚动时的背景变黑问题
2011-11-21 14:30 1558ListView是常用的显示控件, ...
相关推荐
根据提供的信息,我们可以推断出《Android应用开发揭秘》这本书主要涵盖了Android应用程序的开发流程及相关技术,适合初学者作为入门指南。尽管具体内容未给出详细章节或摘要,但基于标题、描述及常见Android开发...
《Android开发笔记全集》是一份综合性的学习资源,涵盖了Android应用开发的多个核心领域,旨在帮助开发者系统地掌握Android平台的开发技能。这个压缩包包含的文件名为“Android开发笔记”,暗示着它可能是一个系列的...
这本书涵盖了从Android开发环境搭建到应用发布的全过程,旨在帮助初学者快速入门,并使有经验的开发者能够深入理解系统底层的工作原理。 首先,书中会介绍Android的开发环境,包括安装Java Development Kit (JDK)、...
这个压缩包"android应用开发详解 源码(全2-18)"包含了从基础到实践的全面学习资料,总计17个章节的源代码。这些章节涵盖了Android应用开发的各个方面,对于初学者和有经验的开发者来说都是宝贵的参考资料。 首先...
《卓越工程师培养计划"十二五"规划教材:Android嵌入式应用开发》主要内容包括Android基础知识、Android应用程序开发的基本流程、Android应用程序开发的常用编程接口、常用控件及一些在应用程序中常用的模块和功能的...
"Android应用开发详解"的主题深入探讨了这个过程,提供了从基础到高级的全方位指导。此资源包括了2-18章的完整代码,这对于初学者和有经验的开发者来说都是宝贵的实践材料。 1. **Android SDK**: 开发Android应用的...
《C#开发Android应用实战 使用Mono for Android和.NET C#》是一本专为开发者准备的指南,它详细阐述了如何利用C#语言和Mono for Android框架来...配合书中的实例和练习,读者可以逐步掌握C#开发Android应用的全过程。
《Android应用开发揭秘》是一本深入探讨Android应用开发的专业书籍,涵盖了从基础知识到高级技术的全方位内容。这本书的PDF版本提供了详细的理论讲解和实例代码,是初学者和进阶开发者的重要参考资料。配合提供的...
"专业Android应用开发下载" 提供的教程可能涵盖了从基础到高级的全方位知识,旨在帮助初学者和有经验的开发者提升技能。 1. **Android系统架构**:Android系统由Linux内核、运行库层、应用框架层和应用程序层构成。...
这本书涵盖了Android应用开发的全过程,旨在帮助开发者从零基础到精通,掌握Android平台的应用设计与实现技巧。源代码reality+各章节的提供,为读者提供了实战演练的机会,使理论知识与实践操作相结合,提升学习效果...
【Android开发规范流程】 在Android移动端开发中,遵循一套严谨的开发规范至关重要,因为它能确保代码的可读性、可维护性以及团队间的协作效率。本文档主要涵盖以下几个方面: 1. **代码规范** - **基本原则**:...
该书共23章,详细介绍了Android应用程序的开发流程以及一些典型的案例。本文将基于给定的内容部分,详细解读关于Android平台的基本概念、特性、系统架构、开发框架等相关知识点。 ### Android基本概念 Android是...
通过阅读《Android应用开发揭秘全书》,开发者不仅能够掌握基础的Android开发技能,还能了解到高级话题和实战技巧,从而提高开发效率和应用质量。无论你是初学者还是经验丰富的开发者,这本书都将是你的宝贵参考资料...
本书还提供了多个实战案例,涵盖游戏开发、社交应用、电子商务等多个领域,通过具体的项目实践,加深对Android开发全流程的理解,提升解决实际问题的能力。 总之,《Google.Android开发入门与实战》是一本全面而...
它还以迭代的方式重现了各种常用的Android应用和经典Android游戏的开发全过程,既可以以它们为范例进行实战演练,又可以将它们直接应用到实际开发中去。 目录 -------------------------------------------------...
Android应用的开发流程中,设计UI界面是重要的一步。可以使用XML来布局界面,并通过Activity来管理界面的生命周期。在设计应用时,应该注重用户体验(User Experience, UX)和用户界面(User Interface, UI),以...
在Android开发过程中,掌握关键技术与实施精彩的案例是提升应用质量与用户体验的关键。"Android开发关键技术与精彩案例全书源代码"提供了丰富的学习资源,帮助开发者深入理解并实践Android平台的各种功能和特性。...
《基于JBox2D的Android游戏开发全源码》是一...通过研究这个《基于JBox2D的Android游戏开发全源码》,你不仅可以掌握Android应用开发的基本技能,还能深入了解游戏开发的流程和技术,为未来的职业发展打下坚实的基础。
《Android应用与开发教材代码4.0》是一个针对Android应用程序设计和开发的教育资源,主要针对的是Android 4.0(冰淇淋三明治)版本。这个压缩包包含了丰富的源代码示例,旨在帮助学习者深入理解Android平台的工作...