• Android 分别使用PdfRenderer和PdfViewer展示PDF文件并添加水印(三种方式)

    第一种方式https://www.jianshu.com/p/0799961317b4?from=timelineisappinstalled=0第二种PDFView控件中有onDrawAll可以进行绘制监听,我们可以在绘制过程中画出自己需要的水印,如下.onDrawAll(new OnDrawListener() {@Overridepublic void onLayerDrawn(Ca

    18-08-01
  • 四大组件以及Application和Context的全面理解

    先放一张图吧 2.用处 1.Context的实现类有很多,但是ContextImpl( 后称CI )是唯一做具体工作的,其他实现都是对CI做代理。 2.CI中有一些成员对象,先来看看这些对象的用处 1.mSharedPrefsPaths(ArrayMapString, File)、sSharedPrefsCache(ArrayMapString, Ar

    18-08-01
  • 金9银10,分享几个重要的Android面试题

    说一下java多态的理解,以及接继承,和接口的理解 于哥在这里只讲多态,其他自己上网体会 对于多态的定义 不同类的对象对统一函数做出不同对的响应或者动作。 作用 主要是消除类之间的耦合性,灵活性比较强,利于代码的编写和修改。尤其在处理大量的运算和操

    18-07-30
  • Handler机制原理(一)理论分析

    本篇文章转载于 JesseBraveMan 发布的《Handler机制原理(一)宏观理论分析与Message源码分析》 地址: http://www.jcodecraeer.com/a/anzhuokaifa/2017/1107/8711.html 设计Handler 的初衷 在分析Handler之前,需要先搞清楚两个概念: 同步与异步的区别 线

    18-07-26
  • Android组件化demo实现以及遇坑分享

    首先贴出demo的github地址: GitHub - TenzLiu/TenzModuleDemo: android组件化demo 前言 前段时间看到最近一直很火的Android组件化然后就自己撸了一个demo,期间遇到了不少问题以及坑,在此记录一下,具体可以看项目源码。 组件化无非就是将我们App项目下的

    18-07-26
  • Aidl进程间通信详细介绍

    目录介绍 1.问题答疑 2.Aidl相关属性介绍 2.1 AIDL所支持的数据类型 2.2 服务端和客户端 2.3 AIDL的基本概念 3.实际开发中案例操作 3.1 aidl通信业务需求 3.2 操作步骤伪代码 3.3 服务端操作步骤 3.4 客户端操作步骤 3.5 测试 4.可能出现的问题 4.1 客户端在

    18-07-21
  • 高级面试题总结—线程池还能这么玩?

    前言 面试中我们经常会遇到多线程和线程池的问题,究竟如何回答呢?今天关于Java中的线程池,我们就来学习一下。 什么是线程池 线程池是指在初始化一个多线程应用程序过程中创建一个线程集合,然后在需要执行新的任务时重用这些线程而不是新建一个线程。线程

    18-07-20
  • 2018年Android面试题含答案--适合中高级(下)

    #### 1、Activity生命周期? onCreate() - onStart() - onResume() - onPause() - onStop() - onDetroy() #### 2、Service生命周期? service 启动方式有两种,一种是通过startService()方式进行启动,另一种是通过bindService()方式进行启动。不同的启动方

    18-07-19
  • 安卓易学,爬坑不易—腾讯老司机的RecyclerView局部刷新爬坑之路

    前言 安卓开发者都知道,RecyclerView比ListView要灵活的多,但不可否认的里面的坑也同样埋了不少人。下面让我们看看腾讯开发工程师用实例讲解自己踩坑时的解决方案和心路历程。 话说有图有真相,首先来对比一下局部刷新前后的效果: 优化之前的效果: 优化

    18-07-18
  • 弃 Java 而使用 Kotlin 的你后悔了吗?| kotlin将会是最好的开发语言

    自从 2011 年发布以来,Kotlin 凭借强大的功能在开发者中的欢迎程度与日俱增。且在一年前,Google 宣布 Kotlin 正式成为 Android 官方开发语言,由此引发了从 Java 迁移到 Kotlin 的一股热潮,根据 StackOverflow 上超过 10 万名受访者的调查显示,Kotlin 成

    18-07-11
  • 组件-多视频播放和卡尺

    tools 项目用到的自定义组件集合 持续更新ing 主界面 卡尺界面 四界面播放 双击其中一个界面铺满 以上描述了两个功能,卡尺包括无限循环和不循环两种方式,改编自 LoopScaleView ,修复了一些小问题并加上了不循环的功能 ,一些定义的属性可以在attrs里面查看

    18-07-10
  • 解决Retrofit多BaseUrl及运行时动态改变BaseUrl(二)

    原文地址: https://www.jianshu.com/p/35a8959c2f86 前言 我在之前的文章 《解决Retrofit多BaseUrl及运行时动态改变BaseUrl》 中,介绍了市面上能够解决此类问题的 4 个常见的解决方案,并开源了自己经过优化后的解决方案 RetrofitUrlManager ,现在再为大家

    18-07-09
  • 你真的了解activity启动模式吗?

    引言 当面试官说请你介绍一下activity启动模式,大多数人都能整两句,什么栈顶复用啊栈内复用啊,不过,你确定你真的懂启动模式吗? 如果你能回答出下面的问题,那么你可以直接退出当前界面。 假设有如下四个activity: A(standard) B(singleTop) C(singleTa

    18-07-05
  • Android 图片相关整理

    目录介绍 0.思考问题及解决方案 1.加载图片的压缩处理技术 2.网络url图片转换Bitmap保存到本地 2.1 直接通过http请求网络图片通过流转化成Bitmap 2.2 使用第三方库glide将网络图片转化为Bitmap 3.保存bitmap图片到本地文件夹 4.实现带有圆角的图片 4.1 使用g

    18-07-05
  • 使用Kotlin构建MVVM应用程序—提高篇:Dagger-Android

    写在前面 提高篇的目的是想着写一些较深入的知识,包含一些 源码分析 、 架构设想 、 脚手架搭建 的东西。面向的人群是 中高级的开发者 或者愿意深入了解如何快速构建KotlinMVVM应用的人群。 Dagger-Android 原本的打算是将其作为 使用Kotlin构建MVVM应用程

    18-07-05
2685文