Android简明开发教程三:第一个应用Hello World

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

在安装后Android开发环境和创建好Android模拟器之后,就可以开始写第一个Android应用“Hello,World”。后面的例子均采用Eclipse IDE。
安装ADT plugin之后,创建的新项目种类就会增加一个Android Project类型:

选择Android Project项目类型,出现下面对话框:

Project Name : Hello World
Build Target: 这里选择 Android 1.6 ,如果你的Build Target 列表为空,则表示你忘记设置Android SDK安装目录了。可以通过Windows -> Preferences -> Android 来设置SDK路径。
Application Name: Hello World
Package name: com.pstreets.android.example, 如果您开发过Java或是.Net Framework 应用,包名称并不陌生。
Create Activity: HelloWorld。 Activity 是Android平台中特有的一个新概念。以Java ME或是Windows Mobile CE应用作参考,它类似于Java ME和Windows Mobile中 UI类的Form类。
Min SDK Version: 可以为空。 Android平台的 版本比较多,从1.5到目前的3.0。Android平台支持向下兼容。Min SDK Version指出了您开发应用支持的最第版本。4对应于Android 1.5。

点击“Finish”则在Eclipse 的Workspace中创建了“Hello World”项目:

ADT Plug自动创建了几个目录:

src  应用源码目录
gen  Android应用自动生成的代码,主要是根据Android资源目录res下的资源来生成的,这样可以根据资源ID来访问应用中的资源。一般不建议手工改动,即使改动,下次编译时也会被重新覆盖。
Android 1.6 表示当前选择的Android版本是Android1.6,你可以使用Android1.6中提供的API。可以通过项目的属性来修改Android版本。
assets  静态文件目录。Hello world 中为空。
res 为应用中的资源目录,res中含有多个子目录,为多种资源。如果你曾经使用Silverlight, Polish Java ME或是 WPF等使用XML来描述UI的应用,则您会觉得res 目录下的各种资源文件似曾相识。Android也是采用XML来描述UI的。
AndroidManifest.xml 应用程序描述文件,类同于Java ME的 JAD文件。它定义了应用的构成,组件,权限等信息。
default.properties 和proguard.cfg 一般不需要改动。proguard.cfg主要用来扰码(混淆器)来保护应用防止反编译。开发过Java 或是.Net 应用的应该对这比较熟悉。

这样就有了第一个应用“Hello World”,可以直接运行。Run As -> Android Application ,将启动模拟器,如果你有Android设备,则也可以选择使用Android设备运行。

到目前为止我们还没有写一行代码。还不能说了解开发Android应用的基本概念。所以需要具体了解一下这个应用的几个重要的组成部分:

主Activity ,打开类 com.pstreets.android.example.HelloWorld

1
2
3
4
5
6
7
8
9
10
11
12
13
package com.pstreets.android.example;  
  
import android.app.Activity;
import android.os.Bundle;  
  
public class HelloWorld extends Activity {
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
         setContentView(R.layout.main);
     }
}

 前面提到Activity是Android中类似Windows Mobile 中的Form类的基本UI类。如果您开发过Java ME应用,Activity更像MIDlet,当Android应用可以有多个Activity,而每个Java ME应用中只能有一个MIDlet派生类。如果熟悉MVC ,MVP模型 ,Activity类似于 MVC或是 MVP模型中的 Controller或是Presenter。Activity 有多个生命周期事件可以实现,onCreate是其中一个,它类似于Java ME MIDlet的 startApp 或是 From 的 From_Load事件。Activity将在后面在详细介绍。 setContentView(R.layout.main); 设置Activity主用户UI。

Layout资源文件  res->layout->main.xml
<?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”
    >
<TextView 
    android:layout_width=”fill_parent”
    android:layout_height=”wrap_content”
    android:text=”@string/hello”
    />
</LinearLayout>

Android 是通过XML来描述 UI 的,UI 一般通过res 下Layout资源来描述 main.xml 中定义了HelloWorld主界面。可以看到LinearLayout和TextView两个元素。这表示主界面采用LinearLayout布局(类似Swing 中Layout),下面是一个TextView(文本框),文本框显示的内容是@string/hello, @string/hello为一个string 资源,@表示资源引用。string资源定义在res->values->strings.xml 中,其值为<string name=”hello”>Hello World, HelloWorld!</string>。

View 在Android中表示一个可视化组件,刚接触Android开发时,可能会有些困惑,因为在其它平台在View一般指用户界面(Windows),如果拿Java ME或是Windows Mobile做类比的话,Android中的View相当于Windows Mobile中的Control 或是Component, ViewGroup相当于 Container或是Swing中的Layout。  R.layout.main 定义在 gen->R.Java 中,为自动为资源生成的资源ID。

AndroidManifest.xml  应用程序清单
<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android
      package=”com.pstreets.android.example”
      android:versionCode=”1″
      android:versionName=”1.0″>
    <application android:icon=”@drawable/icon” android:label=”@string/app_name”>
        <activity android:name=”.HelloWorld”
                  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>
    <uses-sdk android:minSdkVersion=”4″ />

</manifest>

和Java ME的JAD文件类似,AndroidManifest.xml定义了Android应用中所有的Activity ,应用的图标,权限等属性。
<intent-filter>
 <action android:name=”android.intent.action.MAIN” />
 <category android:name=”android.intent.category.LAUNCHER” />
</intent-filter> 表示这个Activity 是可以通过Android应用菜单来启动,具体含义在介绍Activity时再说明。

此外,Android 除了使用XML来描述UI外,如果你不怕麻烦的话,也可以通过代码来创建UI,方法类似Swing UI。

