继上篇简单介绍了一下Android系统,本文扼要地讲一下如何创建一个Android的程序Hello Android。

关于Android的开发平台的搭建,园子里很多前辈都有讲过了,这里简单的提一下。

首先要安装JDK 5 or 6, Eclipse 3.4 or 3.5, 以及Eclipse的插件Android Development Tools (ADT) Plugin, 最新版应该是ADT 0.9.7, 这里有详细的安装步骤。然后去这里下载Android SDK,装完了以后可以把SDK安装目录下tools目录路径加入PATH环境变量,如C:\android-sdk-windows\tools, 它包含一些实用的工具,如模拟器Emulator,Android Debug Bridge (adb)等,这样的话就可以通过命令行运行这些工具。最后一步就是通过the Android SDK and AVD Manager去安装一些SDK的组件,如USB Driver for Windows,Google APIs,Samples, Docs等, 具体步骤可参见官方文档。

在创建第一个项目前,需要创建一个虚拟设备,用来模拟运行你创建的程序。

打开Eclipse,菜单Window->Android SDK And AVD Manager, 出来一个对话框,选中Virtual Device,右边点击New,在新建对话框中输入名字如my_avd,选择Target即模拟器要运行的Android SDK版本,如Android 2.1。其它的设置如SD卡,分辨率可以自行设置或者留空,点击Create AVD这样一个虚拟设备就创建好了,如下图:

接下来创建Hello Android项目。

点击File->New->Android Project, 出来一个对话框,填写如下几项

Project name: HelloAndroid ----Eclipse项目名称 Application name: Hello,Android -----在模拟器上显示的应用程序的名字 Package name: com.benjamin.helloandroid ----包的命名空间 Create Activity: HelloAndroid ------我们要创建的Activity class的名字,它是继承自android.app.Activity。 Build Target: Android 2.1---------您的应用程序所要运行的目标平台

点击完成,这样Hello Android项目就创建完成了。

我们来看一下它的项目结构和相关代码:

可以看到HelloAndroid Activity继承自android.app.Activity, onCreate方法会在这个Activity启动时被调用,所以一般会把生成UI和初始化的操作放在这里。

接下来在onCreate方法里面添加三行代码:

TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);

并注释下面这一行代码:

//setContentView(R.layout.main);

并导入相应的包,导入包的快捷键 Ctrl-Shift-O

import android.widget.TextView;
 
Android应用程序用户界面是由一系列UI元素组成,如文本框,按钮等,它们都继承自View类。这里创建一个TextView,类似于Label用来显示文本的,并设置它显示的文本"Hello, Android"setContentView()方法设置当前Activity内容即为刚才创建的TextView。
 
运行程序就会在Android模拟器上看到输出结果。
 
前面我们的UI元素是在代码里创建的,但这样的话可能会忘记关联各个View,一点小的改动也会引起布局的错误。所以Google推荐的方法是将UI的创建放在基于XML的布局文件里,其实Flex, Silverlight也都是这样的。
 
在刚才创建项目的时候,Eclipse已经帮我们创建一个这样的文件HelloAndroid\res\layout\main.xml, 如下所示:
<TextView  android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"/>
layout_width: 表示这个TextView横向填充的方式,fill_parent表示填满整个屏幕宽度,wrap_content则根据文本内容的宽度显示。
layout_height:与layout_width类似,只不过是竖向。
text:表示TextView要显示的内容。"@string/hello" 这种表示读取资源文件HelloAndroid\res\values\strings.xml中hello的字符串的值,这种方式让我们很方便地实现国际化多语言。
 
这里我们修改一下hello字符串的值:
<?xml version="1.0" encoding="utf-8"?>
<resources><string name="hello">Hello Android, this is Benjamin!</string><string name="app_name">Hello, Android</string>
</resources>

然后返回到HelloAndroid.java,在onCreate方法中删除之前添加的三行创建TextView的代码,取消注释setContentView这行代码后的onCreate方法如下:

    public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}

这里我们调用setContentView不再是传递一个View的对象,而是一个布局资源的引用。当我们创建一个布局文件的时候,Eclipse会根据这个布局资源文件自动在gen包下创建资源文件的索引类R.java, 根据它我们就可以快速地引用我们定义的资源文件,可以看到每增加或者修改一个资源文件,R.java就会由Eclipse自动生成,所以我们不能自己手动编辑它,R.layout.main这个对象就代表引用资源文件main.xml。

运行一下可以看到结果如下:

Hope this helps!

转载于:https://www.cnblogs.com/mobilegeek/archive/2010/07/10/Hello-Android.html

