写在项目开始之前:

最近关于android的视频教程,入门的书籍也已经有很多了,例如我的入门就是看了mars的视频教程。但是这么一圈学习下来,觉得真正快速提高的,不是在看视频,而是在实际工作中动手做项目的时候。所以我就思量如何快速的提高学习效率,并且加深记忆呢?其实就是来做项目。因为有一定的基础知识只有,如果不靠实际的项目来加深印象或者加深那种所见即所得的感受,是很难激发出初学者的兴趣的。由于最近在教我的弟弟学习android,他只是一个大一的计算机新生,所以把这个教学过程以及教学经验还有就是实际的项目经验和过程都一一发出来,包括每一个阶段的源码。而我们做的这个东西,其实就是我在工作中的经验总结,我就是希望做一个通用的应用框架,不然公司每次要我们做一个应用的时候,都从头来或者东平西凑的,效率很低。我们做好这个东西过后,以后只需要配置一下,同时替换对应的设计图片就能成为一款新的应用,当然,特殊需求的功能再特殊来开发就好了,希望这个东西能实现我们的预期效果。顺带说明一下,所有的基础知识,我都会在做项目的时候有所讲解,但是可能不会特别的详细,因为有些东西本来前期可能你都不会很明白,只需要照着做就是了,有些东西必然要深入过后你才能有好的理解,不然前面讲也不是讲的特别清楚,当然还需要各位自己能够学会一项资料搜索资料的节能,这样印象更加深刻,接下来,我们就开始进入正题吧。

环境搭建:

我们采用的主要是用eclipse作为开发工具,JAVA是主要的开发android的语言,所以我是一个懒人,但是懒人改变世界我一直这样认为,哈哈,具体的环境搭建,请参考 环境搭建 。同时如果已经安装好了环境的同学,需要升级到最新sdk已经可能会遇到的问题请参看我之前写的博文安卓模拟器Android SDK 4.0.3 R2 完整安装教程。同时各位在安装中遇到的问题,请留言,我一定会尽力详细解答。由于我弟弟是一个程序幼猿,只学习了C语言,我又要上班,不可能有更多的时间来一一的教学,所以,为了让其自立根生,同时让其学会查资料所以用了以上的方法,结果效果还不错,他也挺有成就感。如果到了这里,说明毕竟这些东西我没有怎么说,都是各位自己弄好的不是么?说明你们真的很有天赋,能很快搞定android。

新建一个项目:

操作步骤:进入到eclipse中,点击左上角的file,如果你的环境搭建正确,那么点击这里的NEW,那么会出现

这里直接选Android Application Project就好了。

接下来你需要给你的项目取一个名字,这里我们使用的AppWork,下面的选择的是你想创建的android的版本,这里建议各位选择较低的版本,这样能够适配更多的手机,因为Android是向下兼容的,你如果版本选择过高的话,低版本的就不能运行你的程序了。我这里选择的都是2.2的版本。不过还是看各位吧,我们就是比较随意,其实出了问题去解决问题的过程也是最好的学习过程。

然后后面就不用管了,一路next过去吧,直接到最后fininsh。这样一个空白的android项目就做好了。一般到这个时候,往往别人的路线就是写个helloworld什么的啊。我们为什么要和他们一样呢?helloworld你自己下来可以先去写一个,我这里就没说了。

项目建好后展开就如下图所示

接下来,就很必要给大家详细说明一下了,各个文件夹的及文件夹下文件的作用 了。同时预告一下,在这里会出现一些问题,这些问题都是弟弟问的,可能有些童鞋也会遇到。比如这个问题,就是,他问我我在哪儿写程序 ,我要做些什么才可以。于是乎我就显现介绍一下文件夹吧。

src文件夹:

这个文件夹下面主要就是放的我们的程序代码,就是所有的页面实现的功能,以及工具等等代码存放的地方,这里的MainActivity.java就是一个页面,就是类似于你手机应用的第一个页面,这里还是空的什么都没有,而且是放在了com.king.appwork这个包下面。不知道我这个讲解是不是清楚,如果懂java的和熟悉eclipse的请快速跳过。

