AI笔记本

2026年以前手搓博客一千多篇。如今 Claw、Cursor、Claude 等 AI Agent 横空出世。只需一句话,AI 就能生成文章、调整格式、润色语言,并一键自动发布。欢迎来到 AI 驱动博客时代 🚀

文章列表

Git

branch 分支管理

branch 分支管理 开发中分支管理是很重要的一件事情,往往需要频繁的切换开发分支。常用的用法如下,简要的记录一下。1、查看分支 查看本地分支查看远程所有分支2、创建分支 创新新的分支从已有的分支创建新的分支(如从master分支),创建一个dev分支。可以用来在本地创建远已有的程分支创建的新分支提交到远程3、切换分支 切换分支命令:4、删除分支删除本地分支 删除远程分支 5、合并分支将指定的分

1.7k
Android

WiFi相关操作

WiFi相关操作前段时间学习了Android中WiFi相关操作,一直没来得及写。乘着过年只能在家待写一写。关于WiFi扫描、WiFi基本信息、WiFi连接等操作。1、所需权限必须在AndroidManifest中申请以下3种权限,缺一不可。缺一个都无法扫描或者得到扫描结果。详细权限需求说明查看官方API。最好再动态监测一下有没有相应的权限,如果没有就动态申请。这里不再累述。2、WifiManage

2.7k 1
AudioManager:音量调节
Android

AudioManager:音量调节

AudioManager顾名思义,音频管理器,是Android中定义的类,方便我们设置手机中的各种音频。如多媒体音量获取和调节、设置铃声等。获取AudioManager实例,调用Context中的方法:AUDIO_SERVICE获取AudioManager对象,该静态变量在Context中的定义如下。Context中还定义很多其它类型参数,这里不再详述。AudioManager类中定义了丰富的AP

1.8k
GridView网格布局
Android

GridView网格布局

网格视图:GridView拥有很多属性,都可以在布局中设置,也可以在代码中设置:代码:setStretchMode(int stretchMode)设置列表项如何拓展填充闲置空间的方式。可以设置下面常量值中的一个:常量值描述none0扩展无效spacingWidth1列与列之间的空间被扩展columnWidth2每一列被相等的拓展spacingWidthUniform3列与列之间的空间被均匀的扩展

1.6k
拖动进度条SeekBar
Android

拖动进度条SeekBar

拖动进度条SeekBar以前用到的ProgressBar都是显示给用户看的,用户不能操作。像视频进度条、音量控制条都是可以给用户操作,根据用户设定的值再操作。Android提供了这样的控件SeekBar。1、布局添加SeekBar的用法很简单,先看布局文件:2、代码设置给SeekBar对象添加一个SeekBar.OnSeekBarChangeListener监听器:效果:还可以通过设置drawab

924
禁止在Activity页面内截图、录屏
Android

禁止在Activity页面内截图、录屏

安全性要求比较高的APP,一般会禁止在某些页面Activity进行截图,诸如农业银行的APP。加上下面的flag即可:在Activity的onCreate()方法给Window加上flag:WindowManager.LayoutParams.FLAG_SECURE尝试截图的时候会提示“由于应用限制,该界面无法截图”,录屏的时候也会提示失败参考博客: 《Android之禁止APP截图、录屏》 An

4.0k
C盘爆了!Sdk下的.temp目录占用了120多GB的空间
分享

C盘爆了!Sdk下的.temp目录占用了120多GB的空间

电脑用时间久了,突然发现我的固态C盘竟然快满了,手动删删减减腾出一些空间还是不够。分析一波,定位到Android/Sdk/目录下的.temp文件夹,竟然超过了120G。一看到是temp目录,那肯定是临时文件缓存之类的。其实 .temp文件夹只存储过去的SDK Manager下载/更新操作,删除即可。腾出宝贵了120G空间。

1.9k
单例的五种方式
Code

单例的五种方式

单例的五种方式单例模式是Java开发中常用的模式。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。之前也在学习设计模式的过程中对单例模式有所了解。有两种创建单例的思想,饿汉模式和懒汉模式。除此之外还有几种优秀高效的单例方法。 “在应用整个生命周期内只能存在一个实例。单例模式是一种被广泛使用的设计模式。他有很多好处,能够避免实例对象的重复创建,减少创建实例的系统开销,节省内存。”1

1.9k 1
Android

Android 获取当前app的版本号和版本名称

apk打包之前根据自己的需要,进行版本号、版本名称设置。android studio 设置是于build.gradle文件的中设置。在Activity中可以直接调用getPackageManager()方法来获取PackageManager对象,这是Context的子类ContextWrapper中的getPackageManager()方法。源码:PackageManager类中的getPack

1.6k
Android

Android ProGuard 代码混淆详解

