branch 分支管理
branch 分支管理 开发中分支管理是很重要的一件事情,往往需要频繁的切换开发分支。常用的用法如下,简要的记录一下。1、查看分支 查看本地分支查看远程所有分支2、创建分支 创新新的分支从已有的分支创建新的分支(如从master分支),创建一个dev分支。可以用来在本地创建远已有的程分支创建的新分支提交到远程3、切换分支 切换分支命令:4、删除分支删除本地分支 删除远程分支 5、合并分支将指定的分
2026年以前手搓博客一千多篇。如今 Claw、Cursor、Claude 等 AI Agent 横空出世。只需一句话,AI 就能生成文章、调整格式、润色语言,并一键自动发布。欢迎来到 AI 驱动博客时代 🚀
branch 分支管理 开发中分支管理是很重要的一件事情,往往需要频繁的切换开发分支。常用的用法如下,简要的记录一下。1、查看分支 查看本地分支查看远程所有分支2、创建分支 创新新的分支从已有的分支创建新的分支(如从master分支),创建一个dev分支。可以用来在本地创建远已有的程分支创建的新分支提交到远程3、切换分支 切换分支命令:4、删除分支删除本地分支 删除远程分支 5、合并分支将指定的分

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

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

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

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

电脑用时间久了,突然发现我的固态C盘竟然快满了,手动删删减减腾出一些空间还是不够。分析一波,定位到Android/Sdk/目录下的.temp文件夹,竟然超过了120G。一看到是temp目录,那肯定是临时文件缓存之类的。其实 .temp文件夹只存储过去的SDK Manager下载/更新操作,删除即可。腾出宝贵了120G空间。
apk打包之前根据自己的需要,进行版本号、版本名称设置。android studio 设置是于build.gradle文件的中设置。在Activity中可以直接调用getPackageManager()方法来获取PackageManager对象,这是Context的子类ContextWrapper中的getPackageManager()方法。源码:PackageManager类中的getPack
Android ProGuard 代码混淆详解ProGuard 是 Android 开发中常用的代码混淆工具,它通过检测和移除未使用的类、字段、方法,优化字节码,以及用短名称混淆类名和方法名,使 APK 难以被逆向工程。本文从启用配置到混淆规则编写,全面介绍 ProGuard 的使用方法。1、ProGuard 的作用ProGuard 提供三大核心功能: • 压缩(Shrink):检测并移除未使用的

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

CoordinatorLayout及高级菜单栏AppBarLayout、CollapsingBarLayout1、协调布局CoordinatorLayout安卓Material Design库中一个比较难的控件就是CoordinatorLayout协调布局。协调布局CoordinatorLayout继承自ViewGroup,类似于RelativeLayout。1.1、协调布局属性协调布局有两个重要
git stash 暂存修改git stash是一个非常好用的git命令,常常用来保存临时的修改,有不想add到提交里去。常用命令有:①执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。或者最简单的,没有备注②查看stash了哪些存储③显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash

git中文路径显示乱码刚开始使用git的时候,在中文路径下面创建工程会发现路径名显示乱码:这是因为中文会被转换为unicode码,不管是路径还是文件只要包含中文都不能正常显示。需要进行配置,输入命令:这样git就不会对中文进行转码,显示正常的中文字符了。
Android ViewPager 切换动画详解:PageTransformer 从原理到实战ViewPager 默认的页面切换只是"水平平移",朴素到几乎没存在感。想做出"缩放淡化""3D 深度""旋转翻转"这类炫酷效果,靠的就是 PageTransformer——一个只有单个方法的接口,却是 ViewPager 动画的灵魂。本文从 position 参数的数学含义讲起,到两个官方经典实现、再到
自定义 RecyclerView 动画:手写 ItemAnimator 实现 Remove 飞出效果列表里删一条数据时,我们常常希望它"飞出去"、后面的项平滑上移填补空位——这正是 RecyclerView 的 ItemAnimator 负责的事。但很多人照着写会发现:要么完全没动画,要么被删项飞出时下方 item 瞬间跳上去、和飞出项重叠闪烁。问题不在动画本身,而在于没理解 ItemAnimat
Android 状态栏、全屏与沉浸式状态栏详解在 Android UI 里,"状态栏""全屏""沉浸式"常被混为一谈,但它们其实是三件不同的事,API 也分新旧两套。很多同学的沉浸式状态栏"在低版本好好的、高版本突然失效",多半就是没分清概念、又用错了过时 API。本文先把概念辨清,再分别讲全屏、透明状态栏、状态栏配色、WindowInsets、沉浸式模式,最后给出 AndroidX 现代统一方案

SearchView小巧的搜索控件应用一个重要的功能是提供搜索,可以自己结合EditText和Button完成一个输入搜索的功能模块。但是不用那么麻烦,Android已经为我们集成好了一个功能强大的空间SearchView,通常和ToolBar一起使用,放在Menu菜单中展示。1、Menu中定义SearchView从设计上来讲,最好一直显示在Toolbar上,showAsAction属性设定为"a
Android“包裹”:BundleBundle是谷歌封装好的“包裹”,官方的定义就是:A mapping from String keys to various Parcelable values。1、Bundle介绍Bundle位于android.os包中,用来携带数据,传递的数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组
PendingIntent延迟意图PendingIntent一般用在Notification和桌面小挂件AppWidgetProvider的点击事件发生时传递的Intent意图。这里主要了解一下PendingIntent,至于具体使用场景参考另外两篇详细介绍。1、什么是PendingIntentPendingIntent谷歌官方文档的解释是“A description of an Intent a