若是你还不明白Hello,World!

                                      

     一双鞋,刚买的时候,蹭上一点灰我都要弯下来擦干净,穿久以后,即便被人踩一脚,我也不多低头.人大抵都是如此,不论对物,仍是对情,最初,她皱一下眉你都心疼,到后来,她掉眼泪你也不大紧张了.

第3章、解析Hello,world!知其然,更要知其因此然

 

             

  在咱们通往成功的路上,可能会有恶劣的天气,泥泞的路,但也会有美丽的花园,让你迷恋其中,有时候不见得恶劣环境会迟缓你的进程,美丽的花园也可能会把你引向歧路,始终不要忘记咱们前进的方向…… html

  尽管经典之中的经典Hello,world!已经悄然运行在咱们的手机上了,但若是如今让你告诉别人你会Android开发,估计你本身都心虚,让咱们一块儿再会Hello,world!项目,揭开庐山真面目。java

  第一次在Eclipse中看Android项目工做区估计眼都花了,头都晕了,你必定会想:这么复杂!   但事实上,可能会比你想得简单,并且咱们采起按部就班方式,你很快就会掌握的。android

1、Android项目工做区概览windows

  

  新建一个Android项目,Eclipse会自动帮咱们创建诸多文件,咱们看一下:app

  其中:   第①部分:表示Java源程序;   第②部分:表明系统资源ID,相似于C语言的*.h文件,请千万不要手工修改R.java文件;   第③部分:Android4.2表示当前SDK是4.2,是目前最新版本;   第④部分:表示资源文件,其中layout布局你能够认为就是界面;   第⑤部分:每个Android项目都包含一个清单(Manifest)文件--AndroidManifest.xml,它存储在项目层次中的最底层。清单能够定义应用程序及其组件的结构和元数据。   若是你想了解更多AndroidManifest.xml,请单击了解更多>>  布局

  Android项目中主要文件及文件夹的做用:   (1)src:存放全部的*.java源程序。   (2)gen:为ADT插件自动生成的代码文件保存路径,其中的R.java文件将保存全部的资源ID。   (3)Android 4.2:表示如今使用的Android SDK的版本是4.2。   (4)assets:能够存放项目中一些较大的资源文件,如图片、音乐、字体等。   (5)res:能够存放项目中全部的资源文件,如图片(*.png、*.jpg)、网页(*.html)、文本等。   (6)res\drawable-hdpi:保存高分辨率图片资源。   (7)res\drawable-ldpi:保存低分辨率图片资源。   (8)res\drawable-mdpi:保存中等分辨率图片资源。   (9)res\layout:存放全部布局文件,主要是用于排列不一样的显示组件,在Android程序要读取此配置。   (10)res\values:存放一些资源文件信息,用于读取文本资源,在文件夹中有一些约定的文件名称。(具体内容待之后详解)   (11)res\raw:自定义的一些原生文件所在目录,如音乐、视频等文件格式。   (12)res\xml:用户自定义的XML文件,全部的文件在程序运行时编译到应用程序中。   (13)res\anim:用于定义动画对象。   (14)activity_main:配置全部的控件。   (15)R.java:此文件为自动生成并自动维护的,用户添加的控件会自动在此文件中生成一个惟一的ID,以供程序使用。   (16)AndroidManifest.xml:主要配置文件,用于配置各个组件或一些访问权限等。   总之,看着真的够复杂,你先有个印象就能够了。至少,你应该知道源文件是放在src文件夹;布局文件在res/layout文件夹,其余之后了解也ok。学习

 

2、Android项目分析字体

  一、布局文件(res\layout\activity_main.xml)   双击“res\layout\activity_main.xml”打开布局文件。注意①表明布局文件图形界面;②表明布局文件代码界面。动画

         

  

  Android App应用程序相似于.net的Winform程序,其中①和②至关于标题栏,①为标题栏的图标,②为标题;③表明标签<TextViw>,相似于众多程序的Label。this

  

  咱们再来看一下代码:

 

  1.   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2. xmlns:tools="http://schemas.android.com/tools"  
  3. android:layout_width="match_parent"  
  4. android:layout_height="match_parent"  
  5. tools:context=".MainActivity" >  
  6.     <TextView  
  7. android:layout_width="wrap_content"  
  8. android:layout_height="wrap_content"  
  9. android:layout_centerHorizontal="true"  
  10. android:layout_centerVertical="true"  
  11. android:text="@string/hello_world" />  
  12. t;/RelativeLayout>  

  但愿你在探讨本段代码以前,至少至少要有XML文件的概念,若是没有请了解这后再来继续学习。

  本段代码包含了两个重要标签:<RelativeLayout>和<TextView>,<RelativeLayout>表明线性布局管理器;<TextView>表明标签组件。其它的皆为两个标签的属性。

  咱们着重来看一下:android:text="@string/hello_world",咱们的运行结果是“Hello world!”而不是“hello_world”!

  Why?

二、strings文本资源文件(res\values\strings.xml)

  双击“res\values\strings.xml”打开文本资源文件。与布局文件同样:①表明文本资源图形界面;②表明文本资源代码界面。

  

  

  

  咱们打开文本资源strings.xml文件以后,当咱们看到:

     <string name="hello_world">Hello world!</string>

  前面的疑虑应该顿消,原来如此啊!hello_world是文本资源文件中的一个标签而已,其真正的内容是“Hello world!”。

  你能够经过图形界面或者字符界面添加一个字符串资源,究竟你选择哪一种,随你高兴!

 

三、R.java文件(gen/com.genwoxue.hello/R.java)

  双击“gen/com.genwoxue.hello/R.java”打开资源ID文件。

  

  R.java资源文件保存全部资源的ID,譬如前面所讲的hello_world,在这里就是一个整数0x7f040001而已。

  若是你感受这个文件很奇怪也很正常,除非你曾经学习或者写过C for windows应用程序就早已习觉得常了。

  这个文件你最好只是看看,不要动它!!!

四、AndroidManifest.xml文件

  双击“AndroidManifest.xml”项目配置文件。

  

  全部的Activity程序都在AndroidManifest.xml文件中进行注册,故该文件是整个Android项目的核心配置文件。

   在<application>节点中配置的android:icon="@drawable/ic_launcher",表示引用 drawable(drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹中导入)资源配置的图标,引入图标的 名称为ic_launcher。如今你能够更换应用程序图标了,你知道了它在哪!

   在<application>节点中配置的android:label="@string/app_name",表示此应用程序的标签名称 从strings.xml文件中读取,内容为app_name对应的内容。如今你也能够更换应用程序标题了,你知道了它在哪!

  固然,你还能够更改Activity的标题,什么是Activity?

  Activity就是一个活动的窗体,一个项目应用程序能够包含多个Activity。

五、MainActivity.java(src/com.genwoxue.hello/MainActivity.java)

  双击“src/com.genwoxue.hello/MainActivity.java”程序文件。

  

  本程序是Android整个项目的主程序,Activity是项目的基本组成部分。

  MainActivity继承Activity类,onCreate()方法是启动Activity地默认调用的方法。

  super.onCreate(savedInstanceState):调用父类的onCreate()方法;

  setContentView(R.layout.activity_main):调用布局文件。

相关文章
相关标签/搜索