Android
文章平均质量分 71
故、梦
这个作者很懒,什么都没留下…
展开
-
Android 反编译入门(基于 Mac)
反编译就是将可执行程序转换为某种形式的高级编程语言的过程。原创 2022-11-30 20:02:07 · 1311 阅读 · 1 评论 -
Android Studio 新版本 Logcat 的使用
最近,Android Studio 自动更新了自带的 Logcat 工具,整体外观和使用方法变得和之前完全不同了。一开始我以为是自己按到什么不该按的按钮,把 Logcat 弄坏了,后来才知道是版本更新导致的。新版本的 Logcat 用命令来过滤信息,且不同的日志级别带有不同的颜色显示,比老版本的更好用了。本博客将简单介绍新版本 Logcat 的用法。原创 2022-11-01 22:00:38 · 10132 阅读 · 0 评论 -
在 Android Studio 中运行 Java 代码
如果直接在 App 中运行,效率极低,在 Android Studio 中新建一个 Java 文件并运行又会报错,打开一个新的 Idea 又非常吃内存。那么我们究竟该如何在 Android Studio 中运行纯 Java 代码呢?需要修改 .idea 文件夹下的 gradle.xml 文件,在 GradleProjectSettings 标签下加入如下代码。直接在 Android Studio 中运行 Java 方法会报错如下错误。原创 2022-11-01 09:20:24 · 1685 阅读 · 0 评论 -
Handler 源码解析
Handler用于异步消息的处理,是Android面试中的常客。这篇博客用于详细说明Handler源码解析。原创 2022-08-01 23:27:02 · 617 阅读 · 1 评论 -
延迟初始化和密封类
延迟初始化背景Kotlin 提供了变量不可空特性来抑制空指针问题。这个特性在保证程序安全的同时,也给我们带来了编码上的一些问题。案例:试想一下,你的程序中有一个全局变量 a ,变量 a 创建之初并没有初始化,所以你令它等于 null。假设 a 的类型为 String,因为要保证 a 非空,所以它的类型被声明为 String?private var a: String? = null接下来,每次需要调用 a 中的方法,都要进行判空处理(即使它早已被初始化),否则无法进行编译!当代码中有越来越原创 2022-05-31 13:34:09 · 111 阅读 · 0 评论 -
RecycleView的基本使用
前言为了解决 ListView 存在的拓展性差、需要手动优化性能等问题,Android 提供了滚动组件 RecycleView。本篇博客用于梳理 RecycleView 的使用方法。RecycleView 的优点RecycleView 仅会处理当前现实在屏幕上的项。假如列表中有 1000个元素,而页面只显示其中 10 个,那么 RecycleView 仅处理这 10 个项当某个项滚出屏幕时,RecycleView 会回收其视图。这个项被回收,用于填充新进入屏幕的内容。当某一项发生变化时,仅重新绘原创 2022-05-18 15:27:55 · 2435 阅读 · 0 评论 -
随时随地退出 Android 程序
随时随地退出 Android 程序假设这么一个场景,你打开了某 APP 的多个页面。此时,你想关闭这个程序,你按返回键,结果只返回到上一个打开的页面 (Activity) 中。你需要不停的按返回键,直到返回栈为空,才能退出程序。有时候,我们需要在某个页面按返回键就能直接退出程序,那么可以按以下方式实现。实现方法1. 单例类 ActivityManager创建一个单例类 ActivityManager。该类用于管理 Activity 实例,所以在整个环境中只能存在一份实例。object Ac原创 2022-05-07 22:32:28 · 260 阅读 · 0 评论 -
Activity 生命周期
Activity 生命周期Activity 类中定义了 7 个回调方法,来对应 Activity 生命周期的每一个环节。方法名对应生命周期onCreate()在 Activity 第一次被创建时调用,可以在这个方法中完成 Activity 的初始化操作。(加载布局,绑定事件等)onStart()由不可见变为可见时调用onResume()Activity 准备好与用户交互时调用,此时 Activity 位于栈顶onPause()在启用或恢复另一个 Activi原创 2022-05-10 10:52:01 · 97 阅读 · 0 评论 -
判断当前在哪一个 Activity中
判断当前在哪一个 Activity中当需求发生变化时,UI 界面通常都会发生一定的变更。当我们接手的是别人的代码时,我们需要根据需要修改的页面快速定位到对应的 Activity中。判断当前页面对应哪一个 Activity 可以用以下两种方式实现。BaseActivity 实现首先,新建一个 Kotlin 类,名字叫 BaseActivity 。「是 Kotlin class 不是 Activity,只是名字叫 Activity,因为不对应任何布局」open class BaseActivity原创 2022-05-07 21:58:22 · 718 阅读 · 0 评论 -
startActivityForResult 替代方案
startActivityForResult 替代方案startActivityForResult() 方法用于返回数据给上一个 Activity。但这个方法已经被废弃了很久,现在 Google 使用 registerForActivityResult() 方法来实现此功能。registerForActivityResult() 实现使用 registerForActivityResult() 写法,实现 SecondActivity 返回数据给 FirstActivityFirstActiv原创 2022-05-06 15:49:47 · 5998 阅读 · 4 评论 -
在Activity中使用ViewBinding
文章目录前言一、ViewBinding是什么?二、使用步骤1.新建一个ViewBindingTest项目2.配置Build.gradle文件3.在Activity中使用ViewBingding4.部分页面不启用ViewBinding前言随着kotlin-android-extensions 插件的废弃,我们不再被推荐使用id号的方式去访问组件。但是Google官方推荐我们使用ViewBinding的方式来实现类似的功能,本文简单记录一下ViewBinding在Activity中的使用步骤,以便将来查阅原创 2021-08-31 11:45:10 · 1754 阅读 · 0 评论 -
2021-07-14 Android adb获取启动时间
文章目录前言adb命令获取1.获取时间的adb命令2.如何找到包名和需要的Activity3.参数详解4.adb不是内部或外部命令,也不是可运行程序或批处理文件总结前言应用的启动速度是评价应用好坏的一个重要指标。因此,我们应尽可能的减少应用的启动时间。在Android启动优化中,我们首先需要获得各个Activity的启动时间,然后再对不符合时间要求的Activity进行性能优化。本文简要介绍了获取Activity启动时间的方法提示:以下是本篇文章正文内容,下面案例可供参考adb命令获取adb全原创 2021-07-14 12:07:04 · 1898 阅读 · 1 评论 -
BottomNavigation
文章目录前言一、创建一个Menu二、实现界面切换2.读入数据总结前言BottomNavigation可以在Android中简单实现底部导航栏功能。本文对实现BottomNavigation的核心步骤进行了简要的记录提示:以下是本篇文章正文内容,下面案例可供参考一、创建一个Menu在Java Resourse中创建一个Menu往里面拖入menuItem,并为其配置图在activity_main.xml中拖入一个ButtomNavigationView,选中刚才创建的menu,原创 2021-06-01 11:06:16 · 234 阅读 · 1 评论