弟弟问:为啥子名字叫MainActivity.java呢?可以是其他名字不?为什么很多后面都要加一个activity呢?

小king答:这个名字其实是可以任意取的,只是为了自身识别的方便,凡是添加了Activity的都表示是一个android的页面,而其他的没有activity的可能只是一个工具类或者监听器什么之类的,这样命名的好处就是便于区分。

接下来的这几个文件夹

各位暂时可以不用管它,只需要略微注意的就是gen文件夹里面会生成一个R.java文件,这个文件就类似于资源目录文件,以后我们需要用的到各种布局以及控件都会自动注册到里面,调用的时候会用到,后面会详细讲.

在接下来就是比较关键的文件夹了res,

这个文件夹主要就是存放了所有我们应用的资源

其中有四个drawable文件夹,这个是用来放我们所有应用所要用到的图片资源,或者图标资源,我们看到的android应用的界面图片都放到这里。

弟弟问:为什么drawable会有四个文件夹呢?

小king答:因为android最麻烦的就是多分辨率适配,不同的文件夹下面我们对应需要放置不同分辨率的图片用的,不过才开始我们也可以暂时不考虑,在后期多分辨率适配的时候才来做这一块的事情,现在我们把图片资源都放在drawable-hdpi里面。

layout文件夹:这个文件夹里面就是包含的所有的布局,用一个通俗易懂的方式就是说这里的一个activity_main.xml其实也就是可以理解成一个大的完整的图片页面,功能实现在src里面,然后我们需要做的流程一般就是首先绘制好这个页面,然后再程序里面调用这个页面,然后再实现功能。那么这个页面怎么画呢?我们后面会专门讲。往往一个应用会有很多布局文件,所以各位童鞋在取名字的时候最好也有所区分。注意一下就好

menu文件夹:这个也是布局页面,不过是为了区分,专门建了一个文件夹,来处理的是我们按了android手机上的物理menu按键的时候弹出的样式。

values文件夹:这个文件夹里面放置的主要是一些配置信息,例如strings.xml我们将应用中所有固定的文字信息写到里面,并取一个英文名字的标示,这样便于调用,同时修改和管理起来也很方便。如果要国际化的话,也会比较直接,这样就不用到每一个布局的中的页面里去修改,同时一个文字可以被调用多次也避免了重复。

最后还有一个叫AndroidManifest.xml的文件,这个就是整个应用程序的配置文件,例如是从哪个页面启动,然后页面的一些基本设置, 是否显示标题栏,是否允许横屏竖屏的切换。这里只需要注意一点的就是,请记住你每新增一个页面,都需要将这个页面注册到这个xml里面,说白了就是你新增一个acticity,你就需要去这个xml里面写几句代码,不然程序找到你的页面就会报错,无法启动。

好了,基本的android项目也介绍完了,今天的第一讲也就差不多了,但是为了免俗,我决定还是不写helloworld,我就放一个简单的登陆页面吧,大家下载后,导入就可以了。

弟弟问:怎么导入?

小king答:左上角FILE--->Import,然后找到你对应的项目就可以啦!这个项目是登陆页面的,大家先看看吧,肯定有问题,先留在那里,或者留言,我来解答。下期会讲解这个登陆页面怎么实现的。

下载点击这里哦!!!!


PS:转载请说明出处,本来我也不是什么高手大神,也可能有很多错误,请高人勿鄙视,新人理解包涵,只是希望和大家多交流,我自己也和弟弟共同巩固学习,提高进步。最后祝大家学习进步,工作顺利,身体健康。

