01 2022 档案
摘要:在平时的工作中,docker 接触得很多,除了经常使用的 docker run ,docker stop等命令,docker 还有很多十分有用但是却不经常使用的命令,下面就来总结一下: 1. docker top 这个命令是用来查看一个容器里面的进程信息的,比如你想查看一个 nginx 容器里面有几
阅读全文
摘要:记得去年我在往MySQL存入emoji表情😲😳时,一直出错,无法导入。后来找到办法 -- 通过把 utf8 改成 utf8mb4 就可以了,并没有深究。 一年后,我看到一篇文章讲到emoji文字占4个字节,通常要用utf-8去接收才行,其他编码可能会出错。我突然想到去年操作MySQL把utf8改
阅读全文
摘要:前言 在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能。Android的App版本号相关内容比iOS的App版本号内容要多,而且iOS版的App版本信息跟Android的还不一样。本篇文章就来介绍一下Android开发中
阅读全文
摘要:前言 SharedPreferences是谷歌提供的轻量级存储方案,使用起来比较方便,可以直接进行数据存储,不必另起线程。 不过也带来很多问题,尤其是由SP引起的ANR问题,非常常见。 正因如此,后来也出现了一些SP的替代解决方案,比如MMKV。 本文主要包括以下内容 1.SharedPrefere
阅读全文
摘要:1. 项目背景 最近参加了Compose挑战赛的终极挑战,使用Compose完成了一个天气app。之前几轮挑战也都有参与,每次都学到不少新东西。如今迎来最终挑战,希望能将这段时间的积累活学活用,做出更加成熟的作品。 项目挑战 因为没有美工协助,所以我考虑通过代码实现app中的所有UI元素例如各种ic
阅读全文
摘要:故事的开始 今天老大急冲冲的跑过来说:xx,你帮我看看这手机咋回事,突然开不了机。 我心想:我最近也没提过代码,应该不是我的问题吧。(甩锅~.~) 把电脑插上手机后,我看到下面这段报错一直在loop 12-31 16:08:49.603 21899 21899 E AndroidRuntime: *
阅读全文
摘要:前言 关于拦截异常,想必大家都知道可以通过Thread.setDefaultUncaughtExceptionHandler来拦截App中发生的异常,然后再进行处理。 于是,我有了一个不成熟的想法。。。 让我的APP永不崩溃 既然我们可以拦截崩溃,那我们直接把APP中所有的异常拦截了,不杀死程序。这
阅读全文
摘要:今天分享一个以前实现的通讯录字母导航控件,下面自定义一个类似通讯录的字母导航 View,可以知道需要自定义的几个要素,如绘制字母指示器、绘制文字、触摸监听、坐标计算等,自定义完成之后能够达到的功能如下: 完成列表数据与字母之间的相互联动; 支持布局文件属性配置; 在布局文件中能够配置相关属性,如字母
阅读全文
摘要:老规矩,先上图,看看是不是你想要的,美团效果: 最终效果: 来一个图形分析 接下来我要写一个简单示例,先分析一下布局,见下图,最外层是NestedScrollView,之后嵌套一个LinearLayout头部,中间TabLayout选择器,底部一个ViewPager ViewPager高度需要动态控
阅读全文
摘要:老规矩,先上图,看看是不是你想要的,美团效果: 最终效果: 来一个图形分析 接下来我要写一个简单示例,先分析一下布局,见下图,最外层是NestedScrollView,之后嵌套一个LinearLayout头部,中间TabLayout选择器,底部一个ViewPager ViewPager高度需要动态控
阅读全文
摘要:欢迎使用 Jetpack DataStore,这是一个经过改进的全新数据存储解决方案,旨在替代原有的 SharedPreferences。Jetpack DataStore 基于 Kotlin 协程和 Flow 开发,并提供两种不同的实现: Proto DataStore 和 Preferences
阅读全文
摘要:导语 接到了一个仿电影院的需求,上周几乎是找遍了百度,谷歌,stackoverflow。均没有找到用flutter实现的效果,那只能自己写一个了。本文只讲思路,具体实现还需各位看官自己动手。只要看懂了下面的思路,实现起来非常简单。 直接上效果图 竖屏: 横屏: 初始化自适应屏幕的放大缩小效果: 布局
阅读全文
摘要:为了充分利用Android Plugin for Gradle 3.0+的优点,将Android项目拆分成多个module的做法越来越常见。然而,随着module数量的增多,我们很快就会遇到依赖管理的混乱问题。 管理Gradle依赖的三种不同方法: 手动管理 使用Google推荐的“ext” Kot
阅读全文
摘要:前言 Android的绘制优化其实可以分为两个部分,即布局(UI)优化和卡顿优化,而布局优化的核心问题就是要解决因布局渲染性能不佳而导致应用卡顿的问题,所以它可以认为是卡顿优化的一个子集。 本文主要包括以下内容: 1.为什么要进行布局优化及android绘制,布局加载原理。 2.获取布局文件加载耗时
阅读全文
摘要:我们都知道Activity可作为LifecycleOwner为LiveData的使用提供条件,那么Activity是如何实现LifecycleOwner的呢? Activity虽然实现了LifecycleOwner接口,但是并没有实现相关处理,而是通过添加一个Fragment来代理Lifecycle
阅读全文
摘要:1、前言 本文将会通过具体的业务场景,由浅入深的引出Kotlin的一个bug,并告知大家这个bug的神奇之处,接着会带领大家去查找bug出现的原因,最后去规避这个bug。 2、bug复现 现实开发中,我们经常会有将Json字符串反序列化为一个对象问题,这里,我们用Gson来写一段反序列代码,如下:
阅读全文