第二章.整装出航--Android HelloWorld

Android的HelloWorld主要包含以下几部分:

一.创建第一个项目
二.运行项目
三.Android项目的项目结构说明

一.创建第一个项目

1.创建应用

启动Android Studio,在欢迎页面点击Start a new Android Studio project开始创建项目。

项目创建
项目创建

输入框中需要输入以下信息:

Application name        表示项目的名称
Company domain          公司域名,Android Studio将用来生成唯一标识符
Project location        项目存放位置,不存在则会进行自动创建
Package name            项目的包名,即唯一标识符
Include C++ support     是否引入C++支持
Include Kotlin support  是否引入Kotlin支持
  • 图中的Application name,Android Studio会创建以该项目为名称的文件夹, 同时以Application name作为初始的应用名称(后期可以在项目中更改)
  • 图中的Company domain ,Android官方建议以公司域名作为项目的唯一标识符,Android Studio会将该字符反转然后加上项目名称生成Package name。
  • 图中的Package name ,项目的包名,作为项目的唯一标识符,类似APP的身份证号,Package name不可重复,同一个设备只能安装一个相同Package name的APP,如需要更改,可在项目中进行更改
  • 图中的Include C++ support ,表示是否引入C++支持,如果需要进行NDK开发,才需要勾选,勾选后Android Studio会生成CMAKE编译相关的文件和代码,默认不勾选,本文不需要C++,不勾选,如有需要可以后期配置
  • 图中的Include Kotlin support ,表示是否引入Kotlin支持,Kotlin目前已经作为Android开发的官方语言,与JAVA可100%兼容,但现在我们暂时使用JAVA开发,暂时不需要Kotlin支持,如有需要可以后期配置

点击Next,需要选择最低版本的SDK,这里使用默认配置勾选Phone and Tablet,选择API 15即可,(API 15为4.0.3目前已经可以覆盖基本100%的设备,所以没必要向更低版本进行支持了),再次点击Next

预制模板

上图中为官方的预制模板,可以使用官方预制模板,也可以自行创建文件,这里依然使用默认配置Empty Activity模板生成初始的带一个Activity的项目,点击Next

生成文件
Activity Name               Activity名称
Generate Layout File        是否生成布局文件
Layout Name                 布局文件名称
Backwards Compatibility (AppCompat)    是否向低版本兼容

Activity:Android中使用Activity来表示一个页面,一个Activity可以看做是一个页面,一个项目(Application)可以有多个页面(Activity),不同Activity之间可以互相跳转,或进行数据传递。

Layout File:Android中使用XML文件来展示一个页面布局,Android中用XML布局文件、Activity书写代码的形式来隔离UI与代码,每个Activity可以加载一个XML文件来渲染页面布局。

回到上图,点击Next,Android Studio会下载需要的组件,点击Finish进入主界面。

在此处创建项目并下载组件过程中,如果没有配置Gradle和镜像源可能会因为Gradle或组件无法下载而导致卡住,可以参考·第一章.万事开头难--Android开发环境搭建·配置Gradle和设置镜像源,重新启动即可。

2.主界面构建

进入主界面后,等待Android Studio索引及构建完成,等待右下角进度条完成。

主界面

此时可以看到Android Studio可能会报以下错误:

Error:Failed to find Build Tools revision 27.0.3
Install Build Tools 27.0.3 and sync project
构建错误

此错误是由于Gradle没有找到配置中对应的Build Tools Version 27.0.3的版本

解决此问题有两种方法:

  • 直接点击Install Build Tools 27.0.3 and sync project下载27.0.3版本,下载完成后会Android Studio会自动刷新并重新构建

  • 点击右上角Android弹出下拉菜单,选择Project将项目切换为Project结构模式,展开文件夹结构找到并打开HelloWorld/app/build.gradle文件,
    buildToolsVersion(如果不存在直接添加即可)后面的版本号改为Android SDK中的build-tools文件夹下面的版本号,然后再次点击Try Again即可重新构建,如下图:

解决错误

到此,第一个项目已经创建成功了

二.运行项目

1.使用模拟器运行项目

Android模拟器可以支持大部分APP,如果涉及到传感器等硬件相关的需要,可能需要使用真机进行调试,HelloWorld项目暂不需要硬件相关的东西,可以使用模拟器运行。

创建模拟器主要有一下两种方式:

  • 可以在点击绿三角图标,在弹出框中点击Create New Virtual Device创建模拟器。

    创建模拟器
    创建模拟器

    此处下载Android 7.0版本,点击名称后面的Download进行下载,在弹出框中点击Accept按钮,然后点击Next进行下载

    创建模拟器

    模拟器文件较大,需要等待一段时间下载完成。

    创建模拟器

    下载完成后,选择下载的设备点击Next,在Verify Configuration页面如需改名,在AVD Name输入名称即可,本章使用默认配置,点击Finish

    创建模拟器

    此时会在Select Deployment Target弹出框中的Available Virtual Devices选项中多出我们刚才创建的虚拟机,选中点击OK即可运行APP了。

  • 也可以点击手机图标,打开ADV 打开Android 模拟设备管理器,点击左下角Create Virtual Device进行下载安装,步骤同第一种步骤相同,此处不再赘述。

    创建模拟器

