自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 资源 (4)
  • 论坛 (1)
  • 收藏
  • 关注

原创 2019 第一季度总结

19 年,不知不觉已经过去了1个季度了,时间流逝如此之快,令人咂舌。总结一下自己19年第一季度的收获和认知。金三银四的找工作季度,自己也被迫换工作了,参与其中,自己感到困难重重,没有主动权,认清了形式和自己的技术栈水平,一句话——太差太乱。作为一个从业三年开发者,实力和经验严重不匹配,还一度以为自己实力不错,该用的都会,也有着不错的从业背景,真是太天真了,以为面试不过侃侃而谈,可是没想到现在早...

2019-04-04 16:19:31 350

原创 google map 接入指南——定位

最近项目中有用到了google map,故写下接入google map的心得;由于国内的地图在海外无法使用,所以当你的应用是海外使用,则不得不考虑使用google map。google map 基本环境搭建环境搭建可以参考文章点击这里或者官方文档;然后我想说的是google map 申请key的时候,不要加限制,比如包名限制,这样在调试的时候比较方便;第二,在使用地图的时候,要翻墙...

2020-04-24 15:47:11 2573

原创 TextView

介绍本篇章主要介绍textView 一些在开发中经常用到的点,方便自己日后查阅。文字添加划线中划线:textview.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);下划线:textview.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);取消textview.getPaint()....

2020-04-22 19:02:52 68

原创 CardView

介绍cardview 是一个design 的控件,为了让UI 更好看,其官网为:属性列举常用的属性及经常使用的场景;cardCornerRadius 圆角大小app:cardElevation 设置z轴的阴影高度(2-4dp 即可)app:cardBackgroundColor 设置背景颜色 (BackgroundColor 没有用)app:contentPadding 设置内容的...

2020-04-21 20:58:32 108

原创 代码创建可绘制对象 Drawable

为了避免drawable 下面出现一大推的xml ,希望用代码动态创建相应的selector 和 shape ;如果掌握了动态创建drawable,可以在自定义view的时候大有用处,尤其涉及到view的外观变化方面。接下来,开干。可绘制对象 有颜色列表、形状、状态;这三种是我们最常用的,也还有其他的,不过不常用;下面为示范代码:形状可绘制对象 GradientDrawableob...

2020-04-02 17:16:49 147

原创 drawable 下 selector 状态

我们在使用drawable 的时候,会使用各种状态,如下面描述:<selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize=["true" | "false"] android:dither=["true" | "false"] android...

2020-04-02 15:33:55 79

原创 android view statusBar 沉浸式

说到Android 状态栏沉浸式体验,不得不说这是代码设计者留给开发者的锅,版本系统api 割裂、表现不一致。后续的版本没有兼容之前的版本,导致开发者要兼容不同的版本,然后一个简单的功能非要搞的考虑各种情况,一大堆代码,纯粹是给开发者找事干,说实话,这些功能本来就可以用一句话搞定的,诶不说了,贴出自己的理解,主要是给自己看的,其他人也可参考。再说一句,这些东西其实没必要太深入了解,没有普适性,...

2020-01-22 14:48:53 174

转载 Linux 基础

从现在开始,开始系统的学习一遍linux 的命令行及相关概念,我相信只有掌握了linux ,才能更好的了解android 及 其他基于Linux 演变而来的其他操作系统,如mac os 等等。本书的学习基于《鸟哥的私房菜》,同时学习的目录也是该书,由此后面一系列的文章更多的是记录自己的学习笔记,可能其参考价值不是很大。命令行命令行模式命令的执行command [options] ...

2019-12-08 22:47:41 34

原创 bug 记录板——2019.11

facebook 的相关应用,需要设置发布状态才能让其他一些未授权的应用进行测试访问facebook的相关服务,要切换为开发模式,在这里完成。基本设置中,填写隐私和服务网址,并选择类别才行。...

2019-11-18 17:51:55 34

原创 EventBus (3.1.1)—— 源码解析

网上已有很多对EventBus 的分析,自己再次记录更多的是自己的一种学习笔记,针对的更多是自己。通用性不大,参考意义一般。从构造方法方法说起,构造方法可以用build 模式进行替换部分设置,其方式为EventBus.builder() .eventInheritance(false) .build() .register(this);...

2019-11-18 15:12:43 41

原创 Git 学习——git work flow

一、目的为了减少在团队协作开发时因分支管理不当而出现的代码丢失、错乱情况,需要一套标准规范来约定分支的相关操作;主要针对分支命名规范、分支操作流程进行说明二、分支命名约定 master分支:公共分支,可以随时编译对外发布的稳定版本,不允许直接push 代码,只接受feature/hotfix分支通过MR 操作合并代码;当一个版本的所有功能再develop 测试通过后,在本地pull ...

