自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (1)
  • 收藏
  • 关注

原创 PS 常用但并不简单的操作

PS常用但又不简单的操作

2023-01-15 21:49:38 358

原创 Android常用库收集

安卓常用库,方便快速实现功能

2023-01-13 22:05:30 194

原创 安卓应用的安全和破解资源合集

安卓应用的安全和破解https://crifan.github.io/android_app_security_crack/website/逆向工具清单https://www.jianshu.com/p/8e58be15b704jadxhttps://github.com/skylot/jadx

2022-05-11 10:15:15 3839

原创 git常用操作备忘录

一、四个工作区域Workspace: 工作区,就是你平时存放项目代码的地方Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换备注:工作区时写好的代码经过“git add .” 后,即会进入暂存区。二、工

2022-03-30 14:36:26 606

转载 REST接口规范与RPC接口规范

来自:知乎,作者:程墨Morgan链接:https://www.zhihu.com/question/336797348记录一个有意思的问题,各种说法都有道理。 对于自己以后工作中碰到这种问题的讨论,最好的处理方法是:安静的走开,比如找个理由说要上个厕所,千万不要输出自己的观点,更不要对别人的观点进行争论。最近在逛知乎的时候发现一个有趣的问题:《公司规定所有接口都用 post 请求,这是为什么?》看到这个问题的时候其实我也挺有感触的,因为我也曾经这样问过我自己。在上上一家公司的时候接到一个项目是从

2022-02-22 14:21:50 1515

原创 安卓源码查看工具

https://cs.android.com/android/platform/superproject?hl=zh-cnhttp://aospxref.com/国内早期的安卓爱好者整理的网址,遗憾的是目前只收藏到 Android 10 的源码https://www.androidos.net.cn/sourcecode

2022-01-04 10:28:12 2004

原创 Linux which命令

安卓开发一个常用的工具就是adb,在android sdk中自带了一个adb,它的路径是 platform-tools/adb ,而我们电脑经常会装一些其它的通过adb实现的第三方工具,例如 scrcpy ,这时会导致adb可执行文件存在两份实例。当重复启动 adb 时会报错提示:端口被占用。这时我们可能删除一个 adb 环境变量,让系统只保留一份 adb程序。 那么删除哪一个呢,可以通过 which 命令来查看当前 adb 的路径。 参考链接 https://www.runoob.com/lin

2021-12-29 11:16:56 616

原创 安卓logcat输出到文件中

再好的记性,时间长了,总会忘掉的,只是时间长短的关系。这里记录一下安卓系统将logcat的内容保存到pc端本地文件的方法。 尤其在团队协助中可能频繁用到,其它同事负责的模块在你这里调用,问题的日志只会打印在你的Android Studio。在pc终端中执行以下命令,开始将安卓logcat保存到1.log文件中,文件位于终端cd所处于的目录下adb logcat > 1.log若要停止输出到1.log中,按Ctrl+C...

2021-11-19 15:44:55 7305

原创 安装系统相关的软件和网址

1、制作U盘启动镜像的工具软件:U启动官方网址 http://uqidong.njshengyuanli.com/网页打开后截图如下:2、下载操作系统镜像的网址https://next.itellyou.cn/网页登录后的截图如下:

2021-11-08 15:16:51 2058

原创 Android Studio/IntelliJ 重复导入@Nullable/@NonNull 的解决办法

问题描述        自从更新Android Studio 4.2.2版本出现的这个问题,使用AS自动填充代码后发现重复导入了@Nullable,如下图:        而Nullable这个注解又被多家大厂自行定义,如下图修复方法步骤:第一步:按顺序依次打开 Android Studio -> Settings -> Ed

2021-09-13 19:47:40 639

原创 Animator动画引起的内存泄漏分析

一、Animator 相关的问题Animator 是做什么的? 有哪些实现类?Animator 的核心实现原理?Animator 为何会引起内存泄漏?如何避免 Animator 引起的内存泄漏?二、回答问题1、Animator 是做什么的? 有哪些实现类?Animator 是安卓动画框架的基类,这个基类抽象出与动画功能相关的通用方法,如start()、end()、cancel()、pause()、resume()、addXXXListener() 等核心通用方法,但因为它是抽象基类,所以

2021-07-21 20:57:28 1643 1

原创 Android Studio常用快捷键自定义

因开发环境变动而使用 ubuntu 系统来开发安卓应用,之前一直是使用 mac 系统的,刚切换过来时会有很多快捷键使用不习惯,这里给大家推荐一些快捷键的修改。这篇博客用于一点点积累各种快捷键的解决方法,持续更新中。让光标在前后浏览的位置切换步骤:Settign->Keymap->Main menu->Navigate,Back表示跳到上一次光标位置处,Forward表示跳到下一次光标位置(前提是你已经跳到之前的位置了,这样后续位置才有意义)。 在这两项上面双击鼠标左键或单击右键删除原

