当今随着移动互联网的日益发展,许多开发者都想在这个行业尝尝甜头,甚至没有基础的开发者也进门了,因此,这个零基础编写android项目教程就分享出来。
QQ、微信等众多社交软件广受人们的喜爱,所以零基础编写android项目就拿社交软件为例逐步讲述完成android项目的步骤。
当然完成一个android项目不可能立马做出来,要一步一个脚印的学出来,下面进入我们的入门篇,准备好脑子和纸笔(虽然是零基础,但还是要懂一些必要的java知识的),come on!
原文链接(原文图文显示):
http://jingyan.baidu.com/article/da1091fbd6c8e2027849d629.html
一、android学习路线图
首先,要想完成一个项目,在你的头脑中,一定要有总体的思路,有一个学习路线图,这样学到最后不容易混乱。学习路线图如图下:
Android入门-1.jpg
二、android搭建环境
1、有了学习的大致思路,要想进行android开发就一定要有android开发环境。因此,要事先下载好eclipse、android-sdk-windows、ADT安卓开发环境,一般百度都会搜到。以下是安装方法:(省略)
2、安装成功后配置android虚拟设备,环境搭建完成。如图:(省略)
三、android目录结构
1、android开发环境搭建完成后,编写android项目肯定会需要一个目录结构。具体结构如图:(省略)
2、这里需要注意的是资源文件R.java不能修改,如果编写编码过程中R文件报错,一定是其他资源文件中有错误,注意排查。如果都没问题,可以根据此步骤最后2张图片所示,clean或fix一下项目即可。(省略)
四、Activity初步认识
在认识了android目录结构之后,先别急,还不能马上进行编写代码,因为android项目中,最重要而且都是围绕Activity展开的,所以可以找到google下android的开发文档中Activity的使用方法,俗称android手册API,进行学习Activity以及其他知识点。在这里不做过多解释,不过只要是创建的Activity必须在清单文件AndroidManifest.xml中注册,至于Activity是什么,你可以把它当成手机中某一个视图界面。如图:(省略)
五、Activity值传递
1、我们开始设想的编写一个社交软件的项目,值传递只是该项目的毛毛雨。比如,用户登陆后下一个Activity需要获得该用户的信息。因此,首先确定我们的思路是要从一个Activity传值到另一个Activity中,创建MainActivity.java和NextButtonActivity.java两个Activity。
2、其次我们再把这2个布局表现出来,在这里使用RelativeLayout布局(第2个布局暂不放任何内容,只判断能取到值即可)。
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/nextButton"
android:layout_below="@+id/nextButton"
android:ems="2" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/nextButton"
android:layout_marginLeft="30dp"
android:text=" + "
android:textSize="30dp" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/nextButton"
android:layout_marginLeft="60dp"
android:ems="2" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/nextButton"
android:layout_marginLeft="90dp"
android:text=" = "
android:textSize="30dp" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/nextButton"
android:layout_marginLeft="120dp"
android:ems="2" />
<Button
android:id="@+id/go"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:text="传值" />
3、然后进行业务判断,这里用到了Intent对象,它也叫意图,你现在想传值过去,意思就是你的意图就是传值,所以创建Intent对象后给参数传值,再用startActivity跳转到第2个Activity。如图所示:(省略)
4、在MainActivity.java传完值之后,该到NextButtonActivity.java这边获取值了,也是同样用意图Intent对象的get方法进行获取。如图所示:(省略)
5、最后为了直观的显示出所传值,我们用到Log来在系统后台显示日志,这个方法在以后编程测试中常常用到。如图所示:(省略)
六、Activity回传值
1、我们以类似社交应用中支付功能的订单确认页面为例,从MainActivity把加法传值跳转到NextButtonActivity中,在再NextButtonActivity中把结果输入到文本框中点击确定,再把值传回到MainActivity中。
首先,我们一样先把视图界面表现出来,同样使用RelativeLayout布局。代码如图所示:(省略)
然后,NextButtonActivity也用RelativeLayout布局,代码如图所示:(省略)
2、接下来该传值到NextButtonActivity中去了,在这里不只是传值,而且要保证后续要从NextButtonActivity中获得结果还要传回到MainActivity中,所以跳转Activity时所用的方法为:startActivityForResult,并携带意图Intent和请求编码参数过去。代码如图所示:(省略)
3、跟第五步一样,要先接受数据,然后再点击确定按钮后要先获取文本框内的结果,并返回MainActivity。在这里需要用到setResult方法,并携带意图Intent和返回编码参数。代码如图所示:(省略)
4、最后,再将NextButtonActivity中的结果显示到MainActivity中。在这里需要重写onActivityResult方法,并且当且仅当请求编码和返回编码都和刚才设置的编码一样时才能获得NextButtonActivity中的结果。代码如图所示:(省略)
七、Activity保存现场状态
1、当你在玩手游的时候或者在使用社交应用时正在跟一个人聊天并且打开了聊天窗口,这是突然有人给你打电话,打完电话后还能回到原来的界面,这就需要Activity保存现场状态。
在Activity保存现场状态中,需要重写onSaveInstanceState,中文意思也就是保存现场状态,其中含有参数outState,用outState就可以保存参数,可以是对象、也可以是值这种数据,一般要把现场保存到数据库或文件中,实现数据持久化。
这里值得注意的是重写onRestoreInstanceState方法可以重新保存现场状态,这种情况是在手机系统杀掉该进程后重新保存现场状态。
由于是入门篇,所以目前只演示保存到Activity的临时状态。代码如图所示:(省略)
2、现在从现场状态中取值是关键,取值一定要有outState参数,所以只能在onCreate方法中取值。但要注意onSaveInstanceState如果没有保存现场状态的话,是为空的,所以要判断onSaveInstanceState不为空的情况再取出现场状态,这样就可以在每次启动onCreate时取出现场状态的数据了。
其代码和生命周期如图所示:(省略)
八、Activity生命周期
Acitivity为什么要有生命周期呢?因为手机当中可以有若干个应用程序,不是每个应用都可以展示给用户看,需要一个一个的启动,这个启动了,那另一个应用就会暂停或者被杀死进程,因此,应用程序,也就是说Activity会有生命周期的概念,下面是一个Activity生命周期的运行图,它涵盖了所有生命周期运行状态,大家可以看图去理解它,后期在编程中还会涉及到生命周期,到时再慢慢体会,将它运用到实际项目中,这样比较容易理解。如图:
Android入门-2.jpg注意事项:
零基础编写android项目入门篇请大家配合您强大的大脑结合以上教程亲子敲一遍代码,俗话说好记性不如烂笔头,这样会大有进步的。
在学习时最好有一定java基础,否则会很吃力,入门篇讲述了传值以及其他原理性知识,期待后续篇目。
网友评论