您的位置:首页 > 移动开发 > Android开发

Android之路-启程2:Android开发环境简介以及编写第一个应用程序“HelloWorld”

2015-11-02 13:46 756 查看
我的博客:http://blog.csdn.net/name_cjf

1:Android开发环境简介

如果你从未接触过Android,那么可以参考我的这篇文章,如果有一定的基础,那么可以直接跳过。


首先,我介绍几个关于Android开发环境的基本名词

1、eclipse:这是一个开发平台(软件),写Android代码就在这个软件中写,当然,学习安卓的基础是有Java基础功底,所以没学过Java的小伙伴们建议先去学学Java(Java代码也在eclipse里写,以为Android就是用Java写的)。

2、AndroidStudio:简称AS,是Google最近推荐使用的开发平台。

3、ADT:AndroidDevelopTool,顾名思义,就是Android开发工具。这是一个插件,装入eclipse里后就可以创建Android项目了。

4、SDK:Software Development Kit,软件开发工具包。当在eclipse中安装ADT后,Android项目虽然可以写,但是里面并没有开发工具,比如说Android相关的类、安卓模拟器(AVD)等等。

环境搭建简介

1、所以SDK是Android开发所必备的,而eclipse却不是,最近AS比较火,Google也开始推荐使用它。AS安装起来也相对简单,然而对电脑配置要求比较高,要运行得比较流畅,内存得达到8G。我前些天也试过AS,但是由于电脑内存只有4G,运行起来太慢,所以以后的教程以eclipse为主。

2、以eclipse配置相关环境的话首先需要下载eclipse,然后安卓ADT插件,之后下载SDK并且配置好。关于安装eclipse之前需要安装的jdk,请大家自行百度。

3、用AS开发的话配置比较简单,只需要下载AS安装包,然后按照提示操作即可,在此不做过多阐述。

注意事项

由于Google退出中国市场,所以官网或相关下载项无法显示或者很慢,在这里我做几点提示:

1、可以通过其他途径下载。比如网友的百度网盘等。

2、可以翻墙从Android官网下载下载。

3、SDK下载过程中会出现连接不到Google服务器的情况,这个时候只需要在SDK Manager中点击Tools–>Options,在HTTP Proxy Server中填入 android-mirror.bugly.qq.com,HTTP Proxy Port中填8080。然后勾选Others中的第一项即可。此时关掉重新加载一下,速度就会提升很多了。当然由于android-mirror.bugly.qq.com与8080只是现在能用,也许几年后这个服务器会变更。大家可以自己网上查找sdk下载慢的其他解决方法。



2、环境搭配好后,让我们来创建第一个工程:HelloWorld

首先,我们需要新建一个工程:

在eclipse中点击File–>new–>Android Application Project。得到以下界面:



该界面可选项一共七项,英文好的同学应该可以看得懂,从上往下依次是:

1、应用名称

2、工程名称

3、包名

4、程序最低支持的SDK版本

5、程序的目标SDK版本

6、程序编译的SDK版本

7、主题

其中填写第一项后前三项自动完成,如果要修改,请参考Java命名规则。

第四项是说你的App可以运行的最低Android版本。如果选择Android2.3,那么将不能再Android2.2的系统上运行。其他选项一般情况下不必修改。

填写完成后点击Next>,到下一界面:



该界面无需太多说明,需要注意的只是Create activity。如果选中该项,创建好后默认就是Hello World例子,我们今天需要手动编写,所以取消这一项的勾选。

点击Next>,跳出图标设置界面,这个界面可以设置app安装后再桌面显示的图标,比如说qq是一个企鹅。在这个界面如果继续点击Next>,则进入了选择activity相关的界面,我们没有创建activity,不需要点击Next>,直接点击Finish即可。

此时,我们可以看到,一个新的空工程已经创建出来了,它的目录比java工程要复杂得多



以下介绍的均为重要目录:

其中src与Java中的一样,用于存放源码。