Hello Android相关推荐

  1. Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程

    首先下载并安装安卓SDK和java的JDK 安卓sdk下载: http://www.android-studio.org/ 也可以在这下载: 链接:http://pan.baidu.com/s/1bp ...

  2. Android 的NDK的Makefile编写

    Android.mk 是google根据Linux GNU Makefile精简编译脚本.具体来说:这就是GNU Makefile的一小部分. 举一个简单例子: LOCAL_PATH := $(cal ...

  3. Android Animation (安卓动画)概念简介

    Android Animation Android 四种动画分别为逐帧动画和补间动画.属性动画.过渡动画: Frame Animation (逐帧动画) 实现方式:xml 和 Java代码 图片跳转的 ...

  4. 基于Android和SpringBoot的购物App

    (Shopping)购物应用商城 本软件使用Android和SpringBoot.JavaWeb技术实现:并结合百度LBS平台的SDK.支付宝App支付客户端SDK.MobTech的ShareSDK: ...

  5. Android数据持久化:SharePreference

    SharePreference:作为Android数据持久化的一种,具有一定的便捷性,适合存储一些体积小的数据. 存储数据方式:键值对的方式,类似于Map: 利用SharePreference.Edi ...

  6. Android数据持久化:文件存储

    数据持久化: 数据可分为瞬时数据和关键数据.保存在内存之中的数据是瞬时数据,而对于一些关键性数据,后期需要持续使用的,应当保存在存储设备中: 持久化保存方式: 文件存储.SharePreference ...

  7. Android Studio中RecycerView依赖库加载问题

    依赖包导入思考: 参考资料:recycleview导包问题 打开修改本项目中的build.gradle; 切勿着急添加包,应当提前查看其中的版本号(因为加载的v7包要和其版本保持一致性): 例如: 因 ...

  8. Android布局优化之include、merge、ViewStub

    include:引入重复使用的相同布局 merge:减少include布局的层级,将子元素直接添加到merge标签的parent中 ViewStub:其实就是一个宽高都为0的一个View,它默认是不可 ...

  9. Android动画之帧动画和补间动画

    Android系统提供三种动画:帧动画.补间动画和属性动画.这里先分析总结帧动画和补间动画. FrameAnimation 帧动画,通俗来说就是按照图片动作顺序依次播放来形成动画,创建帧动画可以用 x ...

  10. Android系统的启动过程

    Android系统的启动过程可以简单地总结为以下几个流程: 加载BootLoader -> 初始化内核 -> 启动init进程 -> init进程fork出Zygote(孵化器)进程 ...

最新文章

  1. 阿里程序员连续两次绩效3.25!大老板威胁要开除他!还不给赔偿金!问大家该如何维权?...
  2. 人人都能学会的python编程教程15:高级特性2
  3. IEA:截止2015年全球太阳能光伏装机累计超228GW
  4. 多项式拟合缺点_曲线拟合方法的选择
  5. hmm 求隐藏序列_结巴分词3--基于汉字成词能力的HMM模型识别未登录词
  6. How is Organization Unit currency attribute merged into pricing document
  7. 数据脱敏平台-大数据时代的隐私保护利器
  8. PHP点歌插件,斗鱼弹幕点歌插件_小葫芦社区_小葫芦插件交流 - Powered by Discuz!
  9. 如何部署林根域、子域和域树
  10. 集成unittest与html测试报告
  11. Git(9)-- 远程仓库的使用
  12. php+mysql+json android 连接wamp
  13. 2021年江苏省高考成绩什么时候可以查询,2021年江苏高考成绩什么时候出来 成绩查询时间...
  14. 随机效应估算与固定效应估算_纯电动汽车的电池价格,可以怎么估算?
  15. 锐捷服务器虚拟化技术_锐捷核心交换机VSU虚拟化配置
  16. C# 计算农历日期方法
  17. 【人机】确认框中的“取消/确定”要如何设计呢?
  18. 富爸爸穷爸爸 (全球最佳财商教育系列)——2019年04月18日15:25:56
  19. The server encountered an internal error () that prevented it from fulfilling this request.
  20. 如何查看服务器证书过期时间,如何看ssl证书过期

热门文章

  1. WordPress主题-RiPro子主题|小八子主题v8.0版
  2. 某云商城发卡网源码 带视频教程
  3. IE每打开一个网页跳出网页处理
  4. js 数字,金额 用逗号 隔开。数字格式化
  5. css 多栏文字流 css two columns text flow
  6. Hessian局部线性嵌入算法(HLLE)——matlab实现
  7. 博弈——巴什博弈(hdu1846,2188,2897)
  8. ubuntu 14.04 LTS(64bit)源配置
  9. 【今日CS 视觉论文速览】Fri, 18 Jan 2019
  10. 【C++基础学习】关于C++静态成员函数和变量