首页 > 其他分享 >Kotlin-大师班 第二章-随笔

Kotlin-大师班 第二章-随笔

时间:2023-08-19 21:12:53浏览次数:39  
标签:第二章 OnClickListener Kotlin MainActivity Activity 屏幕 随笔 加载

1.

AppCompatActicity.onCreate() 每次 Activity 创建时调用。

Activity 对应一个屏幕,如果你的应用程序中有多个屏幕,如登录屏幕、客人资料等,所有这些都是不同的 Activity。

 可以理解为 Activity 对等于 屏幕。

2. 

setContentView 设置 View 的内容。

R 代表 Resources

3.

sp :独立于屏幕大小或屏幕像素数,总是看起来一样大小,在不同大小屏幕上。

4. 

design 模式中的 "Infer Constraints",新加的组件没有位置constraints,可以用它来推测。更简洁的方式是

 5. 

按钮点击计数,java中, setOnClickListener(new OnClickListener(){ }) onClick() 中可以访问外部的计数变量,因为 new OnClickListener() 是一个内部类,内部类可以访问外部类成员变量,所以把 cnt 声明成 final,让它变成在类中定义,此时内部类可以访问到。

这里的问题是:

OnClickListener() 逻辑上不是定义在 View 里的吗?虽然这段代码确实是在 MainActivity.onCreate() 里面写的,但这也算 OnClickListener() 是 MainActivity 的内部类?这就牵涉到了类加载的问题,类具体是如何加载的,MainActivity 具体是如何加载的,还待确认。

6.

 

标签:第二章,OnClickListener,Kotlin,MainActivity,Activity,屏幕,随笔,加载
From: https://www.cnblogs.com/roxasx/p/17642542.html

相关文章

  • 《408操作系统 》复习笔记 ② 第二章 进程与线程
    进程的概念、组成、特征程序是静态的,存放在磁盘里的可执行文件,就是一系列的指令集合进程(Process)是动态的,是程序的一次执行过程。同一个程序多次执行会对应多个进程操作系统如何区分各个进程当进程被创建时,操作系统为该进程分配一个唯一的、不重复的PIDPCB操作系统要记......
  • 随笔-调试-获取__libc_fatal退出原因
    https://github.com/lattera/glibc/blob/master/sysdeps/posix/libc_fatal.c:......
  • 安卓kotlin的继续
    https://developer.android.google.cn/jetpack/compose/tutorial?hl=zh-cn#animate-messages-while-expandinghttps://gitee.com/createmaker/my_android_empty_compose_act1这几天请假办理个人事情,真想赶紧能找个合适的合伙人一起创业!......
  • (随笔)java的几种不同类的介绍和说明
    在Java中,有几种不同类型的类可以用于实现类的嵌套和封装。下面是四种常见的类类型:外部类(OuterClass):外部类是最基本的类类型,它独立存在并且不依赖于其他类。外部类可以包含成员变量、方法和其他内部类。外部类不能直接访问内部类的成员,但可以通过创建内部类对象来访问。静态......
  • 暑假集训随笔4 强连通分量与点双、边双连通分量
    强连通分量一个在有向图中的概念\(强连通的定义是:有向图G强连通是指,G中任意两个结点连通。\)\(强连通分量(StronglyConnectedComponents,SCC)的定义是:极大的强连通子图\)tarjan算法的一些理解注意到如果一些点属于一个强连通分量,那么从其中一个点一定可以“走到”所有的点,......
  • (随笔)静态代理和动态代理
    静态代理:在编译阶段就已经确定代理类和真实对象的关系。代理类需要手动编写或生成,为每个真实对象单独创建一个代理类。在代理类中可以添加额外的逻辑,如校验、日志等,增强功能。维护需对代理类和真实对象的修改,增加代码维护成本。在代理类和真实对象之间存在静态关联。动态......
  • cmake随笔
    cmakecmake命令使用##配置projectcmake[<options>]<path-to-source>`常用选项:-S<path-to-source>:指定源文件根目录-B<path-to-build>:指定构建文件目录-G<generator-name>:指定生成器。具体支持哪些生成器可用-DCMAKE_BUILD_TYPE=Debug:配置debug版-DCMAKE_BUI......
  • (随笔)龟兔赛跑(多线程调用同一资源时一个线程结束时其他线程保持运行)
    问题:当其一线程结束运行后其他线程保持运行而非结束现象:控制台会输出两次thewinneris:xxx代码如下packagecom.demo01;/***TODO模拟归途赛跑**@authorpangyangjian*@since2023/8/1616:10*/publicclassTextThread_5implementsRunnable{ @Override......
  • (随笔)e.printStackTrace()和throw new RuntimeException(e)区别
    e.printStackTrace()和thrownewRuntimeException(e)都是处理异常的方式,但它们有一些区别。e.printStackTrace():这是一个用于打印异常信息的方法。它将异常的完整堆栈跟踪输出到标准错误流(通常是控制台)。它将输出异常的类型、出现异常的位置以及其他相关的异常信息。e.print......
  • 形象谈JVM-第二章-认识编译器
    我在上一章《形象谈JVM-第一章-认识JVM》提到的“翻译”,其实就是我们今天所说的“编译”的概念。上一章原文链接:https://www.cnblogs.com/xingxiangtan/p/17617654.html原文:【虚拟机的职责是将字节码翻译成对应系统能够识别并执行的机器码,比如在linux系统,java文件被javac编译......