当前位置: 首页 > news >正文

《Android应用开发攻略》——1.4 在Eclipse中创建“Hello, World”应用程序

1.4 在Eclipse中创建“Hello, World”应用程序

Ian Darwin
1.4.1 问题
你打算用Eclipse开发Android应用程序。
1.4.2 解决方案
安装Eclipse、Android SDK和ADT plug-in。创建项目并开始编写应用程序。从Eclipse中构建项目并在模拟器下测试。
1.4.3 讨论
安装如下软件之后,就可以开始开发了:
Eclipse IDE
Android SDK
ADT plug-in
安装上述三个软件的详细讲解请参见攻略1.5。
首先,从File→New菜单创建一个新项目(见图1-1)。

image


单击Next按钮。为新项目命名,单击Next按钮(见图1-2)。
选择目标SDK版本。版本2.1可以用于几乎所有当前的设备;版本3.x或者4.x提供了最新的功能(见图1-3),决定权在你。
图1-4展示了右边的Project(项目)面板上展开的项目结构,还展示了在Android中Eclipse自动完成功能的使用——我为标签添加了gravity属性,Eclipse提供了属性可能取值的完整列表。我选择“center-horizontal”,因此当应用程序运行时这个标签应该居中显示。

image


实际上,如果将LinearLayout上的gravity属性设置为center_vertical,并将TextView上的gravity属性设置为center_horizontal,文本将在垂直和水平方向上都居中。例1-3是完成这一效果的main.xml布局文件(位于res/layout下)。
例1-3: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"
    android:gravity="center_vertical"
    >
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    android:gravity="center_horizontal"
    />
</LinearLayout>

image


和以往一样,Eclipse在保存源代码文件时生成一个编译版本。而且,在Android项目中,还运行Ant build创建一个编译并打包的APK文件,可以立即运行。可以用鼠标右击项目,然后选择Run As → Android Project来运行这个APK(见图1-5)。
如果Android模拟器没有运行,这时就会启动。模拟器启动时将显示打字机字体的“Android”,然后切换到更别致的Android字体,在蓝色的字母上有移动的白色小块——是不是想起了Microsoft Windows 95的启动画面?请看图1-6。

image


稍过一会儿,应用程序启动(图1-5仅仅展示了应用程序的屏幕截图,因为模拟器视图的其余部分都是一样的)。见图1-7。
1.4.4 参阅
攻略1.3

image

image

image

相关文章:

  • HBase最佳实践-集群规划
  • 《规范敏捷交付:企业级敏捷软件交付的方法与实践》——2.5 事实重于巧辩...
  • 技术热点:Android hook技术浅析
  • 基因测序、大数据分析——精准治癌正在成为现实
  • Python数据结构——AVL树的实现
  • 《Linux高性能服务器编程》——1.6 DNS工作原理
  • 科技大牛专业详解 苹果iOS 史上最大漏洞
  • 《Java 7程序设计入门经典》一2.3 字面量
  • 三年试点牌照尚未发放 2017年虚商前路仍艰辛
  • 2015 湖南省赛 阶乘除法
  • PaperWeekly 第38期 | SQuAD综述
  • Oracle成长点点滴滴(2)— 权限管理
  • Python零基础学习系列之一--初识计算机!
  • Android 开发推荐
  • 数据库原理及应用(SQL Server 2016数据处理)【上海精品视频课程】
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • CSS居中完全指南——构建CSS居中决策树
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript函数式编程(一)
  • java小心机(3)| 浅析finalize()
  • Joomla 2.x, 3.x useful code cheatsheet
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • js算法-归并排序(merge_sort)
  • Linux链接文件
  • React的组件模式
  • sessionStorage和localStorage
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 将回调地狱按在地上摩擦的Promise
  • 如何利用MongoDB打造TOP榜小程序
  • 网络应用优化——时延与带宽
  • 我从编程教室毕业
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 做一名精致的JavaScripter 01:JavaScript简介
  • #QT(TCP网络编程-服务端)
  • #微信小程序:微信小程序常见的配置传值
  • (30)数组元素和与数字和的绝对差
  • (9)目标检测_SSD的原理
  • (二)linux使用docker容器运行mysql
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (转)关于pipe()的详细解析
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • *2 echo、printf、mkdir命令的应用
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net core 6 redis操作类
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .Net环境下的缓存技术介绍
  • .Net中的集合
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • [].slice.call()将类数组转化为真正的数组
  • [20150904]exp slow.txt
  • [20180129]bash显示path环境变量.txt
  • [AR]Vumark(下一代条形码)
  • [cb]UIGrid+UIStretch的自适应