7 ☆☆张

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 11w+

Android面试:一,常用库—Glide源码分析(基于最新版本 4.12.0-SNAPSHOT)

参考:《Android面试题:Glide》https://blog.csdn.net/songzi1228/article/details/84426165Q:了解Glide的实现原理吗?A:了解过,主要有几个方面:图片缓存:内存缓存(LRU缓存+弱引用缓存),磁盘缓存,Bitmap对象池(Bitmap对象复用) 请求管理:根据生命周期取消request,重启失败request,请...

2020-03-31 23:24:32

File Provider

File Provider, 今天解决一个bug:首先是SDK24以上,打开相机拍照,uri路径不能使用file://,需要使用content:// ;其次是收到返回值时,是File Provider封装过的路径,不是真实路径地址,需要自己再转换。原始地址: /storage/emulated/0/DCIM/GalleryFinal/IMG20191219134527.jpg原...

2019-12-19 18:26:42

SVN的使用,也就是一些常见svn命令

使用svn好几年了,还只会update和commit,趁着这次项目需要建立branch分支(分支开发的功能上线待定,原项目正常迭代),系统学习下svn的使用。一个学习视频地址:https://www.imooc.com/learn/845, 下面是学习笔记,图片均来自视频。一个全面的svn的文档:https://www.kancloud.cn/i281151/svn/197097,...

2019-08-02 18:27:50

Andorid项目架构篇----MVP + Clean Architecture

这一篇的例子,是基于Clean Architecture原则。它是基于上一篇最最简单的MVP 架构demo,在表现层和存储库之间,添加了域层(domain ),将app分为3层:Clean Architecture 是一种软件架构思想吧,地址:https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.h...

2019-06-25 19:48:07

Andorid项目架构篇

觉得自己的项目架构不够好用,来学习下Google出的andorid 架构蓝图,项目地址:http:// https://github.com/googlesamples/android-architecture/blob/master/README.md里面的demo真不少,最单纯的mvp架构,使用了Clean 架构的mvp,使用了dagger,rxjava等依赖的mvp和mvvm数据...

2019-06-20 15:29:34

Android RadioGroup动态加入RadioButton,动态设置选中和未选中的颜色及设置默认选中

转载至☞ https://blog.csdn.net/Maiduoudo/article/details/84859040 此篇文章主要实现功能:RadioGroup控件根据服务端返回的数据动态添加RadioButton关于RadioButton动态设置背景颜色和字体颜色,踩过好多坑,接下来我总结一下遇到的所有问题及解决方案,供大家参考下,希望对大家有帮助。1.x...

2019-06-19 15:11:59

ScrollView自动滚动到底部的解决办法和原因

当ScrollView里面包含Recycleview或Listview,并且数据一屏显示不完时,打开页面,会自动滚动到页面底部,也就是Recycleview的最后一项。给scrollview的直接子view添加下面属性就可以解决。(scrollview只能有一个直接子view;给scrollview加是不行的,不知道为啥)解决办法一:(推荐,最简单)android:de...

2019-06-18 10:49:59

自定义PopupWindowView实现单例加载页

App的加载页没有封装到BaseActivity中,就自定义了一个单例的PopupWindowView,哪里需要就show下吧。show完记得dismiss。超级简单。效果如下:PopupWindowView的代码:import android.content.Context;import android.graphics.drawable.ColorDrawable;imp...

2018-09-19 17:51:43

leakcanary内存泄露检测工具 Dumping memory, app will freeze. Brrr

官网地址 https://github.com/square/leakcanary 官网继承步骤就2步,超简单,但是集成进项目后,问题一:一直弹出(“Dumping memory, app will freeze. Brrr ”)。搜索了历史issue,说是需要读写权限,清单文件添加了读写权限,换到5.0的设备,还是不行。问题二:最后查看log:每次在弹窗后,输出打印error...

2018-09-18 14:30:00

Android 数据库SQLite升级降级

前言作业系统的新版本开发结束,由于后台的习题信息的数据字段和个数改变了,所以Android本地的数据库表字段也需要做相应调整。记录下关于数据库的升级和降级相关知识。超简单 。:)一,SQLiteSQLite是Android内置的一个轻量级的关系型数据库。数据库嘛,就是用来存储数据的。在什么情况下,Android开发需要用到数据库存储数据呢?需要存储大量的结构化的数据,使用关系型数据...