模拟器安装完成

2.运行项目

点击绿三角图标

运行
,选择刚才创建的虚拟器,点击OK,等待虚拟机启动完成,Android Studio会自动运行APP

运行项目

3.使用真机运行项目

使用Android手机需要先开启开发者模式`,大部分手机开启开发者模式流程为:

打开设置--系统--关于手机--连续点击内核版本号--直到弹出提示你现在处于开发者模式--设置页出现开发者选项(不同手机可能有所不同,可以自行搜索相关手机需要打开开发者选项)。

以下以华为P10为例:

开启开发者模式
开启开发者模式
开启开发者模式
开启开发者模式

进入开发者选项后,开启USB调试选项

开启开发者模式

然后将设备插入电脑,连接后选择MTP,如果第一次可能设备会弹出需要调试设备授权,点击确定即可

开启开发者模式
开启开发者模式

此时Android Studio的Logcat的设备选择列表就会列出设备,并且会有日志输出。

开启开发者模式

此时同样点击绿三角,在设备选择弹出框中的Connected Devices列表下选择真机设备,点击OK即可运行APP在真机

点击Logcat框的左侧栏相机按钮,可以获取屏幕快照

运行APP

至此,APP已成功运行。

三.Android项目的项目结构说明

1.Android Studio面板说明

Android Studio面板

使用左侧面板栏的Project/Structure可以切换并显示项目文档结构和当前编辑文件的结构

Structure 面板:

Android Studio左侧面板栏

Project 结构面板:

Android Studio左侧面板栏

以下为文本编辑区域,右键点击文件文件,会弹出菜单栏,会提供一些界面拆分等有用的功能

Android Studio文本编辑区域

界面拆分

Android Studio文本编辑区域

底部左侧区域提供日志,终端,性能分析,构建信息等相关功能,右侧则是设备文件浏览器

Android Studio底部区域

设备文件浏览器

Android Studio底部区域

右侧边栏则是Gradle脚本相关的任务面板

Android Studio右侧区域

2.Android 项目结构

以下标注为项目相关的核心文件:

Android 项目结构

以树形文件结构展示:

  • HelloWorld
  • |- .gradle 自动生成文件夹
  • |- .idea 自动生成文件夹
  • |- app 程序相关模块,每个程序可以有多个模块,其中一个模块为程序启动模块,此处的app为单一模块,并且作为启动模块
    • |- build Android Studio 自动生成文件夹,里面包含编译后代码及生成的相关程序apk
    • |- libs 第三方库放置位置,jar、aar文件放置位置
    • |- src 包含该模块的代码及测试代码、布局及图片资源、清单文件的文件夹
      • |- androidTest Android测试代码
      • |- main 模块的代码 、布局及图片资源、清单文件
        • |- java 模块的java代码文件夹
        • |- res 图片及布局等资源文件文件夹
        • |- AndroidManifest.xml Android配置清单文件,
      • |- test Java测试代码文件夹
      • |- build.gradle 模块的Gradle配置文件
      • |- proguard-rules.pro 代码混淆配置
  • |- gradle 内嵌gradle配置文件夹
  • |- build.gradle 项目的gradle配置文件,里面可以配置项目的仓库镜像源,全项目的gradle变量及部署相关工具等
  • |- gradle.properties gradle运行的一些配置
  • |- gradlew 项目的gradle启动文件
  • |- gradlew.bat 项目的gradle启动文件
  • |- HelloWorld.iml Android Studio 通过该文件找到相关文件配置等,Android Studio自动维护,不可删除
  • |- local.properties 用于gradle使用的相关SDK位置配置文件
  • |- settings.gradle 声明项目引入的模块,在该文件中声明的文件夹将当成程序的模块处理
  • External Libraries 当前项目已经以来的相关库文件列表

Android HelloWorld项目运行及相关项目构造介绍完成

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,116评论 25 707
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    wgl0419阅读 6,281评论 1 9
  • 现在是2017年5月11日晚上九点三十一分。 我还在加班,等待一份数据。 会担心晚上回去离开城区后没有路灯的一节节...
    周大周阅读 526评论 0 2
  • 轻轻的 踩着云彩出现 慢慢的 围着你旋转 甜甜的 欣赏着进入梦乡
    白羽落花阅读 168评论 2 6
  • (一) 人常说“爱情的灯熄灭时友情的灯会亮起。”事实是人们常期适应了一种剂量的多巴胺水平,在失落时会自主寻找替代品...
    鱼丽之宴阅读 252评论 1 2