编写一个基本的Android​应用程序

编写一个基本的Android应用程序

本节展示如何构建一个 Android 应用程序。示例应用程序非常简单:一个修改后的 “Hello Android” 应用程序。您将进行一个微小的修改,使屏幕背景全部变为白色,以便把手机用作手电筒。这个例子不是很有创意,但是可以作为一个有用的例子。请 下载 完整的源代码。

为了在 Eclipse 中创建应用程序,选择 File > New > Android project,这将启动 New Android Project 向导。


5. New Android project 向导
编写一个基本的Android​应用程序

接下来,创建一个简单的应用程序,该应用程序有一个活动,并且在 main.xml 中有一个 UI 布局。布局包含一个文本元素,您将修改这个文本元素,以显示 Android FlashLight。下面的清单显示了这个简单的布局。


清单 1. Flashlight 布局

                               
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/all_white">
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" android:textColor="@color/all_black" 
   android:gravity="center_horizontal"/>
</LinearLayout>

 

strings.xml 中创建两个颜色资源。


清单 2. strings.xml 中的颜色

                               
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Android FlashLight</string>
    <string name="app_name">FlashLight</string>
    <color name="all_white">#FFFFFF</color>
    <color name="all_black">#000000</color>
</resources>

 

主屏幕布局有一个定义为all_white 的背景色。在 strings.xml 文件中,可以看到all_white 被定义为一个值为 #FFFFFF RGB 三元组,即纯白。

布局包含一个TextView,这实际上是一块静态文本。它是不可编辑的。文本被设为黑色,并通过gravity 属性设为水平居中。

该应用程序有一个名为 FlashLight.java Java 源文件,如以下清单所示。


清单 3. Flashlight.java

                               
package com.msi.flashlight;
import android.app.Activity;
import android.os.Bundle;
public class FlashLight extends Activity {
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

 

该代码是直接来自 New Project 向导的模板代码:

  • 它是 Java com.msi.flashlight 的一部分。
  • 它有两个 import
    • 一个用于 activity
    • 一个用于 bundle
  • 当该活动发起后,onCreate 方法被调用,传入一个savedInstanceState。对于我们来说,不必关心这个 bundle。只有在暂停然后恢复活动时才会用到。
  • onCreate 方法覆盖了同名的 activity 类方法。它调用超类的onCreate 方法。
  • 对setContentView() 的调用将关联 main.xml 文件中定义的 UI 布局。main.xml strings.xml 中的任何内容都自动映射到 R.java 源文件中定义的常量。任何时候都不要直接编辑这个文件,因为它随着每次构建而改变。

运行该应用程序可以看到一个白色屏幕,其中有黑色文本。

编写一个基本的Android​应用程序

 

6. flashlight 的白色屏幕

下面显示用于 FlashLight 应用程序的 AndroidManifest.xml 文件。


清单 4. 用于 FlashLight AndroidManifest.xml

                               
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.msi.flashlight"
      android:versionCode="1"
      android:versionName="1.0.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".FlashLight"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

 

该文件是由用于 Eclipse Android Developer Tools 插件自动创建的。您不需要做任何事情。

当然,这个应用程序并不是很强大。但是如果希望读点书,又不想打扰正在睡觉的爱人,或者如果需要在断电时去地下室查看保险丝盒,那么这个应用程序还是很方便的。

附件:原码在http://www.ibm.com/developerworks/cn/opensource/os-android-devel/index.html#download 感谢网友的贡献。[email protected]测试

你可能感兴趣的:(移动开发,android​)