《Android Studio开发实战》学习(一)- Hello World

  • 背景
  • Android Studio的安装
  • Android Studio的启动和运行
  • 运行小应用Hello World
  • APK文件的生成方法

背景

这段时间在学习Android Studio开发App 1,实践过程中的心得体会在这里记录一下。

Android Studio的安装

Android Studio是基于IntelliJ IDEA的免费Android开发环境 2,它的最新版本(Android Studio Dolphin | 2021.3.1)可以在Google的官网下载,下载地址:Download Android Studio and SDK tools | Android Developers。

下载得到一个tar包的文件android-studio-2021.3.1.17-linux.tar.gz,解压后进入bin目录,然后运行

tar -zxf android-studio-2021.3.1.17-linux.tar.gz
cd android-studio/bin/
./studio.sh

接着就按照弹出的对话框的提示进行下载各个组件,如果某个组件下载失败,可以退出再多运行./studio.sh几次。

也可以输入命令sudo ./studio.sh,这样在后面就可以避免生成apk时因为目录读写权限问题而报错。两个命令最好坚持使用一个,因为生成的AndroidStudioProjects文件夹所在的位置不同。

Android Studio的启动和运行

接着上一步,打开Android Studio,第一次运行会出现欢迎界面。

接下来,点击New Project新建一个项目,出现对话框,选Phone and Tablet面板下的Empty Activity,项目名称写HelloWorld,语言选Java,Minimum SDK选API 16: Android 4.1 (Jelly Bean)(大约100%手机都能运行),然后点Finish即到达其项目界面。

运行小应用Hello World

在Android Stuido项目界面左侧是当前工程的目录结构,包括manifests、java、res三个文件夹,一开始主要用到两个文件,一个是代码文件MainActivity.java,位于java/com.example.myapplication文件夹下;另一个是布局文件activity_main.xml,位于res/layout文件夹下。

MainActivity.java代码如下:

package com.example.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}
}

activity_main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"    <!-- 测试中文输入 -->android:text="你好世界!" app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>

这样生成的app默认在手机上是纵向显示,如果想要横屏显示,则需要编辑manifests/AndroidManifest.xml文件,在<activity>标签中加一个属性android:screenOrientation="landscape" 3

manifests/AndroidManifest.xml全部代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><applicationandroid:allowBackup="true"android:dataExtractionRules="@xml/data_extraction_rules"android:fullBackupContent="@xml/backup_rules"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.HelloWorld"tools:targetApi="31"><activityandroid:name=".MainActivity"android:exported="true"android:screenOrientation="landscape"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter><meta-dataandroid:name="android.app.lib_name"android:value="" /></activity></application>
</manifest>

然后需要准备Android手机一个,Android Studio自带的手机模拟器不推荐使用,因为通常半小时都不会有反应,而且最终还是要到真机上模拟,所以最好用Android Studio生成apk文件,然后传输到手机上安装运行。

APK文件的生成方法

从菜单栏中选择Build - Generate Signed Bundle / APK,这时候对话框询问选Android APP Bundle还是APK,选APK。下一步需要一个APK签名文件,如果没有可以新建一个,记录好密码(包括别名和密码)和该文件存放的路径,填入对话框中。

APK签名的窗口页面点击Next,Build Variants调试的话选debug,发布选release,点击Finish。查看AndroidStudioProjectsapp文件夹,就会发现在其中多个一个debug文件夹,其中生成了app-debug.apk

然后把这个apk文件传输到手机,安装运行。运行结果如下:

这样,Hello World App就制作成功了。


  1. 欧阳燊. Android Studio开发实战. 清华大学出版社. 2017 ↩︎

  2. 陈甫,Android Studio应用. 电脑知识与技术,2014. ↩︎

  3. android studio如何设置横屏画面 ↩︎

《Android Studio开发实战》学习(一)- Hello World相关推荐

  1. 《Android Studio开发实战》学习(五) - 截图

    <Android Studio开发实战>学习(五) - 截图 背景 页面布局 布局文件的编写 代码文件的编写 ImageView控件截图的原理 运行结果 背景 在这里继续学习Android ...

  2. 《Android Studio开发实战》学习(二)- 聊天室

    <Android Studio开发实战>学习(二)- 聊天室 背景 聊天室布局文件的编写 聊天室代码文件的编写 运行结果 背景 在前一篇文章 1中实现了使用Android Studio开发 ...

  3. 《Android Studio开发实战》学习(三)- 展示图片

    <Android Studio开发实战>学习(三)- 展示图片 背景 问题描述 将图片添加到Android Studio资源中 图像视图ImageView的使用 关闭APP中标题的显示 图 ...

  4. 《Android Studio开发实战》学习(六)- 下拉框

    <Android Studio开发实战>学习(六)- 下拉框 背景 下拉框Spinner的使用 数组适配器ArrayAdapter的使用 简单适配器SimpleAdapter的使用 布局文 ...

  5. 《Android Studio开发实战 从零基础到App上线(第2版)》出版后记

    2015年11月23日,鄙人在csdn发表了第一篇技术文章,掐指一算距今已有三年.遥想当年开写博客,只是为了总结经验同时分享出来,后来机缘巧合受到出版社编辑邀请并出了书,完全是无心插柳的结果.当初写作 ...

  6. 《Android Studio开发实战 从零基础到App上线(第2版)》资源下载和内容勘误

    资源下载 下面是<Android Studio开发实战 从零基础到App上线(第2版)>一书用到的工具和代码资源: 1.本书使用的Android Studio版本为3.2,最新的安装包可前 ...

  7. 新书推荐:《Android Studio开发实战:从零基础到App上线》终章

    <Android Studio开发实战:从零基础到App上线>是一部Android开发的实战教程,由浅入深.由基础到高级,带领读者一步一步走进App开发的神奇世界. 全书共分为16章.其中 ...

  8. 《Android Studio开发实战 从零基础到App上线(第3版)》资源下载和内容勘误

    资源下载 下面是<Android Studio开发实战 从零基础到App上线(第3版)>一书用到的工具和代码资源: 1.本书使用的Android Studio版本为Android Stud ...

  9. 《Android Studio开发实战 从零基础到App上线》本书内容问题答疑

    1.关于学习本书之前是否需要Java基础 问题:看安卓开发教程书需要很扎实的java基础吗? 回答:本书的零基础指的是安卓零基础,不是Java零基础,所以看本书之前需要一定的Java基础,基本的变量声 ...

最新文章

  1. 一种混合加密方案在软件授权中的应用
  2. php 安装curl init,linux下为php添加curl扩展的方法及curl_init函数用法案例详解
  3. 剑指Offer_14_链表中倒数第k个结点
  4. dojo gridx修改表头
  5. php解决链接 amp,php处理替换链接参数
  6. SAP Engagement Center的一段代码审查记录
  7. Spring中Bean的生命中期与InitializingBean和DisposableBean接口
  8. 往对象数组里面添加相同的key 不同的value
  9. doremi服务器可以导出文件,Doremi服务器检查与IMB 的通信-放映技术论坛
  10. 制表符空格数设置(阿里巴巴使用4个空格)
  11. ecshop 订单-》订单状态 2
  12. 用python画渐变的圆_python画环形图的方法
  13. hibernate一对多自关联的记录(以树形菜单为例)
  14. 组成原理说明------地址对齐
  15. qtdesigner设计表格_Qt Designer下的一些基础操作
  16. dnf怎么显示连接服务器失败怎么回事,登录DNF显示连接不到服务器怎么办 服务器连接失败解决方法...
  17. SpringBoot--访问静态页面
  18. NET 里序列化可概念。
  19. 学习难度最高的五大编程语言,Java排第3,Python竟然都不能上榜
  20. 【思维·状压】 jzoj1434灌水(COCI2009) 纪中集训提高B组

热门文章

  1. 武汉大学甘菲课题组和南昌大学徐振江课题组联合招聘启事
  2. LeetCode——1104. 二叉树寻路(Path In Zigzag Labelled Binary Tree)[中等]——分析及代码(Java)
  3. (java)水果类(增删改查)
  4. 计算机专业英语谐音读法,英语48个音标中文谐音读法大全
  5. 深耕核心技术·赋能数字化转型 ——大快搜索黑科技亮相2019(第四届)大数据产业生态大会,斩获多项大奖...
  6. Baked Light Light Maps and Probes——srp中使用lightprobe和light probe proxy volume(简称LPPV)
  7. 买外链要多少钱?外链要去哪里买?
  8. 【Qt】 Fractal Designer 5.1 - Help(中文版)
  9. [人物]一个预言家的命运:忽悠了马云的“骗子”,风口上的先知
  10. 帝国cms php序号,帝国cms输出数字排序序号的列表