欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-22 23:23:52
...

编写一个基本的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]测试

转载于:https://my.oschina.net/u/856651/blog/95562