2019-11-14 20:48:18 63

原创 GIt学习——git 基础命令 (一)

目录获取 Git 仓库在现有目录中初始化仓库克隆现有的仓库记录每次更新到仓库检查当前文件状态跟踪新文件暂存已修改文件理解git add 命令git 忽略文件查看已暂存和未暂存的修改git diff提交文件git commit跳过使用暂存区域移除文件重命名文件基础知识是日常最基本的行为,有:初始化仓库、追踪文件、暂存或提交更改;演示如...

2019-11-14 20:46:49 80

原创 git 学习——git 历史与起步

Table of Contents版本控制集中式管理 Centralized Version Control Systems分布式版本控制系统git 三种状态git 命令行git 安装以下内容均来源于git 官网中文版,然后学习并记录,希望加强理解和起到归纳总结的作用版本控制版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 ...

2019-11-14 20:46:28 38

原创 android 图片压缩及Bitmap系列文章——Bitmap

工具类获取Bitmap 并进行采样率压缩 /** * 从uri 得到 bitmap * Decode image from uri using given "inSampleSize", but if failed due to out-of-memory then raise * the inSampleSize until success. *...

2019-11-07 10:54:29 42

原创 用命令行gradle 编译工程 寻找令人头疼的gradle错误

经常编译的时候,会遇到各种各样的奇奇怪怪的gradle错误,而提示的信息是gradle 内部的一些错误,看不懂也没有实际价值,暂不贴图,没图。怎么办呢?在androidStudio 自带的terminal 命令行工具,我们可以通过gradle 去编译并加上一些参数,可以得到具体的编译错误信息;比如gradlew assembleDebug --s -info ,可以打印...

2019-10-09 20:14:05 110

原创 责任链模式及运用——事件分发,OKhttp拦截器

详细解析责任链设计模式和相关运用,比如事件分发机制,okHttp的拦截器运用。别的先不说,上图,个人觉的这张简单的图可以说清楚责任链模式的相关,即对象A产生了一个问题,它交给对象B去处理,而B其实只是一个抽象Process 定义了相关处理问题抽象方法, 不具备真正的处理能力,而其子类可以实际真正的去处理,可能B有多个子类B1,B2.,B3.... 到底这些哪个可以处理其实不知道,于是就先...

2019-09-25 08:53:25 139

原创 Java 值传递、引用传递 以及clone

从一个问题说起:有一个产品列表界面,用户可以选中想要的产品,对于选中的产品进行高亮显示。adapter 中有两个数据集集合list,一个是全部数据,一个是选中的数据(默认全选中),当我在构建这个adapter的时候,把这个集合也初始化了,当时代码是这样写的? public KpNewUserProductsAdapter(List<KpNewUserProduct> kpNewU...

2019-08-30 19:49:17 54

原创 View inflate 原理

由于经常会使用View view = inflater.inflate(R.layout.fragment_main, container, false); 或者View view = inflater.inflate(R.layout.dialog_kp_user_product_item, null); 两个方法,但是不知道其有什么区别?如果搞错了会报 Cau...

2019-08-27 10:18:43 420

原创 Rxjava 操作符之错误处理 Error Handling

后续出一系列关于rxJava的操作符的详细教程和文档说明。参考资料有https://github.com/ReactiveX/RxJavahttps://github.com/ReactiveX/RxJava/wiki/Writing-operators-for-2.0http://reactivex.io/documentation/operators.htmlhttp://...

2019-08-14 14:04:39 48

原创 appsflyer 移动端 用户行为分析和埋点事件

appsflyer 是海外最好用的移动端用户行为分析和埋点事件统计 的平台之一。当然,国内app的也可以用。其功能非常强大,api简单。对于如何对接,就不说了,最好就是看官网,别人写的其他方式都不要全看,因为他们也是从官网看来的,养成这个好习惯,从源头获取一手最准确全面的资料,一定是最有效率的方式。https://www.appsflyer.com/官网链接。集成方式简单总结一下1 ...

2019-08-13 19:30:23 3283

原创 ViewPager 使用总结及问题讨论

viewPager 是一个很常用的控件,应该完全掌握其各种用法,下面记录一些常规代码和自己遇到的问题。viewPager 常规用法MyAdapter adapter = new MyAdapter(this, mViewList);mViewPager.setAdapter(adapter);然后就是adapter 了, adapter 是关键,看看adapterpublic...

2019-08-09 15:05:03 81

原创 service 执行定时任务

app 开启定时任务1.普通service + 定时任务可以在界面开启一个service,在结合timer 、TimerTask 完成,比如 Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() ...

2019-08-07 20:04:36 867

原创 Retrofit 2.0 URL 使用细节

OKHttp + Retrofit 这一套网络框架,几乎是Android 网络请求必备的,但是再运用retrofit 这个框架时,应该更加深入去了解相关的点。这篇文章就记录自己对其理解和一些自己遇到的坑。baseUrl拼接问题Retrofit retrofit = new Retrofit.Builder() .client(builder.buil...

2019-08-05 19:26:17 298

原创 google FireBase 产品 —— Crashlytics 接入

Crashlytics 是负责收集app崩溃日志的第三方库,是属于Firebase的一款产品,它本来是一家其他公司的产品,但是被google 收购了应该,或者是合作关系,就像Proguard 和google的关系,并不是google 开发的;它有自己的官方网站和独立于google的接入方式。参考文献:官方文档、https://fabric.io/onboard/pending...

2019-07-12 20:38:21 1101

原创 Android 从混淆引发的问题谈起

从事Android 已有2 、3年光景,但一直没有深入了解过混淆,和深入学习探究过混淆,只是知道有这么一个topic,直到前些天,遇到了一个问题 下定决心系统学习相关知识点。问题来源:自己再debug状态下没有任何问题,但是打了release包就有问题,要不是闪退,要不就是网络请求没有效果,数据请求错误。然后自己把release的混淆关闭,一切也没有问题,这个时候可以锁定问题出在混淆上了。于是...

2019-07-04 20:08:55 186

原创 android 反编译方法、工具介绍

网上有很多的反编译文章,个人认为写的比较好的文章有https://www.cnblogs.com/hayha/p/6848474.html。我也是参考其文章来的,本人写此文章目的、以及反编译运用场景 主要有以下几方面:记录反编译的方法,方便自己用的时候比较方便,起到记录的作用; 运用场景:排查混淆问题,反编译apk,看类是否被混淆; 运用场景:查看jar的代码,以及是否被打入apk中...

2019-06-30 19:55:28 4843

原创 android Google play 2019.8 之后 强制app兼容64位架构

由于google 在2019.8 之后,app必须支持64位架构,为了有些新设备只支持64架构。现在,来回顾一下相关知识点和如何支持64位架构;参考资料:官网学习资源 https://developer.android.com/distribute/best-practices/develop/64-bitcpu 架构和支持64位架构:https://blog.csdn.net/qq_...

2019-06-26 21:25:34 9698 3

翻译 Android 合并清单文件 Merge multiple manifest files

Android在打包的时候会合并清单文件,这里需要知道合并的原理,本文以https://developer.android.com/studio/build/manifest-merge 官方文档为参考,进行翻译解读。同时也为自己记录相应的知识点。合并优先级清单文件合并是按照优先级进行合并的,低优先级的清单文件内容合并到高优先级的,假如合并的时候产生了冲突就需要解决冲突,这也是我...

2019-06-24 13:45:08 690

原创 RxJava 操作符之事件回调 do 系列操作符

继续之前的RxJava 操作符系列文档,今天来研究一下do 操作符,也可以理解为 rxJava 各种事件的回调,比如当发生了onError ,我想在此做些什么,就可以使用一个回调操作,就可以用doOnError () 来实现。好了,老规矩,先列出参考文章http://reactivex.io/documentation/operators/do.html来看看官方解释register ...

2019-06-21 11:29:12 105

原创 序列化和反序列化及GSON 原理探究

我们知道在网络请求中,我们需要把服务返回的json字符串转化为实体类,通常我们会用一些框架来完成,比如gson, fastJson 。当然,用的最多还是gson了。那你知道为什么gson可以把字符串转化为实体类吗,其原理是什么?另外,我们你知道为啥把实体类转化为字符串进行传输,而不是直接进行传输,这其中的奥秘,你有关注过吗?很常见,在post请求中,我们会加上 dos.write(ur...

2019-05-21 20:56:37 644

原创 Java线程——中断机制

java线程中断,也是一个比较难懂的点,但是面试会经常问到,其实中断就是有2种情况,一种是可阻塞中断(调用wait、sleep,join 方法),一种是不可阻塞中断(争夺锁sychnrozied)。对于可中断阻塞而言,我们可以通过线程的isInterrupted() interrupt() interrputed() 三个方法来实现:isInterrupted() 判断线程...

2019-04-15 23:26:30 84

原创 Java 线程——共享受限资源

谈起线程,有很重要的一点是关于解决线程间数据同步,或者说资源的访问问题。参考java编程思想 书籍,在21章第三节开始讲有关共享资源问题,所以接下来探讨关于线程同步机制;解决线程并发引起的数据访问问题,实际上就要控制访问的顺序和确定相关的规则,一般的我们可以用以下方式去实现:synchronized 关键字实现可以参考文章synchronized 又分为同步方法和同步代码块同步方...

2019-04-15 21:40:07 193

原创 加密之MD5、Base64

在编码中,经常会遇到md5和base64,比如说对于app本地密码的存储一般会进行MD5加密后存储,在http请求时,对于参数值进行base64 编码在进行传输,那么现在就来了解一下相关奥秘?在线加解密工具MD5:(参考文章)不可逆加密算法,单向的——根据加密后的值几乎很难推断出原始字符串; 任意长度的数据,算出的MD5值长度都是固定的(即加密后的字符串长度一样) 弱碰撞性和高度离...

2019-04-15 18:40:42 1053

原创 Http 相关知识点——post 、get请求样本代码

用习惯了网络请求框架,有时候要自己写一个,有时候还是挺难的,然后就自己好好总结一下并记录。Java get 请求 /** * get 请求 可以传完整url,也可以传map * 设置请求头 请求头的设置不关get post都可以设置不属于方法级别的区分 是协议的一部分 * @param url * @param map * @ret...

2019-04-13 15:24:17 93

原创 google FireBase产品接入 —— FCM

作为google 官方的推送,相比也是很多app离不开的功能,而且会经常用到的,这里总结一下如何集成FCM 以及后面探索一下相关原理。说明:对于任何google service(统计,推送,广告等等 谷歌服务) 来说,他们都依赖于手机里面的google服务框架这个系统级别的app,同时会依赖google-services 库,这些东西都会在工程里面去配置,另外,现在所有的服务都集成到fir...

2019-04-11 16:34:17 1174

原创 2019春 面试经历及题目总结

最近面试很多,总结一下面试经历和感受,顺便记录一下面试中遇到的题目,警示自己,也供大家参考一下。技巧:简历书写:第一原则,不会的不要写,写上去的一定会,至少是用过并有简单的了解;那种只是听说过的技能,比如新技术Flutter,别人在用,你听过,但没有用过,仅仅知道这个技术,就不要写上去了,写了面试官如果会,肯定去问你,这样印象就大打折扣,非常不好。技能点精简,不要写太多,可...

2019-04-10 18:38:37 99

原创 google FireBase产品接入 —— Analytics

google FireBase产品接入 —— FCM google map 接入指南——定位google FireBase 产品 —— Crashlytics 接入Firebase 是google 推出的一款工具提,帮助您开发优质应用并扩大用户群,赚取更多收益。可以崩溃统计、推送、数据统计、身份验证等功能,并支持多个平台android、iOS、Web 。分为三大块,开发、分析、发展三大...

2019-03-29 17:40:55 1214 1

原创 java 数据结构

数组:在内存上是连续,所以在插入、删除操作上(不是在最后进行插入),可能需要移动很多元素为其空出一个内存,这样就花费比较大。所以最大时间O(N)。最少为常数即在末尾进行增删。链表:内存上不连续,每个元素之间通过节点连接在一起。而每个元素若是前、后都有节点连接则是双链表,LinkedList就是这样的双链表结构。栈stack:栈只有一端可以操作,就是末端,栈可以用数组实现,也可以...

2019-03-29 11:34:08 25

原创 Java 基础

一、java基本数据类型byte char int short float long double boolean 一共八种,同时他们的内存占用情况:一个字节等于8位;1 byte = 8 bit。byte:1 byte 8 bit -2^7 ——2^8-1 -128 ——127 (因为中间有个0算为正数了,)char:2 byte 16 bit 0—...

2019-03-29 11:33:09 25

转载 android Service

定义 :Service是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件服务基本上分为两种形式:启动当应用组件(如 Activity)通过调用startService()启动服务时,服务即处于“启动”状态。一旦启动,服务即可在后台无限期运行,即使启动服务的组件已被销毁也不受影响。一旦启动,服务即可在后台无限期运行,即使启动服务的组件已被销毁也不受影响。 已启动的服务通常...

2019-03-28 15:15:33 90

androidx-class-mapping.csv

androidx 和android 库的对比,你可以从中去找到android 对应的androix 迁移库名字;

2020-03-30

androidx-artifact-mapping.csv

androidx 和android 库的对比,你可以从中去找到android 对应的androix 迁移库名字;

2020-03-30

反编译工具包集合.zip

Android apk三个反编译工具文档集合 jartool 、dex2jar 、gui 。

2019-06-30

struts2和jsp的运用

用的为oracle数据库连接的 主要用于复习struts2的增删改查 和是s标签在jsp上的运用

2015-12-27

android app运行时改变权限配置,application的context为空

发表于 2018-12-07 最后回复 2018-12-07

空空如也

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

TA关注的人 TA的粉丝

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