模块1:“Hello World” - 创建Hello World项目

创建Hello World项目

我们现在来尝试创建一个新的Android Studio项目并将其命名为“Hello World”。

在学习某种编程语言或编程技术时,通常在编写的第一个程序中输出“Hello World”作为开始。这是编程界的一种文化,形成于20世纪70年代。

Android Studio提供了一个向导来帮助开发者完成项目工程的创建任务。我的演示基于Android Studio 3.2.1,其它版本大同小异,参照执行。

首先运行Android Studio,自动进入引导界面(如果已经有其它项目开启,执行菜单命令“File -> New -> New Project...”):

引导界面

点击选择第一项“Start a new Android Studio project”进入向导。首先看到的是如下的对话框:

设置项目名称和标识

开发者在这一界面设定项目的名称和标识。其中主要包含下列内容:

  • Application name (应用名称):即应用的名字,如QQ、微信、抖音、王者荣耀等。不同应用的名称理论上是可以完全相同的,类似于人的名字可以重名。但是除去巧合,通常正常的开发者不会让自己的产品与友商重名。
  • Company domain (公司域名):域名的概念在计算机网络课程里介绍过,大家日常上网也频繁接触。总的来说,一个域名通常为某个组织或个人所独有,不与其它组织或个人共享。一旦发现想要申请的域名已经被注册,要么协商购买,要么申请注册其它域名。在此处,即通过域名来标注该App产品的开发者。
  • Project location (项目位置):这是项目工程所在的目录的存储位置。该目录缺省使用前面指定的App名称,也可以修改为其它名字。项目目录中存储项目描述文件、程序源代码、资源文件、编译配置脚本等开发相关的全部文件。
  • Package name (包名):包名的概念来自于Java,相当于C++语言中“名字空间”的概念。在Android App项目中,包名被当做App的唯一标识符来使用,使一个App区别于另外一个App。也就是说,不同的App可以具有相同的App名称,但是绝对不可以具有相同的包名。无法在同一台设备上安装来自于不同开发者而包名相同的App。前面提到了,域名被用来标记该产品开发者,所以形成了一个约定俗称的包名命名方式,即将域名倒过来,最后再加上App名称相关的字串。例如腾讯QQ的包名即为com.tencent.mobileqq。这种命名方式并非强制执行,但确实是经过实践检验的行之有效的方法。

在上图的对话框中,Android Studio已经为我们填写了缺省的内容。当然这些内容是不适合用于真正的开发项目的,除非是平时赶时间,急于验证某代码可行性。我们来改写成有意义的字段:

  • 将“Application name”改写为我们的项目名称Hello World
  • “Company domain ”可以任意设置,我将其填写为dmtech.com,(dmtech即数字媒体技术的缩写),大家根据自己的趣味自行设定。
  • 对于项目存储位置,可点击编辑框末尾的浏览按钮(三个点)选取适当的位置。必须注意的一点是,路径中一定不能有中文字符!

现在对话框的状态如下:

可以看到,系统自动生成了项目目录名称和包名。对于包名,看上去用来代表App名字的最后一段文字太长,可以点击后面的Edit按钮进行修改。我将其改成缩写hw,如下:

点击后面的Done按钮保存修改。
对话框中其它选项我们先忽略掉。点击右下角“Next”按钮进入目标设备选择对话框:

选择App将要运行在哪种设备上

运行Android系统的设备除了手机和平板之外,还可以有手表、电视、汽车以及物联网结点等。Android Studio默认勾选了第一项“Phone and Tablet”,即手机和平板。我们的课程只关心手机,因此不必勾选其它条目。
我们将注意转移到此项目下的下拉列表框中。从这里可以选择一个Android版本,作为App所能运行的最低版本,而在低于此版本的设备上将无法安装我们的App。可以自行修改,例如改为Android 9.0

选择App支持的Android系统最低版本

不过在这里,建议不要设置为9.0,通常App不应当只能运行在最新版本的系统。

点击Next按钮进入Activity模板选择对话框:

根据选定的模板创建第一个Activity

Activity(活动)是什么?
简而言之,Activity是带有可见用户界面的Android应用程序控制组件。它负责处理用户界面的创建、展示、退出、销毁及其生存期间的所有交互响应。

此对话框中提供了一系列常用的Activity导航模板以方便开发,例如底部导航栏模板、地图应用模板、登录页面模板、抽屉布局模板等。我们从简单的做起,在这里选择Empty Activity,然后点击Next按钮。

在接下来的对话框中对Activity进行简单配置,设置其名称和对应的布局文件名称:

对于第一个Activity,也就是默认的程序进入时打开的那一个,可以保留缺省的命名不变。点击Finish按钮结束向导。Android Studio会根据我们填写的配置生成App项目工程。这需要消耗一定的时间,部分组件需要临时从网络下载。根据网络状况和电脑配置情况,这个过程从十几秒钟到几分钟不等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容