小KING教你做android项目(一)的更多相关文章

  1. 小KING教你做android项目(二)---实现登陆页面并跳转和简单的注册页面

    原文:http://blog.csdn.net/jkingcl/article/details/10989773       今天我们主要来介绍登陆页面的实现,主要讲解的就是涉及到的布局,以及简单的跳 ...

  2. 手把手教你做JavaWeb项目:登录模块

    现如今,无论是客户端还是移动端,无论是游戏登陆还是社交平台登陆,无处不在的“登陆”.那么你知道怎么制作吗?今天就为你娓娓道来: 用户登录 在各大信息管理系统中,登录功能是必不可少的,他的作用就是验证用 ...

  3. Android项目页面跳转小Demo

    近期在做Android项目的开发,刚刚接触会有非常多新东西须要学习,从环境的搭建到语言的熟悉都是须要一步步完毕的,接下来就拿一个页面跳转的样例来和大家分享一下自己的心得体会. 採用的架构: Demo中 ...

  4. 开源自己的一个小android项目(美女撕衣服游戏)

    这是自己的一个开源自己的一个小android项目(美女撕衣服游戏),也是前6个月开发的,有部分的资源来自网络上的,现在开源出来给大家吧,由于源码比较大,不上传了,我已经上传到源码天堂那个网站那里了,大 ...

  5. 生活小助手--Android项目

    每次想做一个Android项目都不知道要怎么开始,所谓前期工作,都是辅助于项目能顺利完成而做的. 每一个项目开始都要有几首准备: 第一,项目要做什么? 第二,项目中有那些版块? 项目的概要设计 项目流 ...

  6. Ace教你一步一步做Android新闻客户端(一)

    复制粘贴了那么多博文很不好意思没点自己原创的也说不出去,现在写一篇一步一步教你做安卓新闻客户端,借此机会也是让自己把相关的技术再复习一遍,大神莫笑,专门做给新手看. 手里存了两篇,一个包括软件视图 和 ...

  7. Cordova Android项目如何做代码混淆

    我想修改build.gradle配置 可是这个文件明确写了// GENERATED FILE! DO NOT EDIT!可是还是试了试: if (cdvReleaseSigningProperties ...

  8. 如何自学PHP做一个网站 PHP可以做什么项目?网站 小程序 公众号能用PHP开发吗?

    很多想从事程序开发的人员,想自学一门语言,不知道从哪里下手学习,如何入门学习?今天我们就以PHP为例子,来讲述一下如何快速的学习一门开发语言,让你快速入门.PHP是一个什么语言?它能开发什么项目呢?下 ...

  9. 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】

    楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...

随机推荐

  1. qt model/view 架构基础介绍之QListWidget

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from Py ...

  2. 数据库的四种语言(DDL、DML、DCL、TCL)

    1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or sch ...

  3. Flashback Drop实例操作

    1.Flashback DropFlashback Drop 是从Oracle 10g 开始出现的,用于恢复用户误删除的对象(包括表,索引等), 这个技术依赖于Tablespace Recycle B ...

  4. Linux UGO和ACL权限管理

    自主访问控制(Discretionary Access Control, DAC)是指对象(比如程序.文件.进程)的拥有者可以任意修改或者授予此对象相应的权限.Linux的UGO(User, Grou ...

  5. EffectiveC#5--始终提供ToString()

    1.System.Object版的ToString()方法只返回类型的名字 2.知道要重写它,返回更有意义的信息,最好是提供几个重载版本. 3.当你设计更多的复杂的类型时(格式化文本)应该实现应变能力 ...

  6. container宽度

    bootstrap:宽度太宽时无需改变container的宽度大小,只需:.row{margin-left: 30px;margin-right: 30px;}

  7. Margin是什么?

    Margin是什么 CSS 边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时改变所有的外边距.——W3School 边界,元素周围生 ...

  8. linq和lamda表达式中添加时间判断时解决方案

    在工作中遇到个问题,在使用lamda查询数据的时候,需要添加一个时间判断, DateTime.AddDays(3) > e.ExpirationDate 例如:list = Context.Vo ...

  9. C#中string.Empty和""、null的区别

    string.Empty是string类的一个静态常量,而""则表示一个空字符串. string是一种特殊的引用类型,它的null值则表示没有分配内存. 使用ILSpy反编译Str ...

  10. 鼠标滚轮(mousewheel)和DOMMouseScroll事件

    IE6.0首先实现了mousewheel事件.此后,Opera.Chrome和Safari也都实现了这个事件.当用户通过鼠标滚轮与页面交互.在垂直方向上滚动页面时(无论向下还是向上),就会触发mous ...