Android官方开发文档Training系列课程中文版:构建第一款安卓应用之工程创建

这节课你将会学到:
- 使用Android Studio创建一个工程。
- 使用命令行工具创建一个工程。

你也应该阅读:
- 安装SDK
- 管理工程


安卓项目包含了包括源代码在内的所有文件。Android SDK工具使我们很轻松的创建一个包含一系列默认目录和文件的的安卓工程。

这堂课展示了如何通过Android Studio或者使用SDK命令行工具创建一个新工程。

你应该确保安装了SDK,如果你使用Android Studio的话,你也应该去安装Android Studio,如果你还没有完成这些,请完成。


使用Android Studio创建工程

  1. 在Android Studio中,创建一个新工程:

    • 如果你还没有打开工程,在Welcome屏幕中,点击New Project.
    • 如果你打开了一个工程,在File菜单上选择New Project.
      这里写图片描述
  2. 在配置你的新工程界面中,像上图一样填入你的信息,然后点击Next。

    • Application Name 是应用的名称,在这里,使用“My First App”。
    • Compay domain 提供了限定符,稍后它会出现在包名中。
    • Package name 是工程的全标识符名称。你的包名必须在安卓系统中是唯一的。
    • Project location 是你的工程项目文件存储目录。
  3. 接下来选择应用将要运行的形式平台,这里选择 Phone and Tablet。

  4. 对于Minimum SDK,选择API 8: Android 2.2 (Froyo).
    Minimum Required SDK 是指你的应用所支持的最低版本。为了尽可能的支持更多的设备,你应该在你应用所允许的范围之内将这个值设置到最低。如果任何可能不是核心功能的特性只允许在新的安卓版本上运行,你可以选择只在支持的设备上运行。
  5. 不选择其它选项(TV, Wear, and Glass),然后点击Next。
  6. 接下来关于 Add an activity to < template >,这里选择Blank Activity,然后点击Next。
  7. 接下来Choose options for your new file中,选择Activity Name 为 MyActivity. The Layout Name更换为activity_my,Title设置为MyActivity. The Menu Resource Name设为menu_my.
  8. 点击Finish按钮完成工程的创建。

现在你的安卓工程包含了一些基于“Hello World”应用的默认文件。稍后我们复习一下这些最重要的东西:

app/src/main/res/layout/activity_my.xml
这个XML是Activity的布局文件,在创建工程的过程中,AS提供了包含TextView的布局文件,和UI的屏幕预览。这个文件包含了一些默认的设置和一个TextView元素用来展示”Hello World”消息。


app/src/main/java/com.mycompany.myfirstapp/MyActivity.java
当在工程创建模板完成创建的时候,这个文件便会出现。当你构建并且运行APP时,Activity类便会启动一个Activity并且加载布局文件,然后显示一个 “Hello World!”。


app/src/main/AndroidManifest.xml
manifest file文件描述了应用的最基本特性,并定义了每一个组件,你在接来下将会重复范文这个文件,然后添加更多的组件到这里。


app/build.gradle
Android Studio使用Gradle去编译并且构建你的App,你工程的每一个组件都会有这个文件,整个工程也会有这么一个文件。通常情况下,你应该只对组件下对的gradle文件有兴趣。这里包括了用用的构建依赖信息,包括一些defaultConfig设置:
- compiledSdkVersion 表示你应用编译依靠的编译平台版本。默认情况下,这里设置的是你SDK中最新的版本。
- applicationId 是在你新建工程过程中指定的用于标示你程序的标识符的全称。
- minSdkVersion 标示应用的最低支持版本
- targetSdkVersion 标示对于应用测试过的最高支持版本,如果有新版本可用了,你应该在最新的版本上进行测试,并且更新这个值到最新的版本。
- 通过Building Your Project with Gradle了解更多Gradle的相关支持。


注意一下工程目录中/res文件夹下的子文件夹的相关资源:
drawable< density >/ 图像文件夹(比如位图)为应付各种密度而设计,比如中等密度(mdpi)和高密度(hdpi) 屏幕,其它图像文件夹包含了其它屏幕密度的图像资源。在这里你会找到在你启动默认APP时候的启动图片ic_launcher.png.
layout/ 该文件夹为应用的用户布局文件夹,就像activity_my.xml,刚才在上面已经讨论过了,它描述了MyActivity 类的最基本布局。
menu/ 该文件夹定义了应用的菜单配置
该文件夹是其它类型资源文件夹,它包含了一系列的资源,比如字符串和颜色属性。string.xml文件定义了你启动默认APP时候的”Hello World!”。

