Android学习笔记Day1

本文介绍了Android开发的基础知识,包括四大组件(Activity、Service、BroadcastReceiver、ContentProvider)的功能及其重要性。详细讲解了项目文件结构,如.app目录、.gradle目录和资源调用方法,以及如何在AndroidManifest.xml中注册组件和设置权限。此外,还阐述了build.gradle文件的作用,特别是构建类型和版本配置。最后,提到了日志工具Log的使用,包括不同级别的日志输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘录自
书名:第一行代码——Android(第2版)
作者:郭霖


E:\AndroidProject



0 前瞻

Android的四大组件是Activity(活动)、Service(服务)、Broadcast Receiver(广播接收器)、Content Provider(内容提供器)。

Activity是Android应用程序的门面,凡是在应用中看到的东西,都是放在活动中的。

Service是一直在后台运行,即使用户退出了应用,服务依旧可以运行。

Broadcast Receiver是应用接收来自各处的广播消息,比如电话、短信等,也可以起到向外发送广播消息的作用。

Content Provider是为应用之间提供数据共享功能。


1 Day 01

1.1 文件结构

  • 外层目录

.app

项目的代码、资源等内容几乎都存放在这个目录下的,后面的开发工作也基本在这个目录下进行的

.gradle

包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle提前下载好,而是自动根据本地的缓存情况决定是否需要进行联网下载gradle。Android Studio并未默认开启(Android Studio导航栏->File->Settings->Build,Executing,Deployment->Gradle)

.gitignore

用来将指定的目录或文件排除在版本之外(git)

.gradle.properties

全局的gradle配置文件,这里配置的属性将会影响到项目中所有的gradle编译脚本


  • .app目录

.androidTest

用来编写Android Test测试用例的,可以对项目进行一些自动化测试

.java

存放所用java代码的地方

.res

所有的图片(drawable目录)、布局(layout目录)、字符串(values目录)存放的地方

.AndroidManifest.xml

是整个Android项目的配置文件,程序中定义的四大组件都需要在这个文件里注册,另外还可以在这个文件中给应用程序添加权限声明

.test

用于编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式

.build.gradle

app模块的gradle构建脚本,这个文件中会指定很多项目构建相关的配置


1.2 资源的调用

  • 调用字符串资源方法
  • src\main\res\values\strings.xml
<resources>
    <string name="app_name">My Application</string>
</resources>
<!--这里定义了一个应用名称的字符串-->
R.sring.app_name//在代码中调用
@string/app_name<!--在XML中调用-->

这里string部分是可以替换的,如果是引用图片资源可以替换成为drawable,引用应用图标就可以换成mipmap,布局文件则换成layout

android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplication">

通过以上方法可以修改应用的名称、图标等信息


1.3 build.gradle

  • .app.build.gradle
  • 只对截取部分代码进行注释
android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.example.myapplication"//用于指定项目包名
        minSdkVersion 24//项目最低兼容Android系统版本
        targetSdkVersion 30//你在这个版本进行了充分测试
        versionCode 1//指定项目的版本号,
        versionName "1.0"//指定版本名

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {//用于指定生成安装文件的相关配置,通常包括debug(可以忽略不写)以及release
        release {
            minifyEnabled false//是否对代码进行混淆
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            //proguardFiles用于指定混淆规则文件
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}


1.4 日志工具

  • 日志工具(android.util.Log)

    Log.v()//用于打印最为繁琐、意义最小的日志,对应级别verbose,级别最低
    Log.d()//用于打印调试信息,对应debug级别,比verbose高一级
    Log.i()//用于打印比较重要的数据,可以帮助分析用户行为数据,对应info级别,比debug高一级
    Log.w()//用于打印一些警告信息,提示程序可能存在潜在风险,最好去修复出现警告的地方,对应级别warn,比info高级
    Log.e()//用于打印错误信息,需要尽快修复,对应级别error,比warn高级
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值