Android速成day07-组合控件 本文介绍了安卓开发中组合控件(Custom Composite View)的重要性与应用。通过将多个基础控件组合成可复用的自定义组件,开发者能够提升UI一致性、减少代码冗余,并简化复杂界面的开发流程。文章以顶部导航栏和底部标签栏为例,逐步讲解组合控件的创建与使用方法,适合不同水平的开发者参考实践。 阅读详情

相关推荐

Qt on Android:图文详解Hello World全过程

最全的 Qt on AndroidHello World 介绍,图文标识详尽丰富,零基础学 Qt on Android

安晓辉生涯——聚焦程序员的职业规划与成长 6万+

精通Android开发之界面速成

笔者最近需要移植一个J2ME的项目到Android平台上,所以抽空研究了一下Android平台的接口规范。 Android平台除了在一些接口上采用了和J2ME不一样的名称之外,基本的接口内容还是一样的,那么移植J2ME到Android平台最方便的方法就是利用Android平台的接口重写J2ME的接口,本着这个思路笔者写了一个Wrap包,利用这个Wrap包,基本上J2ME程序不用修改,只需要重新导入一下 重写后的Graphics、Image等类,就可以无缝的运行在Android平台上,所以笔者题目中所说的“两个小时精通Android”的前提是先精通J2ME。 既然要重写J2ME下的这些接口,那么就要先了解Android和J2ME平台到底有哪些不同,然后重写这部 分不同的接口即可。

Android - Hello World 示例

qq_63713888的博客 2595

android 入门教程速成,Android入门基础教程(小白速成1)

Android 入门基础教程(小白速成1)编译工具:Android Studio各种工具其实大同小异开发环境的搭建还有项目新建这里就不过多说明了,网上有很多教程。项目新建按照需求来就好,我这里选用空的界面(Empty Activity)和Android 4.0.3,大家一定要注意安卓版本匹配问题鸭,之前每次新建项目都报错,最后才发现是版本匹配问题。话不多说,进入正题吧!Hello World!新建...

weixin_33390899的博客 1187

Android基础教程(非常详细)从零基础入门到精通,看完这一篇就够了

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

wangluoanquan111的博客 2万+

Android安卓开发从小白到高级开发

Android安卓开发从小白到高级开发

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 4162

一些提高Android开发效率的工具&方法

最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。由于篇幅有限,这里以图片的形式给大家展示一小部分。详细整理在GitHub可以见;

m0_60707660的博客 771

零基础挑战用cursor开发一个安卓app——Hello World

按照教程,先新建个项目,然后选择一个空应用,选择“Empty Activity”,然而由于我用的AndroidStudio版本与教程中的不同,实际上我应该选的是“Empty Views Activity”,否则下一步设置工程名和路径的时候就会出现无法选java语言的问题。删除项目,重新选择为“Empty Views Activity”,草率的点击Finish后,紧接着就会发现,教程中要修改的“build.gradle”文件变成了“build.gradle.kts”,多了个后缀.kts。

weixin_45163575的博客 9689

Android搭建开发第一个程序Hello World

一、开发环境安装 1、在下面官方网站下载Android SDK http://developer.android.com/sdk/index.html 2、下载后解压出来是目录adt-bundle-windows-x86-20131030,里面有两个目录eclipse、sdk、和一个可执行文件SDK Manager.exe。 3、点击SDK Manager.exe后,在出现窗口中下载需要

pnjlc的专栏 1216

Android studio创建hello world

目录安装Android studio以及创建hello worldhelloworld创建具体过程生成apk并设计启动图标android studio配置快捷键和操作界面 安装Android studio以及创建hello world 下载链接: Android studio下载.按照安装步骤安装即可。 helloworld创建具体过程 1.打开程序,点击左上角file,选择new project 2.进入创建页面选择empty activity 3.在后的界面更改项目名称和项目储存位置,点击finis

louderIII的博客 1万+

Android开发入门:创建你的第一个Hello World应用

在本教程中,我们将学习如何创建一个简单的Android应用程序,其中显示一个Hello World的消息。在“res/layout”目录中找到自动生成的布局文件,它的名称与你在上一步中输入的名称相同(例如activity_main.xml)。点击“下一步”继续。这是一个简单的Hello World应用程序,但它为你提供了一个入门的基础,让你开始学习更复杂的Android应用程序开发。连接你的Android设备或启动模拟器,并点击Android Studio工具栏中的“运行”按钮来安装和运行应用程序。

TechBlitzZ的博客 1022

创建人生中的第一个 Android 应用Hello World

基于上篇对于。尚未搭建环境的同学可以可点击链接前往参观。

m0_67060810的博客 1825

android手机开发第一个工程hello world

====本文系本站原创,欢迎转载! 转载请注明出处:http://blog.csdn.net/yyplc====  ================================================================ 基本环境: 系统: ubuntu 10.04 Linux wsn-laptop 2.6.38-12-generic #51~lucid1

自由枫~ 2262

Android应用开发入门:编写你的第一个Hello World程序

Android开发中,"Hello World"程序是入门级别的示例程序,用于展示如何创建一个简单的Android应用。接下来,打开"activity_main.xml"文件,它位于"app > res > layout > activity_main.xml"路径下。接下来,打开"activity_main.xml"文件,它位于"app > res > layout > activity_main.xml"路径下。现在,你已经编写好了"Hello World"程序的源代码。

PixelDyno的博客 1305
上一篇: Android简明开发教程二:安装开发环境
下一篇: Android简明开发教程四:Android应用基本概念
引路蜂
博客等级 码龄15年 3122粉丝 711原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值