2021-07-12 11:58:42 645

原创 layout_constraintWidth_percent in java

在xml里写的layout_constraintWidth_percent=“0.4”app:layout_constraintWidth_default="percent"app:layout_constraintWidth_percent="0.4"在java中可以这样写mConstraintLayout = (ConstraintLayout) findViewById(R.id.myconstraint_layout)ConstraintSet set = new Constraint

2020-10-20 10:58:58 4772

原创 安卓ImageView镜像翻转

android:scaleX = -1 可用来 水平镜像翻转android:scaleY = -1 可用来 垂直镜像翻转

2020-10-17 13:26:20 5638 6

原创 ConstraintLayout跟随吸附效果

一、需要的效果如下图,当前中间的 TextView 内容太长时,不允许把右边的 性别图标 挤的不见了。二、解决方法重点: app:layout_constrainedWidth=“true”<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/andro

2020-10-15 18:05:01 616

原创 alpha小数与16进制数值映射表

在客户端开发时,有些设计师的设计工具提供的alpha是[0.0 , 1.0] 的小数, 而安卓 、iOS的编程语言使用的是16进制,这时通常是自己用 计算器 转换一下。转换方法 如下:例如 alpha = 0.5,则 0.5*255 = 127.5, 16进制里没有小数,四舍五入后为 128,注意是 10进制 里的128,转成 16进制就是 80;注意 alpha 是表示 【不透明度】,可以直观理解为【理解的比重】,比重为0表示 无颜色、即完全透明;比重为1表示 完全填充、即完全不透明。百分比对

2020-10-15 10:32:38 1671

原创 安卓播放透明视频、Alpha视频

适用于安卓开发 的直播间全屏礼物、弹屏广告等场景。源视频 左侧一半为 彩色信息,右侧一增为黑白视频 用于 替换左侧的透明试,白表示 alpha=1,黑表示 alpha=0.另外,代码里 支持左右的切换,也就是说 你可以让 彩色部分位于右边,黑白部分位于左边。项目的所有源码在这里https://github.com/meikaiss/giftvideoplayer源视频文件播放时的效果图如下:处理后的播放效果如下,播放效果 是具有 透明度的...

2020-09-21 14:05:07 1842 1

原创 程序猿的ps技能

技能一:导出PhotoShop的切片步骤:1、选择切片工具2、windows用户在 图片上 点击 鼠标右键, mac用户在 图片上 双指按压触摸板, 选择"划分切片"3、设置划分切换的标准, 看一下界面应该很好理解4、菜单-》文件-》导出-》存储为web所用格式(旧版) , 在弹出框中点击 右下角的【存储】5、弹出框中输入 导出图片的 文件名前缀,例如这里填写 abc, 那么输出的所有图片都会放在 images 文件夹下,图片文件名以abc开头,以_01、_02…来区分。6、切片导出

2020-09-01 09:45:03 136

原创 面试不慌Handler

一、Handler的重要性handler作为高级安卓面试必问问题之一,其重要性不言而喻。 它对上层应用开发的影响无处不在, 例如 handler内存泄漏、线程通信、消息循环模式、数据库操作应该放在哪个线程、handler.handleMessage能否执行耗时任务、屏幕触摸事件分发机制、Animator动画机制、Activity启动流程… …跟handler有关的东西无处不在,但凡是安卓java层的东西几乎都能跟handler扯上一点关系。全面的理解Handler需要涉及到android系统的许

2020-07-16 19:53:38 386

原创 okhttp3宏观介绍及基础回顾

一、简介1.1 okhttp是什么?     okhttp是由美国square [square是什么] 公司开发的,用于安卓和java应用程序的 HTTP+HTTP/2的客户端。1.2 最新的版本     目前最新版本为 okhttp3,可以从这个链接获取最新版本的okhttp3的版本号及maven构件地址: https://mvnrepository.com/artifact/com.squareup.okh

2020-05-23 17:39:11 1063

原创 Android 应用崩溃后重启的机制

一、出现的场景  在开发过程中,想必你也一定遇到过这样的问题,当我们的应用发生Crash时异常退出,然后又自动启动跳转到未知页面,此时应用在崩溃前保存的全局变量被重置,用户状态丢失,显示数据错乱。更让我们头疼的是,这种崩溃后重启的情况,并不是每次都会遇到,那么究竟是因为什么呢?  经测试,在 Android 的 API 21 ( Android 5.0 ) 以下,Crash 会直接退出应用,但...

2019-12-13 15:23:47 1495 1

原创 android emoji吏上最全的详解

