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

Qt on Android:图文详解Hello World全过程 最全的 Qt on Android 之 Hello World 介绍,图文标识详尽丰富,零基础学 Qt on Android 阅读详情

在安装后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 - Hello World 示例 无 阅读详情

相关推荐

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的专栏 1219

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

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

weixin_33390899的博客 1196

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

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

TechBlitzZ的博客 1025

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

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

wangluoanquan111的博客 2万+

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的博客 1309

精通Android开发之界面速成

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

Android速成day07-组合控件

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

1421

STM32F103 实例应用(10)——I2C读写24C32

一、应用简介 本文介绍24C32的读写,基于野火的软件I2C程序。 board_i2c.h /**=========================================================================== @file board_i2c.h @brief 本文件是用于I2C驱动 @author 青梅煮久 @version r0.1 @date 2021/01/13 -------------------------.

qq_34118600的博客 3447

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

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

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

Redis+Unity 数据库搭建

游戏中需要存放排行榜等数据,而且是实时存放,所以就涉及到数据库的问题。这里找服务器大神了解到可以用Redis来做存储,免费的效率极高。

chaixinke的专栏 879

三相直流无刷电机(带HALL传感器)BLDC控制一

本案例选择TIM0的CH0/CH1/CH2三个通道接入三路原始hall输出信号。三路TIM_CHx(48)通过配置存入到NIP寄存器(new input pattern,3 bits)内。未完待续。

m0_69929716的博客 405

Android快速入门 基础知识,系统架构(快速开发第一个安卓应用程序)

包知识脉络 + 诸多细节。包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

2401_84010816的博客 1766

HFSS - 双频微带天线设计与仿真

一、设计指标 中心频率:1.9GHz、2.45GHz 匹配情况:中心频率处S11S_{11}S11​参数小于-20dB 介质板厚度:1.6mm 介质板介电常数:3.8 馈电方式:50Ω\OmegaΩ同轴线馈电 二、双频微带天线 获得双频工作的一种最简单的方法是辐射贴片的长度对应-一个频率谐振,其宽度对应另一个频率谐振,然后从对角线的一角馈电,就能使同一个辐射贴片工作于两个频率上。其结构如下图所示。 从图中可以得知,x轴上的A点(x,0)为激发TM10_{10}10​模式的50Ω\OmegaΩ馈电点,由

MaxWei 1万+

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

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

weixin_45163575的博客 9705

FUXA实战:5步搞定基于Web的SCADA系统搭建(含Node.js版本避坑指南)

本文提供了一份基于开源工具FUXA搭建Web版SCADA系统的实战指南。文章重点解析了从环境准备到生产部署的五个核心步骤,并特别强调了Node.js版本选择对西门子S7 PLC通信兼容性的关键影响,帮助开发者避开常见陷阱,快速构建工业监控界面。

weixin_29172963的博客 140

Robocorp+Robot Framework学习记录【初学者课程:一级课程】

以下内容均来自:https://robotframework.org/?tab=2#getting-started。通过官网的学习和本地实际安装使用体验而来,本文仅记录学习过程。 Robot Framework介绍 Robot Framework 是一个通用的开源自动化框架。它可用于测试自动化和机器人过程自动化 (RPA)。 Robot Framework环境配置及安装 具体请见:Win10环境下安装pytho、pip与Robot Framework 学习过程与等级划分 官方认为Robot Framew.

OwenDom的博客 5374

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万+

开关电源环路稳定性分析(01)-Buck变换器

这篇文章主要是根据Buck变换器的拓扑结构,利用欧姆定律,基尔霍夫定律,积分微分,这些我们所熟悉的理论推导出了开关电源输入和输出关系的表达式,我相信看完这篇文章,应该是可以自己推导一次。在后面的文章中,我们同样会按照这样的风格,尽量使用大家都已经掌握的知识,来一步一步的拆解晦涩难懂的环路稳定性的问题,在前面先把积木搭起来,后面综合分析的时候就不会显得那么困难!

D_Katter的博客 3833

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

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

m0_67060810的博客 1838

Qt/C++编写自定义控件49-飞机仪表盘

一、前言 飞行仪表是测定和表示飞机数据的工具,飞机中必不可少的一部分,飞行员根据飞行仪表表示的数据才能正确地做出判断。一般飞机仪表包括高度表+空速表+垂直速率表+姿态仪+航向指示表+转弯协调表。 这次要绘制的是其中的姿势仪,显示飞机相对于地平线的姿态,看姿态仪,飞行员能判断飞机姿态为偏左偏右,及偏上和偏下。姿态仪作用原理为一高度旋转的陀螺,不论飞机的姿态如何变化,此陀螺的定轴性在空间保持相同,因而...

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 7024

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

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

自由枫~ 2266

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值