gen文件夹中的内容不需要人工操作,是有系统自行维护。其中包下有个R.java文件,其作用是管理Android中的每个资源id。

assets是用来存放不需要被编译的资源,Android编译的时候所有内容都会被编译,唯独该文件夹下的东西是直接打入安装包中的,其实际中的用法以后讲解或者自行百度。

bin、libs都不用管。

res是比较重要的一个文件夹,其中存放着Android中的资源,比如说图标、布局文件等,在以后的学习中你会慢慢知道其重要性。

下面的单个文件中,AndroidManifest.xml也比较重要,用于配置一些重要信息,比如说activity的动作、类别等,所需权限,等等。

接下来,展开res子目录,会出现以下目录:



其中前面四个drawablr···是存放图片资源的,其中“-”之后的字符代表显示屏的类型,详情有兴趣的可以自行查阅资料,其中目前存放着App图标。

layout用于存放布局文件。

values···用于存放一些值,比如说字符串、数组、样式资源等,-之后的字符表示版本类型,sdk中版本用数字表示。当values中都有相同名称的资源文件时,版本低于11则调用values文件夹下的资源,大于11小于14时调用values-v11下的文件,大于14则调用values-v14下的文件。

其次,我们需要编写HelloWorld代码:

首先在res中layout文件夹上右键->new->other,在其中搜索“xml”,选择Android XML File。点击Next>,填写信息如下:



点击Finish,生成一个布局文件。该文件有两种显示方式,通过点击代码区(或图形区)下方的Graphical Layout或name.xml(name为文件名)来切换。此时布局文件自动生成一个根节点为LinearLayout的xml文件(xml格式文件的知识较少,请自行学习或直接跟着我的博客走)。在其中写如下代码:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="你好,世界!!!"/>

</LinearLayout>


该段中主要添加了TextView,这是一个显示文本的控件,关于控件的介绍后续会有博客写到。其中android:layout_width=”fill_parent”、android:layout_height=”wrap_content”两句设置了控件的长宽,fill_parent代表填满父控件,也就是LinearLayout。wrap_content指适应内容,意思是根据显示内容自己调整大小。android:text=”你好,世界!!!”表示该文本控件显示的文本是“你好,世界!!!”。布局文件以及写好了,你可以点击Graphical Layout来预览布局。



接下来我们编写Java代码来使布局文件关联到App。

在src中创建MainActivity.java文件(需在包中),如图:



创建后不需要写main函数,而是需要onCreate方法,并在该方法中增加一句
setContentView(R.lay
4000
out.activity_main);


源码总体如下:

package com.cjf.helloworld;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}


注意:如果在R.layout.activity_main这块报错,说明引错了R文件,观察代码开头的import中的R文件是不是该项目的R文件(通常引错为android下R了)。

我们的代码基本上写完了,但是没有main函数的话系统是如何决定要执行MainActicity呢?其实,我们还有最后一步没有写完。

最后,在AndroidManifest中配置activity

打开AndroidManifest.xml,在application中写入activity配置信息:

<activity android:name="com.cjf.helloworld.MainActivity">
<intent-filter >
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>


这样配置初学者也许看不懂,只需要知道这样做可以让app先执行com.cjf.helloworld.MainActivity中的代码。当然,如果有两个以上的acticity的话,第二个activity只需要配置name属性即可,不需要intent-filter,即

<activity android:name="com.cjf.helloworld.MainActivity"/>


intent-filter的具体用法以后的博客中会讲到。

好的,我们现在开始在真机或者AVD上调试应用:

在eclipse中工具栏有以下图标:



点击后会打开AVD Manager,在其中你可以创建Android模拟器。创建好后开机,然后再HelloWorld项目上点击右键–>Run As–>Android Application。然后选择创建好的模拟器,等待应用安装至模拟器。结果如下:



注:在这里我用的是Genymotion模拟器,大家有兴趣可以去下载,比ADT运行流畅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: