信步漫谈之Android——HelloWorld
目标
- 学习搭建 Android 的开发环境
- say hello world
1 资源
官网教程:https://developer.android.com/courses
开发工具 Android Studio 下载路径:https://developer.android.com/studio
2 第一个 Hello World 程序
- 创建:打开 Android Studio,New Project -> Phone and Tablet -> Empty Activity,默认即是创建 HelloWorld 程序。
- 创建模拟器:Tools -> Device Manager,打开设备管理器(在工具栏也可直接点击打开),Create Device -> Phone -> Nexus 5X -> Next,选择 Download 所有推荐的镜像(Recommended),下一步选择完成。(注意镜像很大,磁盘空间要够,此外,最好用固态硬盘存储镜像,否则运行模拟器很慢)
- 启停模拟器:在模拟器创建完成后,可在 Device Manager 界面,选择模拟器点击右侧启动图标启动,在下方模拟器(Emulator)窗口,则可查看到启动情况,如要关闭模拟器,则在关闭该设备在模拟器窗口的选项卡即可。
- 加载 HelloWorld 程序:右上角,选择运行程序和运行模拟器名称,点击启动,即可在模拟器中查看到运行效果。
3 项目结构说明
3.1 目录结构
app
∟ libs
∟ proguard-rules.pro
∟ src
∟ androidTest
∟ java
∟ com
∟ alfred
∟ android
∟ helloworld
∟ ExampleInstrumentedTest.java
∟ main
∟ AndroidManifest.xml
∟ java
∟ com
∟ alfred
∟ android
∟ helloworld
∟ MainActivity.java
∟ res
∟ drawable
∟ ic_launcher_background.xml
∟ drawable-v24
∟ ic_launcher_foreground.xml
∟ layout
∟ activity_main.xml
∟ mipmap-anydpi-v26
∟ ic_launcher.xml
∟ ic_launcher_round.xml
∟ mipmap-hdpi
∟ ic_launcher.webp
∟ ic_launcher_round.webp
∟ mipmap-mdpi
∟ ic_launcher.webp
∟ ic_launcher_round.webp
∟ mipmap-xhdpi
∟ ic_launcher.webp
∟ ic_launcher_round.webp
∟ mipmap-xxhdpi
∟ ic_launcher.webp
∟ ic_launcher_round.webp
∟ mipmap-xxxhdpi
∟ ic_launcher.webp
∟ ic_launcher_round.webp
∟ values
∟ colors.xml
∟ strings.xml
∟ themes.xml
∟ values-night
∟ themes.xml
∟ test
∟ java
∟ com
∟ alfred
∟ android
∟ helloworld
∟ ExampleUnitTest.java
3.2 结构说明
-
libs
放一些 jar 包,比如你接入第三方平台的话,例如微信分享、支付、QQ登陆等等,那么你可能需要把他们提供的 jar 包放在该目录下,或者参照第三方平台提供的 demo,让你放在哪,就放在哪。 -
src
这个文件夹就是存放各种资源了,包括代码资源、图片资源等等。 -
src/androidTest
单元测试的代码。 -
src/main
最主要的文件夹,存储源代码。 -
src/main/res/drawable
存放自定义的背景xml文件,用来设置视图的背景。注意,我这种说法是实际开发中就这么做的,当然,你也可以把图片放里面,不是不可以。 -
src/main/res/layout
存放布局 xml 文件,包括 Activity 的布局文件,自定义 View 的布局文件等等。 -
src/main/res/mipmap-*
存放不同尺寸的 APP 的启动图标。 -
src/main/res/values
存放颜色、单位、自定义属性、样式等 xml 文件。 -
src/main/res/AndroidManifest.xml
每一个 Activity 都需要在这个文件里面注册,还可以设置默认启动的 Activity,设置权限等等。 -
src/test
单元测试代码。 -
proguard-rules.pro
混淆文件。我们防止别人通过安装包获取到源代码,所以通过此文件对代码进行混淆,从而破坏代码的阅读性。可以指定部分包下面的代码混淆,或者指定部分文件混淆;也可以指定部分文件不混淆,任由你配置。
4 在 App 中添加日志
- 写法:Log.d("MainActivity", "Hello World");
- 说明:Log 是日志函数,d 是 DEBUG,同理,打印 INFO 级别为 i,ERROR 级别为 e,WARN 级别为 w。
输出的日志可以 IDE 下方的 Run 或 Logcat 中查看。 - 注意点:Logcat 前方的设备下拉框中可能显示的是之前断开连接的设备(即使是同名设备,前一次断开连接的也会保留),所以想要查看最新日志,需要选择当前正在运行的设备。
package com.alfred.android.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("MainActivity", "My Hello World");
}
}
后续补充
- 物理设备上运行