给菜鸟看的Android应用开发全流程

给菜鸟看的Android应用开发全流程——好多Android开发中,没人告诉过你的事

        很多菜鸟开始学习Android开发,去网上搜集过很多“Android开发教程”,但是搜索出来的东西,如果不是特别针对性的关键词,基本上内容都是:环境配置-工具安装-第一个Hello Android项目-项目结构、文件作用-布局-控件-……等等涉及具体开发内容的文章,最后打包发布了事;且不说这些文章又有一大半都是互相转载来转载去,单看内容,大部分都是讲具体功能实现手段,或者某个API怎么用,然而很多细节可能虽然确实很简单,却往往令菜鸟迷惑头痛不已……唉,我当年不堪回首的岁月啊!虽然这些问题可能日后看来是小意思,但当初一个菜鸟可能根本不知道这个问题的存在,更不用说用什么词去搜索;所以虽然这些问题可能也是有专门文章讲,但菜鸟们根本不知道这个关键字啊~~~~

        本人靠着一本书+网上各种搜,现在总算能完成一个完整的Android开发流程。回头看看,总结一下这些经验,即给自己加深印象,也帮助后来的菜鸟,也是功德无量啊

        话说本人半路出家,编程水平实在一般,所以此文重点在流程,至于技术细节和各种实现功能的技巧,还是专门搜索专业的文章吧,不过想必彼时已经能够知道自己想要什么了,那些问题也就不算个事了。

        该流程基本是本人的经验总结,未必是完全官方和教科书式的。不过虽然不一定是最好的解决办法,但起码都走得通,替后来人排除一些弯路。如果有幸被大牛看到此文,还请对不妥之处不吝赐教,哪怕路过留个名也好啊~

一、准备工作

1.    技能储备

          1)    Java

     重要程度:

     当然是掌握的越多越好,毕竟Android就是用Java语言来开发的。遇到很多没有Java基础的朋友问:要想直接学AndroidJava应该掌握到什么程度?个人认为,如果一个熟练的Java程序员技能算100分的话,掌握到40-50分,基本开发Android不会有语言上的太大障碍了。其实主要也就是Java的类、继承、接口、IOXML解析等这些基本的操作掌握了也就可以开始用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

    重要程度:★★

    这个,貌似也谈不上掌握了,会操作就行了,因为之前碰到几个哥们,确实连cddir等一点dos操作都不会用,这就稍微麻烦点了,因为无论一开始配置java,还是最后生成签名,当然还有很多场合会需要在Dos环境操作,虽然可能有部分操作已经有图像界面替代了,但还是稍微看看吧,起码很酷么~~

          5)     Linux

    重要程度:★

    好像不应该是“重要程度”,应该是会使用程度吧。Android本身是基于Linux内核开发,说不重要可能会被拍唉。

        主要就是会一些基本的linux命令,su,sh,cd什么的,后期调试Android程序可能会用到,比如查看SQLite数据。也不用特意去学,需要的时候网上现找找,多用几次也就记住了。

2.    工具准备

      1)    Eclipse

   最强大的Java开发工具,安装Android开发插件后可以方便快速的开发和调试Android程序。

      2)  Android SDK

        Android开发工具包,包括核心APIAVDAndroid虚拟设备)等,可以到Android官网下载。具体安装配置就不多写了,网上很多,我再引用这文章写成书了……

    参考:http://android.tgbus.com/Android/tutorial/200812/171154.shtml

         3)    Java SDK

          Java工具包,包括JDKJRE,可到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 APIAndroid 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)   选择广告平台:常用的有GoogleAdMob,国内的有:有米,微云等等,至于说哪个效果最好,众说纷纭,最好还是自己亲自试试。还有一种平台是各种广告平台的集成,能根据使用者优化,动态选择。但因为某些电子市场不允许这个,我就没用,也就暂时不点名了,想试试的,百度……(我没说是第一个哈~)。

                 不过呢,最好固定一两个效果比较好的,因为很多平台要提款的话,必须达到一定额度,而且太分散的话,自己添加着也挺麻烦的。当然,如果这个平台效果公认的已经落后了,还是要毅然换平台的,毕竟不同的广告联盟广告主资源水平还是有差距。

        2)    普遍有一个说法,如果是针对国外的应用,最好还是GoogleAdmob,针对英文环境能够提供的广告数量也多。不过本人没用过,不多说了。至于为什么没用,见下文。

        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市场不允许广告,要注意一下。其他电信、联通也有自己的应用市场。

      当然,还有个最重要的GoogleAndroid Market,这个电子市场可是全球销售啊~不过因为你懂的原因,没有直接的中国大陆地区注册。要注册这里的开发者,必有有个支持美元的信用卡,而且需要25美元/每年(好像是)的注册费,注册地中国地区最近的只有香港,而且貌似有点麻烦,所以我也没去注册,有兴趣的试试。

      其实直接把apk文件复制给别人就可以用了,只不过电子市场终究是传播最快的一种途径。如果有自己的博客、微博等等,也可以发个链接推广。

 P.S.:多去论坛看看,多提问,还是会有很多同好回复的~多试验。再推荐两个常用网站:

