请选择 进入手机版 | 继续访问电脑版

Android Hello World实例

[复制链接]

Android Hello World实例

发表于 2021-12-28 13:50:19 只看大图 阅读模式 倒序浏览
1031 0 查看全部
  让我们开始真正的基于Android框架编程。在开始使用Android SDK写第一个示例之前,请确保你已经按照Android - 环境搭建 教程中介绍的完成了你的Android开发环境搭建。同时,我假设你具备一些Eclipse IDE的知识。
  现在让我们开始写一个简单的Android应用程序,可以打印出"Hello World"。
创建 Android 应用  第一步是通过Eclipse IDE来创建一个简单地Android应用程序。按照选项File -> New -> Project,最后从向导列表选择 Android New Application 。现在,使用如下的窗口向导将应用程序命名为HelloWorld:
hello_word.jpg
  接下来,按照所提供的说明,保持所有的默认输入,直到最后一步。一旦项目创建成功,将会看到如下的项目界面 -
hello_android_project.jpg
Android应用程序剖析  在运行应用之前,你需要知道Android项目中的一些文件目录和文件 -
hello_word1.jpg
序号文件夹、文件和说明
1src:包含项目中所有的.java源文件,默认情况下,它包括一个 MainActivity.java源文件对应的活动类,当应用程序通过应用图标启动时,将运行它。
2gen:这包含由编译器生成的.R文件,引用了所有项目中的资源。该文件不能被修改。
3bin:这个文件夹包含Android由APT构建的.apk包文件,以及运行Android应用程序所需要的其他所有东西。
4res/drawable-hdpi:这个目录下包括所有的为高密度屏幕设计所需的drawable对象。
5res/layout:这个目录存放用于定义用户界面的文件。
6res/values:这个目录存放各种各样的包含一系列资源的XML文件,比如字符串和颜色的定义。
7AndroidManifest.xml:这个是应用程序的清单文件,描述了应用程序的基础特性,定义它的各种组件。  下面的章节将给出一些重要的应用程序文件的概览。
主要活动文件  主要活动代码在MainActivity.java的Java文件中。这是实际的应用程序文件,将被转化为Dalvik可执行文件并运行。下面是由应用向导为Hello World应用生成的默认代码 -
  1. package com.example.helloworld;

  2. import android.os.Bundle;
  3. import android.app.Activity;
  4. import android.view.Menu;
  5. import android.view.MenuItem;
  6. import android.support.v4.app.NavUtils;

  7. public class MainActivity extends Activity {

  8.    @Override
  9.    public void onCreate(Bundle savedInstanceState) {
  10.       super.onCreate(savedInstanceState);
  11.       setContentView(R.layout.activity_main);
  12.    }

  13.    @Override
  14.    public boolean onCreateOptionsMenu(Menu menu) {
  15.       getMenuInflater().inflate(R.menu.activity_main, menu);
  16.       return true;
  17.    }
  18. }
复制代码
  这里,R.layout.activity_main引用自res/layout目录下的activity_main.xml文件。onCreate()是活动被加载之后众多被调用的方法之一。
Manifest文件  无论你开发什么组件用作应用程序中的一部分,都需要在应用程序项目根目录下的manifest.xml文件中声明所有的组件。这个文件是Android操作系统与你的应用程序之间的接口,因此,如果没有在这个文件中声明你的组件,将无法被操作系统所识别。举个例子,一个默认的清单文件看起来如下:
  1. ‹manifest xmlns:android="http://schemas.android.com/apk/res/android"
  2.    package="com.example.helloworld"
  3.    android:versionCode="1"
  4.    android:versionName="1.0" >

  5.    ‹uses-sdk
  6.       android:minSdkVersion="8"
  7.       android:targetSdkVersion="22" />

  8.    ‹application
  9.        android:icon="@drawable/ic_launcher"
  10.        android:label="@string/app_name"
  11.        android:theme="@style/AppTheme" >

  12.        ‹activity
  13.           android:name=".MainActivity"
  14.           android:label="@string/title_activity_main" >

  15.           ‹intent-filter>
  16.              ‹action android:name="android.intent.action.MAIN" />
  17.              ‹category android:name="android.intent.category.LAUNCHER"/>
  18.           ‹/intent-filter>

  19.        ‹/activity>

  20.    ‹/application>
  21. ‹/manifest>