2018-09-13 18:05:28

Android开发:最全面、最易懂的Android屏幕适配解决方案

前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档郭霖: Android官方提供的支持不同屏幕大小的全部方法Stormzhang:Android 屏幕适...

2018-09-07 11:51:22

App启动时白屏&使用BitmapDrawable解决启动页背景图片拉伸

一,App启动时,会白屏或者黑屏,采用如下方法解决:1.启动页的Activity设置style <activity android:name=".activity.SplashActivity" android:label="@string/app_name" android:screenOrie...

2018-08-30 16:28:06

记录两种的Android屏幕适配方案

1.一种极低成本的Android屏幕适配方式   出自今日头条技术团队  https://mp.weixin.qq.com/s/d9QCoBP6kV9VSWvVldVVwA 下面是对今日头条适配方案的封装,不想看了,记录下来,有空看看      Android 屏幕适配从未如斯简单(8月10日最终更新版)      https://juejin.im/post/5b6250be...

2018-08-29 18:22:03

QQ空间分享取消按返回键回退后当前页面被关闭了-----onKeyUp,onKeyDown,onBackPressed

最近在做QQ,微信分享的弹窗改版。发现了一个bug,找了3天,终于解决,小记一笔。bug如下:    选择分享到QQ好友,打开QQ好友列表页,此时如果不想分享,点击手机下方的返回键,返回应用页面,一切正常。如果同样的操作,选择的是分享到QQ空间,不想分享,点击手机下方的返回键,返回应用页面,当前页面被关闭了。初步原因:   当前页面是webview,拦截了返回键,做业务上的处理,原来是用的方法是o...

2018-04-16 14:30:14

Android Studio 导入开源项目的正确姿势

报错:Error:(2, 0) Plugin with id 'realm-android' not found.注意:项目中用到的插件,需要根目录下的build.gradle中添加它classPath, 执行下面的build.gradle文件覆盖前先检查下,或者备份一个。当我们在Github上看到优秀的项目时,往往想下载下来学习,但是导入到AS中经常报各种错误,那么导入开源项目的正确姿势是什么呢...

2018-03-26 11:10:03

kotlin学习笔记——https

1.tomcat服务器https配置在conf的server.xml文件中,添加https连接的配置.添加成功后,在浏览器里面输入https://localhost:8443可以访问tomcat主页。 <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="844...

2018-03-12 15:35:38

kotlin学习笔记——kotlin与Js通信

和原来一样,通过对象互相传值。 webview传递对象给js调用,webview则通过mWebview.loadUrl("javaScript:方法名(参数)")来调用js中的方法,需要注意的是调用js方法必须在主线程。1.懒加载:使用时才初始化, 类型声明为valprivate val mWebview:WebView by lazy { webview}2. 当js需要java中的数...

2018-03-11 11:01:26

kotlin学习笔记——热修复

采用阿里巴巴的修复框架AndFix:及时修复,但是资源文件不会改变。库地址:https://github.com/alibaba/AndFix热修复和增量更新的集成和使用方法差不多。增量更新会生成新的apk,热修复不会生成新的apk,是依靠补丁文件来替换出bug的代码。...

2018-03-09 15:27:25

kotlin学习笔记——增量更新

采用谷歌Samrt App Updates更新机制更智能的版本更新,降低2/3流量集成的这个库:https://github.com/jiyouliang2/SmartUpdateDemo怎么实现的不知道。import android.app.ProgressDialogimport android.content.Intentimport android.content.pm.Package...

2018-03-08 18:16:15

Kotlin学习笔记——加密解密

对称加密:凯撒加密(位移),DES,AES非对称加密:RSA消息摘要:md5,sha1,sha256,数字签名1.with高阶函数,可以接收一个对象作为参数,方法体里对参数对象进行操作,最后一行可以返回结果,再用参数接收。2.凯撒加密 :把字母移动一个数字来实现的加密和界面。3.对称加密注意:中文DES加密后乱码,因为加密后的二进制数据在码表中找不到对应的字符,就会变成乱码,所以加密后再用Base...

2018-03-08 13:57:36

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。