一直觉得自己的技术没有一门专长,似乎什么都会一点,但是却一点都不深入。决定学习Android的开发,说不出的理由,希望自己能够坚持下去。

  其实之前已经搭建好了Android的开发环境eclipse+ADT+SDK,这里就不做具体介绍了,个人觉得还是非常有必要把这3个软件单独安装一下,

这样对开发工具能有个系统的认识。Eclipse是一个IDE,针对多门开发语言都能够使用,SDK是针对Android应用开发提供的一个框架,其中有开发

过程中使用到的包和一些集成的工具,ADT是安装在eclipse上的一个插件,这样才能够把eclipse和SDK关联起来,使得开发者通过eclipse这个IDE

方便的进行Android应用程序开发。

  我使用的教程是《第一行代码:Android》,主要是看到stormzhang的推荐,另外也看了作者郭霖在csdn上的博客,对大牛的崇拜之情油然而生。

在试读完一章pdf教程后,立马决定就用它带我入门了。

  言归正传,今天主要学习的内容是创建第一个HelloWorld Android程序以及对Android程序的整体结构有一个比较大概的认识。

  新建一个Android application工程后,工程目录结构如下:

  各个目录的用途如下:

  1、srcjava源代码存放目录

  2、gen这个目录是由ADT自动生成的,主要有一个R.javaBuildConfig.java文件,这些文件不能手动进行修改,具体含义后面再去仔细了解

  3、assets目录是一些随程序打包时用到的文件

  4、bin不需要太多关注,当前项目编译后的安装包会保存在这里,例如HelloWorld.apk

  5、libs存放开发时用到的第3jar

  6、res目录下的子目录有:drawable存放各个机型适配的图片,layout,布局文件,menu存放菜单文件,values字符串配置文件

  7、AndroidManifest.xml整个Android项目的配置文件,程序中定义的所有四大组件都需要在这个文件里注册。同时还能够进行其他设置,后续再详细分析。

  8、Project.properties指定了编译程序时所使用的SDK版本,在我的例子中,其实就是 "target=android-14"这一行代码

  Android 程序的运行机制

  Android有4大组件,分别是活动、服务、广播接收器和内容提供器。目前我只接触到活动这个组件。所以就先记录下自己目前的认识:

  提供activity组件实际上就是提供一个继承于Activity类的子类,这个子类需要实现基类的onCreate()方法,这个方法是activity被创建时必须被执行的方法。当然,

我也尝试把这个方法改名(实现没变),结果是界面仍然可以呈现,但是具体的差异估计还得以后深入学习后才能够理解。另外,基类的方法onCreateOptionsMenu()是用于菜单的创建,

在此也暂不深究。

  在res/layout 目录下,可以创建Layout类型的Android XML File文件,在这个布局文件中,我们可以添加最简单的TextView控件用以显示字符串,具体示例如下:

    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />
View Code

  其中显示的字符串通过@string/hello_world来获得,@string/tag_name 是从res/values/strings.xml中获得值的一种方式,这种方式的便捷在于只需要修改strings.xml文件,就可以

把APP用另一种语言呈现。类似strings.xml中的配置项的读取可以有以下两种方式:

  1.在代码中通过R.string.hello_world可以获得该字符串的引用;

  2.在XML中通过@string/hello_world可以获得该字符串的引用。

  在layout类型文件创建完成后,这时候在activity组件的onCreate方法中,显示布局内容通过setContentView(R.layout.first_layout);

@Overrideprotected void onCreate(Bundle savedInstanceState){    super.onCreate(savedInstanceState);    setContentView(R.layout.first_layout);}
View Code

  在复写的onCreate方法中使用了layout类型的文件后,最后一步就是在AndroidManifest.xml文件中对activity进行注册。具体方法如下:

    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >                <activity            android:name=".FirstActivity"            android:label="This is FirstActivity" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>                     </activity>    </application>
View Code

  其中<activity>标签内的是对activity进行注册的基本操作,其中<intent-filter>标签内容是必不可少的,我自己在实验过程中由于自己犯错把category写成action,结果报错。

  在对activity在AndroidManifest.xml中正确进行注册后,一个最简单的Android app就创建完成了,运行该工程,即可在设备上看到显示HelloWorld

再次总结我对Android应用程序的初步认识,布局由Layout类型的xml文件来实现,activity类实现例如加载Layout布局,显示菜单等功能,最后AndroidManifest.xml

文件对activity进行注册,保证activity组件可以在设备上正确显示。

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. 分支和循环(二)(零基础学习C语言)
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. [置顶] Android中inflate方法的用法
  7. Android(安卓)使用JNI的相关
  8. 【Android应用开发】-(18)静默方式实现批量安装卸载应用程序
  9. android studio 3.4.1 版 NDK 自动编译产生第三方.so 库(一)

随机推荐

  1. Android接口测试-JUnit入门
  2. android中加载assets中的资源文件
  3. Android(安卓)ApiDemos示例解析(139):Vie
  4. Android(安卓)系统图标
  5. Android下如何获取Mac地址?
  6. Android(十):屏幕相关操作
  7. 获取Android自带资源的方式
  8. android:windowSoftInputMode属性使用
  9. android htttp网络通信
  10. Android学习之路六:ProgressBar