Android ProGuard 代码混淆详解ProGuard 是 Android 开发中常用的代码混淆工具,它通过检测和移除未使用的类、字段、方法,优化字节码,以及用短名称混淆类名和方法名,使 APK 难以被逆向工程。本文从启用配置到混淆规则编写,全面介绍 ProGuard 的使用方法。1、ProGuard 的作用ProGuard 提供三大核心功能: • 压缩(Shrink):检测并移除未使用的

203
启动Activity的几种方式
Android

启动Activity的几种方式

启动Activity的几种方式启动Activity一般借助Intent,不仅可以启动本应用内的Activity,还可以启动第三方应用的Activity。启动还可以给Intent加上指定的flag,参考Activity启动的Flag。1、Intent显示启动一般启动本应用内的Activity可以使用这种方式,因为知道类名。显示启动也有多种方式,不过变来变去都一样。创建启动Activity用到的Int

2.5k
CoordinatorLayout及高级菜单栏AppBarLayout、CollapsingBarLayout
Android

CoordinatorLayout及高级菜单栏AppBarLayout、CollapsingBarLayout

CoordinatorLayout及高级菜单栏AppBarLayout、CollapsingBarLayout1、协调布局CoordinatorLayout安卓Material Design库中一个比较难的控件就是CoordinatorLayout协调布局。协调布局CoordinatorLayout继承自ViewGroup,类似于RelativeLayout。1.1、协调布局属性协调布局有两个重要

2.4k
Git

git stash 暂存修改

git stash 暂存修改git stash是一个非常好用的git命令,常常用来保存临时的修改,有不想add到提交里去。常用命令有:①执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。或者最简单的,没有备注②查看stash了哪些存储③显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash

2.0k
git中文路径显示乱码
Git

git中文路径显示乱码

git中文路径显示乱码刚开始使用git的时候,在中文路径下面创建工程会发现路径名显示乱码:这是因为中文会被转换为unicode码,不管是路径还是文件只要包含中文都不能正常显示。需要进行配置,输入命令:这样git就不会对中文进行转码,显示正常的中文字符了。

1.8k
Android

Android ViewPager 切换动画详解:PageTransformer 从原理到实战

Android ViewPager 切换动画详解:PageTransformer 从原理到实战ViewPager 默认的页面切换只是"水平平移",朴素到几乎没存在感。想做出"缩放淡化""3D 深度""旋转翻转"这类炫酷效果,靠的就是 PageTransformer——一个只有单个方法的接口,却是 ViewPager 动画的灵魂。本文从 position 参数的数学含义讲起,到两个官方经典实现、再到

222
Android

自定义 RecyclerView 动画:手写 ItemAnimator 实现 Remove 飞出效果

自定义 RecyclerView 动画:手写 ItemAnimator 实现 Remove 飞出效果列表里删一条数据时,我们常常希望它"飞出去"、后面的项平滑上移填补空位——这正是 RecyclerView 的 ItemAnimator 负责的事。但很多人照着写会发现:要么完全没动画,要么被删项飞出时下方 item 瞬间跳上去、和飞出项重叠闪烁。问题不在动画本身,而在于没理解 ItemAnimat

196
Android

Android 状态栏、全屏与沉浸式状态栏详解

Android 状态栏、全屏与沉浸式状态栏详解在 Android UI 里,"状态栏""全屏""沉浸式"常被混为一谈,但它们其实是三件不同的事,API 也分新旧两套。很多同学的沉浸式状态栏"在低版本好好的、高版本突然失效",多半就是没分清概念、又用错了过时 API。本文先把概念辨清,再分别讲全屏、透明状态栏、状态栏配色、WindowInsets、沉浸式模式,最后给出 AndroidX 现代统一方案

177 1
SearchView小巧的搜索控件
Android

SearchView小巧的搜索控件

SearchView小巧的搜索控件应用一个重要的功能是提供搜索,可以自己结合EditText和Button完成一个输入搜索的功能模块。但是不用那么麻烦,Android已经为我们集成好了一个功能强大的空间SearchView,通常和ToolBar一起使用,放在Menu菜单中展示。1、Menu中定义SearchView从设计上来讲,最好一直显示在Toolbar上,showAsAction属性设定为"a

1.9k
Android

Android“包裹”:Bundle

Android“包裹”:BundleBundle是谷歌封装好的“包裹”,官方的定义就是:A mapping from String keys to various Parcelable values。1、Bundle介绍Bundle位于android.os包中,用来携带数据,传递的数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组

1.8k
Android

PendingIntent延迟意图

PendingIntent延迟意图PendingIntent一般用在Notification和桌面小挂件AppWidgetProvider的点击事件发生时传递的Intent意图。这里主要了解一下PendingIntent,至于具体使用场景参考另外两篇详细介绍。1、什么是PendingIntentPendingIntent谷歌官方文档的解释是“A description of an Intent a

1.7k