信步漫谈之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");
    }

}

后续补充

  • 物理设备上运行

参考资料

《Android》项目目录结构解读

posted @ 2024-08-01 10:51  临渊启明  阅读(15)  评论(0编辑  收藏  举报