自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (2)
  • 收藏
  • 关注

原创 多线程知识汇总

文章主要介绍 intentService HanderThread 线程池 Synchronized 和一些其他线程锁。看过这篇文章会对这些方法有一个大概印象。

2023-09-20 10:07:02 263

原创 多线程知识 汇总(1)

记录多线程用的知识 汇总

2023-09-14 15:05:02 94

原创 设计模式汇总

设计原则汇总,设计模式

2023-09-14 15:01:46 422

原创 记录 Android 常用轮子

Android 轮子

2023-01-29 10:53:30 623

原创 Uni-app 学习1

uni学习记录

2023-01-11 16:09:52 228

原创 仿微博发现页吸顶效果

整个首页布局采用 CoordinatorLayout 布局,实现正常的吸顶效果。然后监听 AppBarLayout 的展开与折叠。我直接上代码吧。首页外部布局: <androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent"> ..

2021-08-26 10:11:18 474

原创 聊天@功能记录

集成腾讯云IM功能,有一个@的需求,其实在腾讯云9.18号更新的SDK已经升级了,但是我是之前写的,成功打了一个时间差,导致自己做一个鸡肋的功能。这里记录一下,怎么使用使用的吧。1、监听输入框 输入@字符,转跳选择好友界面 /** * 识别输入框的是不是@符号 */ private class MyInputFilter implements InputFilter { @Override public CharSequence fil

2020-09-29 14:17:56 253

原创 关于Map的底层实现与原理 初识 (HashMap)

这篇文章是整理下Map的相关知识。首先先了解下Map 子类 HashMap原理 概念 和底层架构 Map 实现类关系 与 实现类特点Map - HashTable - HashMap - SortedMap - TreeMapHashTable : 底层Hash数表结构,不可以存入null 键 和 null 值,该集合是现成同步。执行效率慢hashMap : 可以存入null 键 null 值,执行为异步操作,线...

2020-09-08 13:54:45 475

原创 推送接入记录(华为篇)

推送系类文章 开篇吐槽华为平台的SDK 是接入最费劲的,其原因是我参考了腾讯Demo中的华为接入。这里给大家提个醒:接入三方SDK,直接看官方文档就行了,不然真心耽误时间。接入时间(一天)遇到问题:步骤一、配置签名证书指纹;恩,不错。配置一个SHA256,卡了我一上午。其原因呢~ 可能是我太蠢吧。(或者是华为官网适配和设计,我已经无力吐槽了)贴图这是华为给我的回答瞬间让我有一种摔电脑的冲动。这个对号,某种意思上难道不是一种校验成功的提示吗?你告诉我是确认按钮。更扯

2020-08-18 17:46:55 2063 3

原创 推送接入记录(开篇 吐槽)

最近和推送杠上了,接入腾讯IM的时候,接到领导给的小米账号;自己下意识的以为仅仅接入小米就成了,最后测试的时候,领导得知只有小米手机可以接到推送之后不满意,但是打板时间固定所以抓紧手写一个 Notification 来代替IM聊天消息,在进程存在时,弹出一个通知框。nice , 不错。但是另一件事犯难了,自己的业务通知怎么办。我和后台商量(要不你给我发送一个IM消息,给我一个标志,我这边处理转跳逻辑)不行,后台没办法使用腾讯云即时通信主动发起推送。好吧,那咱么改极光,正好极光有.

2020-08-18 16:37:47 381

原创 记录长连接(WebSocket)使用

自从使用过 融云 之后,我就很少写自己写长连接了,毕竟自己实现的长连接和 融云,腾讯云,环信等等这些三方SDK比较起来,还是太幼稚,最重要的是好似每一种类型的APP都会要求实现IM功能。自从16年使用WebSocket写一个简单的直播聊天场景,后来因为要交互一些复杂的场景实现 例如送礼物,发私信,等等。自己实现的IM显然不成熟,基于xxml 制定的传输协议,也不足与应付各种实现。然后采用了融云,三方SDK这个东西,用过一次真的容易上瘾。让平常需要一周,半个月的开发工期简简单单的一两个小时就完美实现。 一

2020-07-21 14:50:45 574

原创 记录一个自定义View ProgressBar

记录一个进度条的自定义控件,效果不错。使用效果:x自定义View 继承 ProgressBar添加属性动画,可以设置背景,加载背景,圆角,加载动画执行时长。其实就是吧ProgressBar的方法封装一下,更方便的使用。没有什么技术难点。这里记录分享一下。方便各位同学 VCpublic class FlikerProgressBar extends ProgressBar { private final Context mContext; /** * 背景颜

2020-07-07 16:19:38 186

原创 自定义控件拖拽View界面刷新保持原位置

下午接到一个很简单的需求,在首页有一个按钮,可以拖拽。产品让估工期,我随口说晚上下班前给你看效果。因为真的是很普遍的需求,百度一下,自定义View一大堆。直接使用,和原业务也没有耦合,本来信心慢慢,想着10分钟完成,又可以摸鱼一下午爽呆呆。结果差点翻车~随手百度的一个自定View 里面的代码注释很清晰,但是当VC大法进项目之后发现,拖动的控件,但是页面刷新,View位置会重置到原位置。public class FreeView extends ImageView { private i

2020-07-06 11:32:39 791 4

原创 CoordinatorLayout快速滑动,回退现象优化

项目中首页,商品详情部分界面采用的是 CoordinatorLaout+ AppBarLayout 实现的开发完成,发现滑动界面,快速滑动的时候,会出现回退到顶部现象,上传一个视频对比一下:商城首页是处理过之后,商品详情是没有处理过...

2020-07-04 13:21:20 360

原创 Tablayout+viewPager+懒加载快速实现一个导航模型

商城项目中使用最多的就是这个套路 - 各种订单列表,各种商品展示。每次布局的时候就想VC过来。所以就要频繁的去查找之前的写的代码,中间各种剔除逻辑。烦不胜烦。所以就 记录下大概模型。下次直接从博客拷贝。Actvity类中的 xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="

2020-06-30 16:35:27 193

原创 拼命一个月,上线一个商城项目,对这一个月的总结,与反思。

忙中偷闲,经过五六月份的血拼,商城项目进行到了测试阶段,说实在的,我不是很看好这个项目 说是两个月的项目从 0 到 1但是真正开始开发的时间也就是不到一个月。基本是写写停停,一个界面经过一版 二版 三版。。最后逼得没办法了,Android IOS 四个苦逼一合计,直接蓝狐截图 ,发展到后期一个按钮的变色都不更改。不是不近人情,而是已经忍无可忍了。300+的UI图,一端两位开发 10天结束。剩余20天全都奉献给和后台联调接口。经历过各种摔电脑的冲动,终于看到胜利的曙光。以前没有经历过这种开发强度

2020-06-30 16:23:52 440

原创 2019年的总结

19年在我的印象中过得太快,20年没想到更是转瞬即逝,2020年第一篇博客还没开始写,6月已进入尾声19年流水账第一个kotlin项目 epk ,跑步社交属性,是自己18年过年加班,19年连续通宵达旦搞了两个月 搞出来的版本,那时候明明很有动力。晚上11点还不行,自己主动申请的2点结束。EPK我付出了很多,也让我明白了很多, 19年底离职的时候,仿佛是解脱。公司想以私活外包的形式,让我继续维护,我拒绝了,那时候我也不知道怎么想的。自己明明因为疫情的原因赋闲在家,但是内心里很是排斥再次接触。1

2020-06-12 10:42:48 142

原创 Android Handler部分源码,面试中遇到问题与解答

本篇文章主要目的是 搞清楚 Handler原理,以及面试中问道的一些问题。1:Handler、 message、Looper和MessageQueue的原理以及他们之间的关系?2:可以在非UI线程可以使用Handler吗?3:Loop 既然是一个死循环,那么在主线程为什么不会造成ANR?1、Handler 是Android 进行线程间通讯的主要方法通常我们会在代码中这样使...

2019-11-18 18:28:22 243 1

原创 开屏展示图的优化与理解

App举办活动,要求展示一个开屏广告图首先做一个启动界面,SplashActivity 设置launcher, 图片设置全屏,展示模式 scaleType = “fitxy”,点击图片转跳逻辑。问题1:由于启动加载MainActivity 类中初始化占用的时间过长,点击转跳卡顿严重。方案:进去项目直接加载MainActivity ,之后在判断是否展示广告 - 展示广告,MainActi...

2019-11-14 14:53:38 566

原创 最近操作WebView遇到的些许问题,记录贴

又再一次给webView杠上了,APP内开一个入口加上一个H5界面,界面中有些许交互。本来很简单的问题,估工期还是算上 开产品会时并没有明确交互的功能点,所以要了两天的时间。但是没有想到简单的问题,自己还是持续采坑。首先加密,APP内登陆,传递给js 登陆信息。H5内容是一个PK活动,可能考虑到防止黑客恶意攻击等问题,对于传递APP用户信息做了加密处理。定制最终方案是 MD5( 时间戳分钟级加...

2019-10-30 13:52:11 439

转载 转发 - Android复习知识路线图

本文转发 - https://blog.csdn.net/weixin_44339238/article/details/101715617方便自己学习,这里转发一下前言移动研发火热不停,越来越多人开始学习Android 开发。但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容。市面上也多是谈论知识图谱,缺少体系和成长节奏感,特此编写一...

2019-10-14 09:52:11 202

原创 录屏的知识片段的记录与理解

最近做一个关于录屏的功能注: 前面一段是查看源码,证明无法录制内置音,和自己踩坑的过程。下面有CV大法拿过来直接可以使用的录屏代码,心急的朋友可以直接略过 分割线以上内容首先:目前没有发现可以录制内置音的的方案,因为是系统全选,不提供三方APP使用首先看源码 public AudioRecord(int audioSource, int sampleRateInH...

2019-10-11 16:58:47 738

原创 Android webview加载H5相关知识与理解

十一长假回来,开始捣鼓遗留一些问题,由于webview外连接加载缓慢的问题,决定放到本地加载,本来以为很简单的需求但是开始写的时候还是遇到各种问题,连续两天一直不停采坑,这里记录下,避免以后遇到相似问题。1、Android 加载本地Html ,导致图片资源加载错误参考:https://www.jianshu.com/p/018cf169386a 这里的src并没有使用绝对url,而是...

2019-10-09 18:11:01 498

原创 com.android.tools.aapt2 与 No IDEA annotations attached to the JDK 1.8 解决

项目开发中,遇到两次项目无缘无故无法运行的问题,每次解决都是,胡乱的尝试,花费了很多时间成本。所以在这里记录一下。1、Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2...中间胡乱更改,也导致过,非零退出等报错根据解决问题的方式反推,应该是 build.gradle (gradle 版本号 ...

2019-09-05 10:45:14 160

原创 图片添加水印相关记录

最近一直在搞水印相关的业务,整体添加水印,网上代码一大堆,但是如果接入自身业务逻辑还是必须对添加水印有一个基本了解。特别是琐碎的技能点工具类等,挺耽误时间, 所以在这里总结记录下。获取屏幕View大小,测量摆放等。根据屏幕View控件生成Bitmap并返回选择图片 - 一个好用的选择图片,裁剪的轮子一个完整的图片添加水印,美颜,磨皮等Demo屏幕相关,View宽高度测量,摆放。1、...

2018-11-26 15:22:44 225

原创 社交属性app用到几个开源项目

今天开了一个产品原型碰头会,接下来所需要做的东西是一个完全仿照微信的 社交圈子。下午我就在github上找了一些仿照微信圈子的开源项目。在接下来开发中需要使用到的技术点。1、https://github.com/anyunzhong/AndroidTimelineView优点:一个非常切近业务的demo,完全仿照微信朋友圈业务,实现业务方便快捷,只需要关心数据填充,一些UI展示,业务操作全部...

2018-11-13 17:08:20 1245

原创 Android 更换桌面图标-换肤

Android之动态更换桌面图标文章链接:http://blog.csdn.net/qq_16628781/article/details/69054325 侵入性低扩展性强的Android换肤框架XSkinLoader的用法及原理文章链接:文章地址 朋友圈文字收缩功能文章链接:链接地址  ...

2018-11-13 13:10:32 649

原创 Bugly 热修复所遇到的问题记录

Bugly 热修复遇到一个问题,下发成功之后无法激活(未解决)尝试使用三步手机,均下发成功之后,其中两部 Android 版本低 激活成功。 一部小米8 Android系统8.1 ,下发成功但是无法激活原因还没有找到。...

2018-11-07 11:12:56 532 1

原创 Android 进程保活相关技术的认识与理解

Android 进程优先级介绍Android 进程回收策略介绍Android 目前系统保活策略项目中使用进程保活代码1、Android进程等级分级和等级介绍Android 系统将尽量长时间地保持应用的进程,但是系统运行内存是有限的,所以为了 新建进程或者运行更重要的进程,最终还是需要清除旧进程来回收内存。所以分区进程重要程度,系统会根据进程的运行组件和组件的状态,将每一个进程放入“...

2018-11-01 14:42:25 471

原创 Win10 配置环境变量的坑 ——坑逼记录

目前使用studio,默认内置了jre编译环境,所以不需要像开始装eclipse那样先配置环境变量。但是开发中需要使用到一些插件使用cmd 命令行为了方便还是需要配置。但是发现完全按照印象中的方式配置,不行。cmd - javac 不是内外部命令天哪噜,我在那?我是谁?我在做什么。然后重启,不行,删除重新配置 ,不行。不行,出去吸根烟冷静下。百度,搜索。好吧,投降,...

2018-10-30 17:13:47 671 3

原创 Koltin操控数据库的相关技术记录

前言:项目中使用到数据库进行一些逻辑操作,有使用过,但是一段时间不看,已经淡忘。现在总结下对数据库的基本操作,帮助自己回忆。首先:我们先复习下对Android对数据库的基本操作:SQLiteDatabase 的使用,增删改查。SQLiteOpenHelper SQLiteDatabase辅助类的使用。**《一, SQLiteDatabase 的使用,增删改查》**SQLit...

2018-10-25 14:43:46 3266

原创 ConstraintLayout 简单使用——开发记录

原因:接受新项目,大部分布局使用的是ConstraintLayout ,但是自己没有太多的接触;这篇博客的目的是记录ConstrainLayout大概使用方式。介绍Constraintlayout 是Android Studio 2.2中主要的新增功能之一,它和传统编写方式不同,ConstrainLayout非常适合使用可视化的方式来编写界面。但是并不太适合使用xml的方式进行编写,当然,可...

2018-10-22 14:51:17 146

原创 Gradle自增版本号,和开发版本——开发记录

原因:接手一个全新的项目,项目使用的技术点很新,热修复,路由,开发语言kotlin,包括对gradle的使用,都是我之前很少接触到的技术点。参考:参考:自增版本号,自动命名记录:自动命名applicationVariants.all的使用。你可以applicationVariants.all这个task中添加代码进行执行。思考一下,假设,我想设置一个特定的applica...

2018-10-22 09:17:24 1371

原创 org.gradle.api.tasks.TaskExecutionException ——开发记录

接收一个新项目,导入studio 没错误,很好,run,报错org.gradle.api.GradleException: Compilation error. See log for more details原因:操作错误,可能刚开始跑新项目,发现run了半天,一看 gradle没有配置,正在下载项目版本gradle。然后你手动下载一个,放到C盘,然后关闭项目,重新编译。这时候编译一半的...

2018-10-19 13:23:15 2660 1

原创 接入支付宝支付 错误码4000,排查方法——开发记录

最近,写项目,再一次使用到了微信支付,和支付宝支付。之前无数次爬坑,可是每次出现的问题总是不一样,这一次接入支付宝,和微信,一共浪费了两天时间。总结下,遇到坑的问题所在。重点标注下——全部都是后台的问题,全部都是后台的。或者是开放平台配置的问题。跟移动端没有毛关系。没有毛关系。有时候该强硬的时候,一定要强硬起来。不然浪费时间。微信支付: 调用返回-1,因为之前项目中加了 微信分享...

2018-10-18 15:40:33 18396 1

原创 微信小程序开发 初识 ——技术积累

今天开始学一些微信小程序的开发,从 高洪涛——微信小程序开发下载 安装 开始使用下载微信开发工具包下载地址    微信官网提供了 三个版本,根据自己电脑的情况安装具体的版本。 安装一路 下一步,没有什么好讲的。送上截图:  按照截图,依次进行 开发第一个微信小程序 选择小程序项目,然后设置项目地址,APPID。不清楚...

2018-08-22 15:41:16 164

原创 Builder模式的认识与理解

面向对象的六大原则:单一原则:优化代码第一步 开闭原则:让程序更稳定,更灵活 里氏替换原则:构建扩展性更好的系统 依赖倒置原则:让项目拥有变化的能力 接口隔离原则:系统有更高的灵活性 迪米特原则:更好的可扩展性面向对象六大原则传送门在详细讲 构建者模式之前,让我们回忆一下 java三大特性中的多态,与面向对象六大开发原则中的 接口隔离原则;应为接下可能会使用到。Jav...

2018-08-16 15:31:35 229

原创 TextView 开发中长使用的几种属性 —— 开发记录

树欲静,而风不止PS:这两天一直在更改公司项目代码,入职半个月以来,分配了第一个开发任务,重构 个人主页。开始浏览了下原型图,很简单,只是UI风格变换了,但是不能只是改改UI,毕竟项目以后还是要自己维护的。所以 打算 在 个人信息界面 使用MVP架构,慢慢蚕食整个项目,达到项目重构的目的。预定工期:2天 上周五一天把界面搭建出来,尽量拆分,复用,然后构建逻辑层,整个框子搭建完成,...

2018-08-13 18:46:32 188

原创 SharedPreferences在项目中应用——开发记录

开发记录:在日常开发中,长使用的几种本地序列化方式,SP的使用是最普遍的,所以对SP 的封装就异常重要了,用起来顺手的SP封装工具,能够节省你很多时间。面试技能点 原生代码实现 工具类(只想要代码 Github 三个类直接贴到项目中就行了。)枯燥的原理时间:1. SharedPreferences读取xml文件时,会以DOM方式解析(把整个xml文件直接加载到内存中解析),在调用ge...

2018-08-10 17:55:01 386

原创 单例模式的认识与理解

愉快的开始自己的技术积累 ,设计模式中使用最普遍的单例模式开始;设计模式中最为大家熟悉的必须是单例模式,项目中 必须 使用到的套路。首先陈述下我对 框架,模式的一些理解。从学校出来,开始面试的时候张口框架,闭口模式,真的问道什么是框架,我只能死鸭子嘴硬的强调 MVC ,MVP 等等技术博客上看到名词。有句话说的好,熟读百遍,其义自见。不管是 六大开发原则,还是二十三种设计模式,亦...

2018-08-10 14:54:34 3289

FreeView.txt

父控件中有列表,或者轮播图,使用layout实现的View,在拖放的时候会回到原位置。完美解决这个问题,使用的setLayoutParams方式。

2020-07-06

一个完整的demo,功能点: 动态编辑图片, 美颜, 磨皮,高亮,添加水印,截取

这是一个完整项目,功能有:添加水印,图片处理磨皮高亮美颜等均有处理。

2018-11-26

空空如也

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

TA关注的人

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