http://stackoverflow.com/questions 一个老外的编程论坛,继承了老外事无巨细、不厌其烦解答的风格,基本你能想到的问题大部分都有

http://findicons.com/ 很棒的图标搜索网站,美化必备。

        嗯,差不多就这些吧,the END. Happy Androiding~


chocchoco全球独家比利时巧克力生日礼盒iphone款200g
288.0元 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/53927.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对话钉钉音视频专家冯津伟:大模型不是万能的

策划:LiveVideoStack 在音视频技术领域,ICASSP 大会是行业的风向标会议,也是语音学界从业者研究下一代技术发展的盛宴。近期,国内外各大企业陆陆续续放出论文入顶会的消息,钉钉蜂鸣鸟音频实验室 2 篇论文也登上了 ICAS…

ChatGPT颠覆者来了!Auto-GPT强在哪?

ChatGPT自诞生以来,一直备受关注,人们感受到了人工智能的强大。 现在,一个更加强大的人工智能应用已经登场——Auto-GPT。 Auto-GPT的一大突破是,可以让AI自我提示,就是说,这个AI完全不需要咱们人类了。 什…

每日一皮:每天到公司 VS 工作一小时后

往期推荐 每日一皮:都 0202 年了,我怎么可能被骗呢? 每日一皮:用户“这个项目很容易嘛”~ 每日一皮:客户期望 vs 最终产品 每日一皮:入职新公司第一周的感受... 每日一皮:小公司搞中…

XXXX直聘聊天机器人

XXXX直聘聊天机器人 想转岗到爬虫工程师,由于面试机会太少,而boss直聘又无法海投,决定做一个boss直聘机器人来帮我找工作。 一、基本需求 一个爬虫程序爬取需要的工作信息,存入数据库。 聊天机器人每天上午10点向未聊天的boss打…

每天加班的HR,时间都浪费在了这些琐事上?

编者按:随着无纸化办公的引入,为企业办公免去了非常多的成本浪费,那么OA系统是如何为无纸化办公助力的呢?让我们一起往下看。 HR每天的工作离不开招聘、员工入转调离信息、出勤排班、薪酬和工资单、绩效福利、培训、休假管理等等。…

一位程序员的一天工作清单:5:30下班,5:30起床

分享职场程序员生活、职场攻略、领导同事相处技巧和创业资源 文|洪生鹏 曾发布了一篇《一位程序员的一天清单》文章,简单描述了一位程序员了的一天日程安排。 文章发布后,得到了广大读者的欢迎,其中读者们的留言最为精彩了,比文章…

工作日志day01

1.No matching distribution found for virtualenv 查询了好多资料,最终找到问题所在: 2.根据上述果然报错ping: www.baidu.com: Temporary failure in name resolution 解决: 最终成功下载虚拟环境 3.cuda编程问题:根据代码运行环…

【第188期】游戏文案策划:薪水低、压力大,升职无望,怎么办?

我是酱油,这是第188期文章 收到一位想匿名的同学留言: 酱油哥,我已经入行两年,在一个平平无奇的小游戏公司打转。因为职场的高度,也完全限制了我的职场眼界,所以想向你请教一下,游戏文案的职场…