emoji基本介绍用unicode表示emojiunicode 与utf-8、utf-16的关系分享两个分析emoji的工具unicode编码表查询: https://unicode-table.com/en/#1F600 点击快速访问此链接提取字符串中的所有unicode字符并去重: https://apps.timwhitlock.info/unicode/inspect...

2019-11-12 23:58:01 9568

原创 Android canvas save restore saveLayer的异同点

一、canvas常用绘制方法:文本canvas.drawText填充drawARGB(int a, int r, int g, int b)drawColor(int color)drawRGB(int r, int g, int b)drawColor(int color, PorterDuff.Mode mode)几何图形canvas.drawArc (扇形)canvas...

2019-11-08 10:00:44 401

原创 mac捕获android任意应用的view视图

一、uiautomatorviewer 介绍   iautomatorviewer是android SDK自带的一个元素定位工具。通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。该工具位于SDK目录下的tools\bin子目录下。二、效果图下...

2019-11-07 09:56:41 465

原创 android 6.0的DozeMode低功耗模式 及 引起的进程保活问题

一、问题的来源 由于Android的开放特性,加上国内app开发者的觉悟普遍不高的情况下,越来越多的app开始利用安卓的系统特性甚至可以称为漏洞,故意让app退出后仍然占用大量的硬件资源。 越来越多的应用会在后台运行时“假死”,即不进入真正的Sleep,而是不断在后台轮询搜集用户行为或者保持某些长链接来保障数据的实时性。而Android系统自身并未出台对应的策略来约束或者限制...

2019-11-06 09:59:24 3670 3

原创 Android危险权限的动态申请,6.0和8.0的区别

Android6.0系统运行时权限Android 6.0版本(Api 23)将权限分为普通权限和危险权限,危险权限需要在使用时让用户手动允许。对于普通权限,只需要在manifest.xml文件中声明,即可以代码中直接使用。对于危险,不仅仅需要在manifest.xml文件中声明,还需要在java代码调用requestPermissions来动态申请。注意如果不在manifest中声明,而是...

2019-10-28 12:08:46 1135

原创 Android Studio任意位置折叠代码

         在Android Studio中 方法块、import区、{ }大括号块 都会自动 代码折叠的 +号按钮, 这有利用开发者只关注核心逻辑,提高效率。         但有时我希望其它区也能使用 折叠功能,比如 ButterKnife的BindView区的 自动绑定view的代码对...

2019-10-16 11:55:12 959

原创 分享一种自适应宽度的布局(右侧定宽,左侧自适应宽度,同时左右紧邻)

布局规则如标题所述:右侧定宽,左侧自适应宽度,同时左右紧邻。具体描述:左边一个TextView,右边有另一个View,但希望当左边的TextView宽度太小时, 两个view能整体居左;当左边TextView宽度太大时,希望左边textView能充分利用横向的空间,但不会将右边的view完全挤到没空间。 分享这种自适应宽度的布局, 因为我自己在开发过程中经常碰到,但是过几天就会忘记。...

2019-09-06 14:13:49 507

原创 谈谈函数返回值为什么不能重载

一、函数的定义: 函数将有效的输入值变换为唯一的输出值,同一输入总是对应同一输出。 计算机本质是对抽象数学公式的具体实现,并以此具体实现来解决现实生活中的实际问题。注:wiki百科对 “函数” 的定义如图,图比较大,请点击打开详情,左右拖动查看 全部内容。二、悖论 反过来设想一下,如果返回值的类型 能用来 重载,那么对于相同的输入值,程序怎么决定...

2019-01-13 20:10:46 1636 1

原创 java线程池ThreadPoolExecutor及四大常用线程池

一、线程池的作用 有时候,系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新线程的话,系统就要不断的进行线程的创建和销毁,有时花在创建和销毁线程上的时间会比线程真正执行的时间还长。而且当线程数量太多时,系统不一定能受得了。 使用线程池主要为了解决一下几个问题: a.通过重用线程池中的线程,来减少每个线程创建和销毁的性...

2019-01-04 18:58:46 672

原创 面向对象设计七大原则

