- 博客(11)
- 收藏
- 关注
原创 实现高斯模糊
有一次公司的项目需要用到高斯模糊,自己网上找了很多方法,都不是很有效,又比较麻烦,后面随着经验的累积发现了一种极其简单的高斯模糊方法:利用Glide第三方库来实现高斯模糊1.在app的builder下配置 // Glide compile 'com.github.bumptech.glide:glide:3.7.0' // 和glide配合 实现高斯模
2017-03-15 16:16:17 1660
原创 Android最简单的方式实现实体类的创建(不需要Getter和Setter)
通常我们在创建实体类的方法,都是把字段名设置成private(私有),然后暴露出getter和setter方法出来使用,很多时候是完全没有必要的,而且是有性能消耗的。一般直接使用public的字段名就可以了。当然如果需要对字段设置一定的控制,get/set方法也是可以酌情使用的。
2017-03-13 15:28:57 3118 1
原创 Android最简单的方式实现MVP
现在大家写项目都流行MVP模式,网上也有很多大神写的Demo,本人也有尝试着去写,发现MVP思想确实很好!不过发现官方版的MVP虽然好用,却也产生了很多类,理解也不是那么好理解。因此,自己根据MVP实现了简易的方式来达到数据请求和Activity分离,适用于中小型项目。先看下整体目录就是如此简洁和易懂,下面具体分析下一些类的主要用法BasePresenter类主要有三个方法,a
2017-03-11 14:48:58 595
原创 使用android:extractNativeLibs="false".导致应用加固不能安装(-2)
在一次项目瘦身实践中,在AndroidManifest.xml中的application标签中加了一句: android:extractNativeLibs="false".如果工程使用了so库,加固后大部分的机器会报Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]的错误,手机提示安装失...
2019-01-25 10:05:13 8548
原创 webview引起的libwebviewchromium.so' is 32-bit instead of 64-bit的bug
最近公司项目由于用了原生的webview而引起64位手机导致崩溃的异常,主要问题是在引用第三方so文件需要配置64位的so文件引起的,解决办法:项目build下添加这个 ndk {abiFilters “armeabi”, “armeabi-v7a”, “x86”, “mips”} ,并把libs目录下64位的目录全部删除只保留armeabi, armeabi-v7a, x86, mips
2017-10-25 16:11:08 2548 1
原创 65K问题
平时我们引用过多的第三方库可能会导致方法数过多,引起问题trouble writing output: Too many field references: 131000; max is 65536. You may try using –multi-dex option.只需两步就可解决问题1在module设置 multiDexEnabled true,需先设置,否则Applicat
2017-03-13 16:03:18 601
原创 面试(问题篇)
本文介绍面试可能常问的一些问题1介绍一下经常浏览的android技术网站developer(最重要的,安卓的基础知识都能找到)github codekk (开源类网站)stackoverflow(问答类,开发中遇见的问题,在这里几乎都能找到,也比较权威)2使用过的三方开源库OkHttp、EventBus、Glide、GreenDao、ReactNative等
2017-03-13 15:24:38 313
原创 面试(技术篇)
基础1Activity生命周期2service生命周期(两种启动方式)3Activity的几种LaunchModestandard 默认模式 每次激活Activity时都会创建activity实例singleTop 该Activity在任务的栈顶就重用该实例,否则便会创建新的实例并放在栈顶,只要不在栈顶都会创建新的实例 场景:新闻类的内容页面singleTask
2017-03-06 15:31:31 657
原创 Realm的基本使用
环境搭建 1.在项目build添加:classpath "io.realm:realm-gradle-plugin:2.3.2" 2.在app的build添加:apply plugin: 'realm-android'数据对象创建一个User和Dog实体public class Dog extends RealmObject { private String n
2017-02-28 15:32:54 537
原创 【基础】 Data Binding的简单使用
本文解释如何使用Data Binding库编写声明式布局和最小化所需的粘合代码绑定应用程序逻辑和布局使用:环境搭建为了使用数据绑定,需要先配置下build.gradle文件,使用以下代码配置数据绑定: android { .... dataBinding { enabled = true }
2017-02-15 11:46:38 386
原创 Android 开发规范
一、命名规范1.类文件命名规范(大驼峰规则)1)每个单词首字母大写。如MyStudentCount;2)且为名词;3)对于工具类:使用Util结尾2.方法命名规范(小驼峰规则) 1)除第一个单词之外,每个单词首字母大写。如getColor; 2)第一个单词且为动词;3.Id命名规范(对应view的前缀 控件 Id命名缩写前缀
2016-08-19 16:15:42 380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人