复制代码
  这里,...标签之间是应用程序相关的组件。andnroid:icon属性指出位于res/drawable-hdpi下面的应用程序图标。这个应用使用drawable文件夹下名为ic_launcher.png的图片。
  标签用于指定一个活动,android:name属性指定一个Activity类子类的全名。android:label属性指定用于活动名称的字符串。可以使用标签来指定多个活动。
  意图过滤器的action被命名为android.intent.action.MAIN,表明这个活动被用做应用程序的入口。意图过滤器的category被命名为android.intent.category.LAUNCHER,表明应用程序可以通过设备启动器的图标来启动。
  @string指的是strings.xml(将在后面介绍)。因此,@string/app_name指的是定义在strings.xml中的app_name,实际为"Hello World"。类似的,应用中的其他字符串也很流行。
  下面是你的清单文件中将用到的标签,用于指定不同的Android应用程序组件:
  • 活动元素
  • 服务元素
  • 广播接收器元素
  • 内容提供者元素
Strings 文件  strings.xml文件在res/value文件夹下,它包含应用程序使用到的所有文本。例如,按钮、标签的名称,默认文本,以及其他相似的strings。这个文件为他们的文本内容负责。一个默认的strings文件看起来如下:
  1. ‹resources>
  2.    ‹string name="app_name">HelloWorld‹/string>
  3.    ‹string name="hello_world">Hello world!‹/string>
  4.    ‹string name="menu_settings">Settings‹/string>
  5.    ‹string name="title_activity_main">MainActivity‹/string>
  6. ‹/resources>
复制代码
R 文件  gen/com.example.helloworld/R.java文件是活动的Java文件,如MainActivity.java的和资源如strings.xml之间的胶水。这是一个自动生成的文件,不要修改R.java文件的内容。下面是一个R.java文件的示例:
  1. /* AUTO-GENERATED FILE.  DO NOT MODIFY.
  2. *
  3. * This class was automatically generated by the
  4. * aapt tool from the resource data it found.  It
  5. * should not be modified by hand.
  6. */

  7. package com.example.helloworld;

  8. public final class R {
  9.    public static final class attr {
  10.    }

  11.    public static final class dimen {
  12.       public static final int padding_large=0x7f040002;
  13.       public static final int padding_medium=0x7f040001;
  14.       public static final int padding_small=0x7f040000;
  15.    }

  16.    public static final class drawable {
  17.       public static final int ic_action_search=0x7f020000;
  18.       public static final int ic_launcher=0x7f020001;
  19.    }

  20.    public static final class id {
  21.       public static final int menu_settings=0x7f080000;
  22.    }

  23.    public static final class layout {
  24.       public static final int activity_main=0x7f030000;
  25.    }

  26.    public static final class menu {
  27.       public static final int activity_main=0x7f070000;
  28.    }

  29.    public static final class string {
  30.       public static final int app_name=0x7f050000;
  31.       public static final int hello_world=0x7f050001;
  32.       public static final int menu_settings=0x7f050002;
  33.       public static final int title_activity_main=0x7f050003;
  34.    }

  35.    public static final class style {
  36.       public static final int AppTheme=0x7f060000;
  37.    }
  38. }
复制代码
Layout 文件  activity_main.xml是一个在res/layout目录下的layout文件。当应用程序构建它的界面时被引用。你将非常频繁的修改这个文件来改变应用程序的布局。在"Hello World"应用程序中,这个文件具有默认的布局,内容如下:
  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.    ‹TextView
  6.       android:layout_width="wrap_content"
  7.       android:layout_height="wrap_content"
  8.       android:layout_centerHorizontal="true"
  9.       android:layout_centerVertical="true"
  10.       android:padding="@dimen/padding_medium"
  11.       android:text="@string/hello_world"
  12.       tools:context=".MainActivity" />

  13. ‹/RelativeLayout>
复制代码
  这是一个简单的RelativeLayout的示例,更多内容会在独立的章节中讲解。TextView是一个Android的控件用于构建用户图形界面。它包含有许多不同的属性,诸如android:layout_width, android:layout_height等用来设置它的宽度和高度等。@string指的是res/values文件夹下的strings.xml文件。因此,@string/hello_world指的是定义在strings.xml中的名为hello的字符串:"Hello World!"。
运行应用程序  让我们尝试运行刚刚建立的Hello World!应用程序。假设在搭建环境时你已经创建好了AVD。从Eclipse运行应用,打开你项目中的一个活动文件,并且点击工具栏上的 eclipse_run.png 图标。Eclipse在AVD上安装应用,并启动它。如果一切顺利,将显示如下的模拟器窗口 -
android_hello_world.jpg
  恭喜你已经开发了第一个Android应用程序,按照接下来剩余的教程一步一步来,你将成为一个牛B的Android开发人员。

来源:菜鸟教程
回复

使用道具 举报

游客~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|极客同行 ( 蜀ICP备17009389号-1 )

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4