我们会在下节讨论如何运行APP。

使用命令行工具创建工程

如果你没有使用IDE AS,你可以使用SDK 工具中的命令行来创建项目:
1. 更换目录到安卓SDK sdk/ 路径下。
2. 执行:

tools/android list targets
这时会列出你下载的可用的安卓平台版本,找到你想编译的平台版本,我们推荐尽可能选择最高的版本,你仍然可以构建你的APP去支持老版本,但是如何设置了最新的版本,那么最好使用含有最新版本系统的设备。
如果你没有看到任何的列表列出来,你应该使用Android SDK Manager 工具来下载安装。

3 . 执行以下命令:

android create project --target <target-id> --name MyFirstApp \
--path <path-to-workspace>/MyFirstApp --activity MyActivity \
--package com.example.myfirstapp

用刚刚你选择的目标编译平台替换< target-id >属性,使用你想保存工程目录的位置替换 < path-to-workspace >。

Tip: 添加 platform-tools/ 和 tools/ 目录到你的环境变量PATH中去。

现在你的安卓工程已经创建好了,它包含基于”Hello World!”应用的一些默认的文件,关于如何运行程序,请看下一节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1051. 高度检查器

文章目录1. 题目2. 解题1. 题目 学校在拍年度纪念照时&#xff0c;一般要求学生按照 非递减 的高度顺序排列。 请你返回至少有多少个学生没有站在正确位置数量。该人数指的是&#xff1a;能让所有学生以 非递减 高度排列的必要移动人数。 示例&#xff1a;输入&#xff1a;[…

论文浅尝 | 基于动态记忆的原型网络进行元学习以实现少样本事件探测

本文转载自公众号&#xff1a;浙大KG。 论文题目&#xff1a;Meta-Learning with Dynamic-Memory-Based Prototypical Network for Few-Shot Event Detection本文作者&#xff1a;邓淑敏&#xff0c;浙江大学在读博士&#xff0c;研究方向为低资源条件下知识图谱自动化构建关键…

字节跳动破局联邦学习:开源Fedlearner框架,广告投放增效209%

本文介绍了字节跳动联邦学习技术团队自研的联邦学习平台 Fedlearner &#xff0c;分享了该平台的技术实现与落地应用体验&#xff0c;向读者展示了字节跳动如何联邦学习落地难题的突破点。作为分布式的机器学习范式&#xff0c;联邦学习能够有效解决数据孤岛问题&#xff0c;让…

软硬兼施极限轻量BERT!能比ALBERT再轻13倍?!

文 | Sheryc_王苏这个世界上有两种极具难度的工程&#xff1a;第一种是把很平常的东西做到最大&#xff0c;例如把语言模型扩大成能够写诗写文写代码的GPT-3&#xff1b;而另一种恰恰相反&#xff0c;是把很平常的东西做到最小。对于NLPer来说&#xff0c;这种“小工程”最迫在…

论文浅尝 | 基于事理图谱的脚本事件预测

论文笔记整理&#xff1a;邱圣广&#xff0c;南京大学硕士&#xff0c;研究方向为自然语言处理。链接&#xff1a;https://www.ijcai.org/proceedings/2018/0584.pdf绪论1. 脚本事件预测脚本事件预测这个任务最早是由Chambers andJurafsky于2008年提出来的&#xff0c;要求给定…

美团集群调度系统HULK技术演进

本文根据美团基础架构部/弹性策略团队负责人涂扬在2019 QCon&#xff08;全球软件开发大会&#xff09;上的演讲内容整理而成。本文涉及Kubernetes集群管理技术&#xff0c;美团相关的技术实践可参考此前发布的《美团点评Kubernetes集群管理实践》。 一、背景 HULK是美团的容器…

LeetCode 1079. 活字印刷(全排列回溯)

文章目录1. 题目2. 解题类似题目 78 子集、 90 子集 II1. 题目 你有一套活字字模 tiles&#xff0c;其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。 示例 1&#xff1a;输入&#xff1a;"AAB" 输出&#xff1a;8 解释&#xff1a;…

EdgeBERT:极限压缩,比ALBERT再轻13倍!树莓派上跑BERT的日子要来了?

文 | Sheryc_王苏本文首发于NLP宝藏公号【夕小瑶的卖萌屋】&#xff0c;疯狂暗示&#xff01;这个世界上有两种极具难度的工程&#xff1a;第一种是把很平常的东西做到最大&#xff0c;例如把语言模型扩大成能够写诗写文写代码的GPT-3&#xff1b;而另一种恰恰相反&#xff0c;…