你10点钟还在做报表?套用模板,让你提前下班3小时

最近听到一个朋友向我抱怨,他们是一家主营餐饮的传统公司,已经线下开了好几家门店了,今年还打算再开六家。但是发现随着门店数量的增长,加上现在外卖业务的集中发力,线上线下业务数据无法打通,其传统的运营…

天选打工人春节兼职记

一、python爬虫是可以做副业的,主要是爬取网站、小程序或者APP的数据,对数据进行分析与处理,或者直接向客户提供爬虫程序与技术支持。 当初学会Python那会儿,有朋友来介绍我去接私活,是为一家公司做网站,那…

程序员10个月接了30个私活单子,晒出收入,让大家意想不到

现如今,相信很多职场朋友都非常羡慕程序员的高薪工作吧,很多学习计算机专业的大学生,他们在毕业以后,往往通过自己的专业就能找到互联网公司的高薪工作,而作为一名程序员,他们的工作压力还是非常大的&#…

“摸鱼”的打工人,“累死”了同事

文/韩滢 来源/连线Insight 一纸处罚,打破了打工人手中“金鱼缸”的平静。 近期,一份国美集团《关于违反员工行为规范的处罚通报》在职场人的圈子里流传开来,国美处罚员工摸鱼事件也引起了众多讨论。在国美的这张处罚表里,详细…

IT = 加班多?外国小哥打破“魔咒”:“每天工作 10 分钟,工资近 9 万美元”

相信在许多人印象中,凡是与 IT 沾边的工作似乎都逃不开“加班”二字:“加班狂”、“过度劳累”等标签令许多站在 IT 行业门口的人望而却步。 但上周,国外社交网站 Reddit 上有一则帖子突然爆火:“一年多前,我把我的工…

某百度程序员:每天十点上班,午休两小时,每天闲逛,晚上八点就下班!

请点击上面  一键关注! 互联网公司一向以加班和996著称,大家说起来都是一把辛酸泪。如果有人说他所在的公司可以养老,你信不信? 一个百度员工发帖爆料自己的职场生活:10点上班,中午休息两个小时&#xff…

ESP32接入米家-小爱同学-IDF环境-巴法平台

0 引言 冬天床边没有开关,睡觉懒得关灯,想通过小爱同学控制灯的开关,但是不想换开关。 所以 想用ESP32接入米家,控制一个舵机实现开关控制。 文章目录 0 引言1 MQTT协议2 ESP32 MQTT例程2.1 ESP-MQTT 库2.2.1 配置结构体 esp_mq…

AI新势力 claude,国内支持访问,跟我一起用起来吧

ChatGPT已经火的没边了,但是最近出来了一个claude也不容小觑,而且只要注册过谷歌账户,就可以不用挂梯子,直接可以访问,是不是很好? 那我们来看一下效果吧 真是非常的给力,据说可以媲美chatGPT3…

OpenAI推出新业务模式:售卖Model instance

文|张向前源|分布式实验室 OpenAI的新业务模式,卖Model instance,起价26万4千美元一年。 这个Model instance的好处是它完全归属于你,你可以按照自己的要求,对它进行有针对的微调,使它具备你需要…

「Bug」解决办法:Could not switchto this profil,无法使用节点的解决方法,彻底解决

♥️作者:白日参商 🤵‍♂️个人主页:白日参商主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油&#xff01…

同花顺_代码解析_技术指标_L

本文通过对同花顺中现成代码进行解析,用以了解同花顺相关策略设计的思想 目录 LH_LYDG LH_猎鹰歼狐 LHBLX LHSJ LHTZ LHXJ LH猎狐雷达 LOF净值 LWR LH_LYDG 猎鹰渡关(检测大盘顶部) 指标用法: (1&#xff…

chatgpt赋能python:Python自动发送信息:提高效率,解放双手

Python自动发送信息:提高效率,解放双手 作为一位有10年python编程经验的工程师,我深深体会到了Python带来的效率提升和工作上的便捷。Python的应用场景广泛,其中自动发送信息也是其优秀的应用之一。本文将介绍Python自动发送信息…