avatar
文章
97
标签
33
分类
13
首页
归档
标签
分类
友链
关于
Fleming's Blog
搜索
首页
归档
标签
分类
友链
关于

Fleming's Blog

监听网络连接状态
发表于2021-02-08|Code
监听网络连接状态 通过注册网络回调 (NetworkCallback),可以动态监控 Wi-Fi 的连接状态。 1234567891011121314151617181920val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManagerval networkCallback = object : ConnectivityManager.NetworkCallback() { override fun onAvailable(network: Network) { val networkCapabilities = connectivityManager.getNetworkCapabilities(network) if (networkCapabilities?.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) == true) ...
加载fragment
发表于2021-02-08|Code
加载fragment1234567891011121314151617181920212223242526272829/** * 加载fragment */fun FragmentActivity.loadFragment(id: Int, from: Fragment?, to: Fragment?) { supportFragmentManager.let { manager -> manager.beginTransaction().run { if (from != to) { val fromFragment = manager.findFragmentByTag(from?.javaClass?.simpleName) fromFragment?.let { hide(it) } val toFragment = manager.findFragmentByTag(to?....
分区镜像刷写规则
发表于2020-12-01|经验
分区镜像刷写规则在 Android 开发或系统定制中,修改了哪些代码/模块,就需要刷写对应的镜像分区。这是因为 Android 系统被划分为多个逻辑/物理分区(如 boot、system、vendor、super 等),每个分区承载不同层级的组件。 下面从 代码改动类型 → 对应需要刷写的镜像 进行详细说明: 🧩 一、Android 分区结构简要回顾(Android 10+ 动态分区) 分区 内容 是否可单独刷写(传统) 在动态分区中 boot 内核(kernel) + ramdisk(init、fstab 等) ✅ 是 ✅ 仍独立 system AOSP 核心框架、系统 App(Settings、SystemUI)、Java/Kotlin 代码 ✅(旧)❌(新,合并进 super) 合并到 super vendor 芯片厂商闭源驱动、HAL 实现、专有库(如 camera HAL、audio HAL) ✅(旧)❌(新) 合并到 super product OEM 定制 App、配置(如 Google Pixel 的额外服务...
MD5加密算法
发表于2020-11-07|Code
MD5加密算法1234567891011import java.security.MessageDigestfun String.toMD5(): String { return MessageDigest.getInstance("MD5") .digest(toByteArray()) .joinToString("") { "%02x".format(it) }}fun main() { println("14233241".toMD5()) // 输出50c0bc627c5e86ea78d824682c10e783}
Android系统架构
发表于2020-05-26|系统
Android系统架构在Android系统架构中,每一层都由多个模块组成,每个模块都有其特定的功能。以下是各层具体模块及其功能的详细介绍: 应用层(Applications) 包含用户直接交互的应用程序,如电话、短信、浏览器、联系人等。 第三方应用程序也是这一层的一部分,使用Java或Kotlin编写。 应用框架层(Application Framework) Activity Manager:管理应用生命周期和常见导航回退功能。 Window Manager:管理所有的窗口程序,提供多屏支持、通知栏信息等功能。 Content Providers:允许应用程序之间访问彼此的数据,例如读取联系人数据。 View System:构建应用程序的基本组件,包括列表、网格、文本框、按钮等UI元素。 Notification Manager:使所有应用可以在状态栏中显示自定义提醒。 Package Manager:负责管理应用程序包相关的操作,比如安装、卸载应用等。 Telephony Manager:提供对设备通话状态的管理和控制。 系统运行库层(Libraries + Androi...
Android系统编译
发表于2020-05-26|系统
Android系统编译编译 Android 系统(AOSP - Android Open Source Project)是一个复杂但结构化的过程,涉及多个步骤和工具。以下是 在 Linux 环境下 编译 AOSP 的基本指令流程,适用于官方支持的设备或通用系统镜像(如 aosp_arm64-eng)。 🧰 一、准备工作1. 安装依赖环境(Ubuntu 20.04/22.04 推荐)1234sudo apt updatesudo apt install git-core gnupg flex bison build-essential zip curl zlib1g-dev \ gcc-multilib g++-multilib libc6-dev-i386 libncurses5 libxml2-utils xsltproc \ unzip fontconfig python3 python3-pip repo repo 是 Google 提供的一个管理多个 Git 仓库的工具。 📁 二、初始化代码库1. 创建工作目录并进入1mkdir ~/aosp ...
Edittext点击外部区域隐藏软件盘
发表于2020-02-27|Code
Edittext点击外部区域隐藏软件盘12345678910111213binding.root.setOnTouchListener { _, event -> if (event.action == MotionEvent.ACTION_DOWN) { val focusedView: View? = activity?.currentFocus if (focusedView is EditText) { // 如果当前焦点在EditText上,并且点击位置不在EditText范围内,隐藏键盘 if (event.x < focusedView.getLeft() || event.x > focusedView.getRight() || event.y < focusedView.getTop() || event.y > focusedView.getBottom()) { ...
Windows常用指令
发表于2020-02-25|扩展
Windows常用指令 关机 12shutdown -s -t 0shutdown -p 重启 1shutdown -r -t 0 休眠 1shutdown -h 截图 Win+Shift+S
如何查看win电脑的WIFI密码
发表于2020-02-08|扩展
如何查看win电脑的WIFI密码12netsh wlan show profilesnetsh wlan show profiles "hansong-office" key=clear 也可用以下指令,直接得出结果 1for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear
关于EventBus
发表于2020-02-08|经验
关于EventBus12EventBus.getDefault().register(this)EventBus.getDefault().unregister(this) @Subscribe 订阅者方法ThreadMode 决定了订阅者的行为处理在主线程还是子线程,也是就耗时操作尽量开辟子线程,避免ANR等等,一般默认就行 发布者 在主线程发送事件 在子线程发送事件 main 主线程 主线程 posting 主线程 子线程 async 新开一个子线程 新开一个子线程 background 新开一个子线程 子线程 12345678910111213141516171819202122232425262728@Subscribe(threadMode = ThreadMode.MAIN) public void MessageEventBus(EventBusMessage eventBusMessage){ //在TextView显示接收的消息,从这个类里拿属性. tv_title.setText(eventBusMessag...
1…456…10
avatar
Fleming Chen
不积跬步无以至千里,不积小流无以成江海。——《荀子·劝学》
文章
97
标签
33
分类
13
Follow Me
公告
欢迎来到我的博客,有任何疑问可以随时联系我交流讨论!
最新文章
音频流处理过程
音频流处理过程2026-01-16
AOIP和VOIP
AOIP和VOIP2026-01-06
AudioFlinger的基本概念
AudioFlinger的基本概念2025-08-28
音频领域基本概念
音频领域基本概念2025-08-20
Unicast、Multicast、Broadcast的含义及关系
Unicast、Multicast、Broadcast的含义及关系2025-08-19
分类
  • ADB9
  • Code18
  • Flutter1
  • Git10
  • Grep1
  • Linux3
  • Repo2
  • Unity 3D1
标签
Markdown 架构 unity adb 学习路线 Android Studio 日常 系统广播 git UI 缓存 AlertDialog Dialog Handler LruCache BroadcastReceiver 音频 MVP SQLite flutter 数据库 经验 AsyncTask Message EditText 系统 IDE 扩展 开发工具 代码 linux Android 自学
归档
  • 一月 2026 2
  • 八月 2025 3
  • 七月 2025 5
  • 六月 2025 1
  • 四月 2025 2
  • 十一月 2024 1
  • 七月 2024 2
  • 二月 2024 3
网站信息
文章数目 :
97
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2016 - 2026 By Fleming Chen框架 Hexo 6.1.0|主题 Butterfly 5.5.4
搜索
数据加载中