栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

咕咕咕的个人学习笔记——Android篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

咕咕咕的个人学习笔记——Android篇

该笔记基于《第一行代码Android》(第三版),代码在Android Studio (Bumblebee 2021.1.1 Patch3)上运行。

安卓App目录下常用内容
名称属性
AndroidTest编写AndroidTest测试用例,可对项目进行自动化测试
Java放置Java/Kotlin代码(自动生成MainActivity)
res资源目录(drawable - 图片;layout - 布局;values - 字符,mipmap - 图标)
AndroidManifest.xml配置文件,可以给程序添加权限声明
test编写Unit Test测试用例
.gitignore用于将app模块内指定的目录或文件排除在版本控制外
build.gradleapp模块的gradle构建脚本,指定多项目构建相关的配置
proguard-rules.pro用于制定项目代码的混淆
日志工具Log(android.util.Log)
名称属性
Log.v()打印最为琐碎,意义最小的日志信息。对应级别verbose, 是Android中级别最低的一种。
Log.d()打印一些调试信息(对调试程序和分析问题有益)。对应级别为debug,高于verbose。
Log.i()打印较为重要的数据(如可以帮助分析用户行为的数据)。对应级别info,高于debug。
Log.w()打印警告信息,提示程序可能会有的潜在风险。对应warn,高于info。
Log.e()打印程序中的错误信息,如程序进入了catch语句。对应级别为error。
class MainActivity: AppCompatActivity(){
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Log.d("MainActivity","onCreate execute")
        //Log.d("tag:用于对打印信息进行过滤","msg:想要打印的内容")
    }
}
变量
关键字含义
val(value)声明不可变的变量
var(varialbe)声明可变的变量

P.S. 优先使用val来声明变量,当val无法满足需求时使用var

函数
//e.g.
fun largerNumber(num1:Int, num2:Int):Int{
    return max(num1,num2)
}


//e.g.
fun largerNumber2(num1:Int,num2:Int,num3:Int): Int = max(max(num1,num2),num3)
条件语句(If,When) If:
//写法1
fun largerNumber(num1:Int, num2:Int):Int{
    var value = 0 
    if (num1 >num2) {
        value = num1
    } else {
        value = num2
    }
    return value
}

//写法2
fun largerNumber(num1:Int, num2:Int):Int{
   val value = if (num1 >num2) {
         num1
    } else {
         num2
    }
    return value
}

//写法3
fun largerNumber(num1:Int, num2:Int):Int{
    return if(num1 > num2) {
        num1
    } else {
        num2
    }
}

//写法4
fun largerNumber(num1:Int, num2:Int) = if (num1>num2){
    num1
} else {
    num2
}

//写法5
fun largerNumber(num1:Int,num2:Int) = if(num1 >num2) num1 else num2
When:
//精确匹配
//带参数
fun getScore(name:String) = when (name) {
    //匹配值 -> {执行逻辑}
    "Tom" -> 86
    "Jim" -> 77
    "Jack" -> 99
    else -> 0
}

//不带参数
fun getScore(name:String) = when {
    name == "Tom" -> 86
    name =="Jim" -> 77
    name =="Jack" -> 99
    else -> 0
}

//以特定内容开头的均为某一值
fun getScore(name:String) = when{
    name.startsWith( "Tom") -> 86
    name =="Jim" -> 77
    name =="Jack" -> 99
    else -> 0
}

//类型匹配
fun getScore(number:Number) {
    when(number) {
        is Int -> println("number is Int")
        is Double -> println("number is double")
        else -> println("not support")
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/880135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号