一、开闭原则(Open Close Principle)开放封闭原则主要体现在对扩展开放、对修改封闭,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。软件需求总是变化的,世界上没有一个软件的是不变的,因此对软件设计人员来说,必须在不需要对原有系统进行修改的情况下,实现灵活的系统扩展。总结:面对需求,对程序的改动是通过增加新代码进行的,而不是改变原来的代码。二、依赖倒置原则(...

2019-01-04 18:10:54 387 1

原创 安卓8.0通知栏适配

一、谷歌为什么在安卓8.0对通知栏进行修改        系统通知栏作为除桌面启动图标之外的唯一入口,对app的日活起到非常重要的作用,因此各个app开发商都希望能抢占用户的通知栏。随着移动端的普及和安卓手机存储容量的扩大,用户手机能安装的app数量越来越多,一台手机安装几十到上百个app已经不足为奇,各个app都极尽可能的抢占通知栏,而安卓系统本身又没有一种规范来约束app开发商的这种行为,...

2018-09-09 20:50:07 1075

原创 查看apk安装包的miniSdkVersion、targetSdkVersion

       在安卓2.0时代,apk的 mini、targetSDkVersion 的代码 都是 写在 AndroidManifest.xml 文件里, 并且也存在于生成的apk的AndroidManifest.xml里。  但近期通过apktool d *.apk后,发现解包后的 AndroidManifest.xml 里并没有存储 mini、targetSdkVersion。      ...

2018-09-07 10:46:42 11428

原创 安卓8.0桌面图标适配

一、现状及问题         在安卓8.0之前的版本中,原生安装系统 在应用安装到手机后,显示在桌面上的图标只有一种方式来决定, 即在manifest.xml的Application节点中设置 icon标签的属性,这个任何安卓开发者都应该清楚。           上面我们说是在原生安卓系统中的表现,那么在国内就不一定是这样。 拿小米手机来举例,MiUI 8.2 对应 Android 6....

2018-08-19 12:11:37 3636

原创 安卓APP的存储目录+ FileProvider,总结持久化数据的技巧

        安卓存储目录分为 内部存储 和 外部存储。 内部存储的目录为  /data/ 目录,  其中 内部存储 在未root的手机上是无法查看的。        要了解APP的存储目录结构,我们先从 app开始安装时谈起。一、apk在安装时,涉及到目录        在系统开始安装一个apk时,系统会先将apk文件复制到  data/app/ 目录下,再解析apk信息,然后dex...

2018-08-18 19:53:52 11792

原创 android 加载外部 dex文件中的类 的源码实例

在一篇文章中,我们讨论了 安卓类加载机制分析 的理论知识, 这篇文章用一篇具体的实例来演示 插件化功能的 雏形。类加载机制 是 研究插件化 和 热修复 的基础。加载外部 dex文件中的类,我们在这部分主要做的流程有:1.编写基本的Java文件并编译为.class文件。 2.将.class文件转为.dex文件。 3.将转好的dex文件放入创建好的Android工程内并在启动时将...

2018-08-03 11:38:02 1706 1

原创 安卓类加载机制分析

谈安卓类加载之前,我们先来了解一下java的类加载机制.1、什么是类加载器类加载器是一个用来加载类文件的类。Java源代码通过javac编译器编译成类文件。然后JVM来执行类文件中的字节码来执行程序。类加载器负责加载文件系统、网络或其他来源的类文件。有三种默认使用的类加载器:Bootstrap类加载器、Extension类加载器和System类加载器(或者叫作Application类加载器...

2018-08-02 19:07:16 1737

原创 LruCache及LinkedHashMap原理分析

 LRU(Least Recently Used)  最近最少使用算法,或命名为最近最久末被使用算法。  意思就是到当前时间为止最少使用算法,它的核心思想就是会优先淘汰那些近期最少使用的缓存对象。一、LRU 要解决以下几个问题:1、LRU缓存 需要 提供 添加、访问、删除 的方法2、在第1步的几个方法中,需要根据当前LRU的总容量,以及本次操作的元素的大小,来决定是否需要移除最少使用的...

2018-08-02 14:48:29 345

原创 安卓多进程与进程间通信

1、安卓单进程的概念        一般情况下,一个应用程序就是一个进程,这个进程名称就是应用程序包名。我们知道进程是系统分配资源和调度的基本单位,所以每个进程都有自己独立的资源和内存空间,别的进程是不能任意访问其他进程的内存和资源的。2、单进程存在的问题        每个进程所能使用的资源是有限,特别是内存,安卓系统对用户进程有严格的内存要求,超过此内存限制时,应用将OOM和崩溃。...

2018-07-10 20:52:26 5274

原创 安卓将自己的应用加入到“用其它应用打开”的列表中

如果你的应用能够处理 某些特殊格式的文件, 比如gis行业的 轨迹点文件, 用户在手机的文件管理器中 选中这些文件后,点击“用其它应用打开”,你希望你的应用能出现在 可打开的应用列表中。需要注意的地方1、mimeType 需要指定为 "*/*", 因为这种gis文件并不是 计算机行业通用的格式,它没有相应的 mimeType。2、需要通过 pathPattern 来过滤掉其它格式的文件。&lt;a...

2018-07-10 13:37:12 8930 4

安卓仿QQ侧滑菜单Demo

安卓 超巧妙的 侧滑菜单,实现简单,功能强大,仿QQ5.0版的侧滑菜单,通过继承HorizontalScrollView 来实现。 另外加点积分要求,免费的东西就没人知道珍惜了

2015-04-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除