《第一行代码》笔记

第一章:开始启程,你的第一行 Android 代码

Android-Manifest.xml 文件

表示 MainActivity 为项目的主 Activity

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

资源文件

<resources>
    <string name="app_name">HelloWorld</string>
</resources>
  • 在代码中通过 R.string.app_name 可以获得该字符串的引用
  • 在代码中通过 @string/app_name 可以获得该字符串的引用

如 Android-Manifest.xml 中的

android:roundIcon="@mipmap/ic_launcher_round"

日志工具

Android 中使用的日志工具类是 Log(android.util.Log)

  • Log.v() 最低级繁琐的日志,对应 verbose
  • Log.d() 打印调试信息,对应 debug
  • Log.i() 打印比较重要的数据,对应 info
  • Log.w() 打印警告信息,对应 warn
  • Log.e() 打印错误信息,对应 error

第二章:探究新语言,快速入门 Kotlin 编程

变量

  • val(value)用来声明不可变的变量
  • var(variable)用来声明可变变量

显示声明变量类型

val a:Int=10

函数

fun largeNumber(num1:Int,num2:Int):Int{
    return max(num1,num2)
}

语法糖

1. 当一个函数只有一行代码时可以不编写函数体,将代码写在尾部,用等号连接

fun largeNumber(num1:Int,num2:Int):Int= max(num1,num2)

2. 同时可以不用显式声明返回值类型

fun largeNumber(num1:Int,num2:Int)= max(num1,num2)

if 语句

kotlin 中的 if 语句具有返回值

fun largeNumber(num1:Int,num2:Int):Int{
    return if(num1>num2){
        num1
    }else{
        num2
    }
}

再次压缩

fun largeNumber(num1:Int,num2:Int)=if (num1>num2) num1 else num2

when 语句

when 语句具有返回值,允许传入任意类型的参数,并在结构体中定义条件

匹配值 -> {执行逻辑}

当执行逻辑只有一行代码时括号可以省略

同时 when 语句允许进行数据类型匹配

fun checkNumber(num:Number){
    when(num){
        is Int -> println("number is Int")
        is Double -> println("number is Double")
        else -> println("number not support")
    }
}

when 语句也有不带参数的用法

fun getScore(name:String)=when{
    name.startsWith("Tom") -> 86
    name=="Jim" -> 77
    else -> 0
}

for 循环