论文浅尝 | 用于开放领域的问题生成

作者 | 黄焱晖单位 | 东南大学硕士研究方向 | 自然语言处理&#xff0c;知识图谱Learning to AskQuestions in Open-domain Conversational Systems with Typed Decoders动机本文的问题生成用于开放领域的问题生成&#xff0c;与传统的问题生成不同的是&#xff0c;在开放领域对…

Android官方开发文档Training系列课程中文版:构建第一款安卓应用之创建用户界面

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/firstapp/building-ui.html 在这节课中&#xff0c;你会创建一个xml的布局文件&#xff0c;它包含一个Text成员和一个Button成员。在下节课中&#xff0c;你会学习到当Button按下后启动并发送Text成员的内容…

字节码增强技术探索

1.字节码 1.1 什么是字节码&#xff1f; Java之所以可以“一次编译&#xff0c;到处运行”&#xff0c;一是因为JVM针对各种操作系统、平台都进行了定制&#xff0c;二是因为无论在什么平台&#xff0c;都可以编译生成固定格式的字节码&#xff08;.class文件&#xff09;供JVM…

LeetCode 1137. 第 N 个泰波那契数

文章目录1. 题目2. 解题1. 题目 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c;请返回第 n 个泰波那契数 Tn 的值。 示例 1&#xff1a;输入&#xff1a;n 4 输出&#xff1a;4 解释&#…

Calibration: 一个工业价值极大,学术界却鲜有研究的问题!

文 | kid丶(知乎作者)编 | 夕小瑶尽管深度学习给工业界带来了一波上线春天&#xff0c;但是总有很多比较难的业务&#xff0c;模型反复迭代后准确率依然达不到预期的产品标准&#xff0c;难以满足用户期望。以下为工业界常见讨&#xff08;si&#xff09;论&#xff08;b&#…

肖仰华 | 大规模、高质量的金融知识图谱,如何自动化构建?

本文转载自公众号&#xff1a;恒生技术之眼。◆本文根据2019恒生技术开放日肖仰华教授演讲整理◆肖仰华&#xff1a;复旦大学教授、博士生导师&#xff0c;复旦大学知识工场实验室创始人。知识图谱&#xff08;Knowledge Graph, KG&#xff09;本质上是一种大规模语义网络&…

Android官方开发文档Training系列课程中文版:构建第一款安卓应用之启动另一个Activity

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/firstapp/starting-activity.html#CreateActivity 在完成了上一节课之后&#xff0c;你有了一个带有输入框和按钮的单屏幕Activity。在这节课中&#xff0c;你将会在MyActivity中添加一些代码&#xff0c;以…

美团点评Kubernetes集群管理实践

背景 作为国内领先的生活服务平台&#xff0c;美团点评很多业务都具有非常显著、规律的”高峰“和”低谷“特征。尤其遇到节假日或促销活动&#xff0c;流量还会在短时间内出现爆发式的增长。这对集群中心的资源弹性和可用性有非常高的要求&#xff0c;同时也会使系统在支撑业务…

论文浅尝 | 基于知识图谱 Embedding 的问答

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为知识图谱问答。来源&#xff1a;WSDM 2019链接&#xff1a;https://dl.acm.org/citation.cfm?doid3289600.3290956目前知识图谱问答&#xff08;本文简写为QA-KG&#xff0c;question answeri…

NeurIPS 2020 | 没有乘法的神经网络,照样起飞?

文&#xff1a;苏剑林编&#xff1a;兔子酱单位&#xff1a;追一科技今天给大家介绍一篇1962年的论文《Computer Multiplication and Division Using Binary Logarithms》[1]&#xff0c;作者是John N. Mitchell&#xff0c;他在里边提出了一个相当有意思的算法&#xff1a;在二…

LeetCode 1160. 拼写单词

文章目录1. 题目2. 解题1. 题目 给你一份『词汇表』&#xff08;字符串数组&#xff09; words 和一张『字母表』&#xff08;字符串&#xff09; chars。 假如你可以用 chars 中的『字母』&#xff08;字符&#xff09;拼写出 words 中的某个『单词』&#xff08;字符串&…

MTFlexbox自动化埋点探索

1. 背景 跨平台动态化技术是目前移动互联网领域的重点关注方向&#xff0c;它既能节约人力&#xff0c;又能实现业务快速上线的需求。经过十年的发展&#xff0c;美团App已经变成了一个承载众多业务的超级平台&#xff0c;众多的业务方对业务形态的快速迭代和更新提出了越来越高…