Android学习总结01之Hello World

先Hello World,后学编程。
新建Android项目后,会生成最初始的Android代码。

一、Android代码目录

  1. assets:资源目录,目录内的文件不会再R.java中生成ID
  2. bin:生成的二进制文件等,一般不会使用,apk文件在此目录
  3. gen:系统自动生成,不需修改,包含R.java文件,里边是一个类名为R的类,会对res文件夹下的每一个文件都自动生成一个ID
  4. libs:外部库
  5. res:资源目录,每一个文件都会在R.java中生成ID,方便代码中调用,如果代码中未使用目录下的某些资源,这些资源不会在最终生成apk时候打包
  6. drawable:一般会有四个文件夹:drawable-hdpi,drawable-ldpi,drawable-mdpi,是放图片的文件夹,分别是高DPI、低DPI、中等DPI屏幕下的图片显示
  7. layout:布局文件,包括但不限于Activity、Widgets、自定义通知栏、自定义视图
  8. menu:菜单的布局文件
  9. values:包含一个strings.xml文件,可自定义添加字符串的键值对,布局文件、源代码可从中读取字符串,便于制作国际化程序的制作。
  10. src:自己编写的代码
  11. AndroidManifest.xml:apk程序的配置文件,包括注册Activity、权限、Broadcast等内容。

二、Hello World运行原理

1、显示哪个Activity

初始AndroidManifest.xml的部分代码:

<application>
  <activity>
    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>
</application>

其中<application>表示整个程序,<activity>表示某个Activity,而<intent-filter>中的<action android:name="android.intent.action.MAIN" />表示当前Activity是程序启动时的默认Activity,即apk程序启动时,默认显示当前这个Activity。

2、Activity显示哪些内容

android:name="com.sixlab.activitytest.MainActivity"可知道此Activity的java文件是MainActivity.java文件,MainActivity.java部分代码:

public class MainActivity extends Activity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
}

在代码中onCreate()即为Activity初始是调用的方法setContentView(R.layout.activity_main),即设置Activity的视图为R.layout.activity_main的文件,R.java中部分文件内容:

public final class R { 
  public static final class layout { 
    public static final int activity_main=0x7f030000;
  }
}

代码中指出布局文件即Layout目录下的activity_main文件。activity_main.xml文件部分内容:

<RelativeLayout>
  <TextView android:text="@string/hello_world" />
</RelativeLayout>

此布局内容为:相对布局,布局里有一个TextView,这个View里显示一段text,内容为string.xmlhello_world签对应的字符串Hello world!,所以apk后如下图所示。


上一篇
Android学习总结02之布局 Android学习总结02之布局
基本了解了Android的目录结构之后,就能知道APP运行之后显示的界面是在/res/layout下的xml文件中定义的,ADT在Eclipse中提供了一个可视化的编辑页面,可以直接拖放控件或者预览xml文件都修改。 Android的布局有
2013-03-31
下一篇
Android学习总结00之废话 Android学习总结00之废话
前几天终于将《Android开发从零开始》共43个视频看完,在此简单的做一下总结。 本来起了个题目叫《Android开发从零开始》学习后记,后来感觉太长了,起个短一点的名字《Android学习总结》,既然不叫《Android开发从零开始》
2013-03-27