7 针叶

尚未进行身份认证

心静,成器。

等级
TA的排名 1w+

避免Android定制ROM中的EditText出现pop弹窗

问题可能看到标题的同学一头雾水,这是什么东西,其实类似于你长按文本时出现的复制粘贴pop弹窗。在一些定制ROM中,厂商为了某些方便用户的特殊功能会增加文本输入检测和自定义弹窗,举例:比如在你输入一些邮箱时,会自动弹出这种pop(并不需要你长按),且这个并非系统应用才有的,而是直接影响了所有EditText。对于一些高度定制化UI的应用来说,这个可能影响用户体验。下面给出两种解决办法(都不算...

2019-12-07 17:03:56

源码茶舍之PackageManager获取注册Service数量问题

问题今天有朋友遇到个问题,说bindService失败了,查了几步发现是由于PackageManager获取不到对应的Service组件导致的。具体示例代码如下:val serviceInfos = packageManager.getPackageInfo("com.xxx.xxx", PackageManager.GET_SERVICES).servicesLog.d("TEST", A...

2019-11-02 13:50:48

Deepin系统add-apt-repository失败的问题

问题目前Deepin系统版本为15.11,貌似在15.10时切到了Debain的软件仓库,而不再是Ubuntu了,虽说比较稳定,但还不够新,比如git,版本就没有官方的新。于是我尝试 git官方的办法:sudo add-apt-repository ppa:git-core/ppa报错,提示未找到命令。解决这个问题在网上搜搜办法,很多回答都是让安装一个包:sudo apt-get ...

2019-10-28 00:50:25

Gradle命令编译失败NoClassDefFoundError和VerifyError

问题不知道大家在编译gradle项目的时候习惯直接在Android Studio这种IDE里面还是命令行操作。今天在Deepin系统里面用命令编译:./gradlew assembleDebug直接报错:Exception in thread “main” java.lang.NoClassDefFoundError: org.gradle.wrapper.BootstrapMain...

2019-10-13 15:01:40

Deepin标题栏太高的解决办法(自定义高度)

Deepin15.11已经发布一段时间了,前段时间折腾了一下,把我的Ubuntu换成了Deepin(有兴趣可以看看我的另一篇:Deepin15.11初体验及问题解决),总体感觉非常好。依我个人习惯,目前有两点不是很能接受:第一就是软件源貌似是debianstable的,所以很多软件版本比较老,比如git版本,远低于官方版本,这个还是有一些解决办法的,具体的我就没去折腾了,Deepin官方...

2019-10-10 22:23:35

Deepin15.11初体验及问题解决

Deepin发展也有不少年了,最近还和华为的笔记本合作预装。之前我一直都用Ubuntu做日常开发,现在心血来潮也想折腾一下Deepin哈哈,本文主要讲从Ubuntu无痛迁移到Deepin的安装过程、N卡显卡驱动等一系列小坑的解决。权当总结吧!下载和制作启动盘这个就不讲了哈,直接在官网下就行了,包括启动盘制作工具。http://www.deepin.org/download/保留数据从...

2019-10-03 13:53:26

Docker安装Ubuntu镜像并保存且修改IP及Mac地址

本文仅作为一个Docker入坑手札。主要介绍:1、Docker在Linux上的安装配置;2、在Docker容器中安装一个Ubuntu镜像并保存更改;3、以任意IP地址和Mac地址启动刚才安装的Ubuntu镜像。

2019-09-19 13:48:16

OkHttp自定义重试拦截器出现IllegalStateException: cannot make a new request……异常

问题OkHttp自定义重试拦截器常见实现方式:private static class RetryInterceptor implements Interceptor { @Override public okhttp3.Response intercept(Chain chain) throws IOException { int retryCount = 0...

2019-09-20 13:38:19

Ubuntu安装Source Insight导入Android源码并设置仿IDEA主题Darcula

预览先来张图给大家感受下效果,然后我再慢慢道来过程,保证你避免每一步的坑。我们要做什么1、由于Source Insight(以下简称SI)是Windows应用,所以不能直接安装在Linux上,于是我们要借助wine,所以第一步会介绍wine的安装过程和坑;2、介绍SI在Linux(以Ubuntu 16.04为例)上的安装,并介绍如何导入免费证书(个人建议大家有条件还是付费支持一下SI这个...

2019-08-16 22:50:32

解决war包部署后找不到本地jar包的问题(ClassNotFoundException、NoClassDefFoundError)

大多数Web项目都会引用一些本地jar包,然后最终以war包的形式部署上线。但实际运行时jar包里面的类根本找不到,出现各种ClassNotFoundException、NoClassDefFoundError等错误。这里记录一下注意事项和正确的解决方法:1、先简单说下怎么配置war包部署(如果你原来是jar包部署的话):<project ...> <packaging&...

2019-08-15 18:25:34

Kotlin操作符快速获取爸爸的儿子的狗的名字

NPE(NullPointerException)是最低级且也最容易犯的错,也是最喜欢遇到的Bug因为好解。本文适合Kotlin入门萌新食用,大佬轻喷哈哈哈!问号N连帮你空处理(?)假如服务端返回一个json嵌套了各种数据,映射成POJO大概是这样:// 此处为简洁省去getter和setterpublic class TestParent { private TestChi...

2019-08-01 13:37:03

OkHttp拦截器实现禁止一切网络请求

我们在创建OkHttp客户端时,可以添加各种拦截器,这是我见过最有可玩性的库之一:OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .addInterceptor(new XXXInterceptor()) .ad...

2019-07-06 00:01:46

OkHttp拦截器实现无网络时加载缓存,避免Unknown host异常

我们在创建OkHttp客户端时,可以添加接口数据缓存,真的很香:File cacheDir = ... // 缓存目录,可以是内部存储也可以是外部存储的目录OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .cache(new ...

2019-07-05 23:52:55

OkHttp拦截器获取GET/POST请求参数并添加公共参数

我们在创建OkHttp客户端时,可以添加各种拦截器,真的很香:OkHttpClientokHttpClient=newOkHttpClient.Builder().connectTimeout(10,TimeUnit.SECONDS).addInterceptor(newXXXInterceptor()).addIntercept...

2019-07-05 23:36:49

Gson混淆配置的一些小坑

Gson就不介绍了,援引一下官方的哈哈:A Java serialization/deserialization library to convert Java Objects into JSON and back我们在配置Proguard配置文件时,都会用Gson官方文档给出的:##---------------Begin: proguard configuration for Gso...

2019-07-05 23:14:02

为何点击推送通知打不开Activity?Calling startActivity() from outside……

小米推送Android SDK有这么一个耳熟能详的方法:/** * 接收服务器向客户端发送的通知消息,在用户手动点击通知后触发 */public void onNotificationMessageClicked(Context context, MiPushMessage message) { ... context.startActivity(intent);}如果在其中手动...

2019-07-02 02:01:29

看看,Jetpack Compose是什么新东西

Google在I/O2019上宣布Kotlin成为Android开发首选语言(怎么又宣布了哈哈),并且以后会有新的JetpackAPI和功能将在Kotlin中提供,值得注意的是Google当天开源了一个叫JetpackCompose的东西,让我们来看看是什么。这里是目前公开的资料:https://developer.android.com/jetpack/...

2019-05-09 17:14:23

微信小程序任务栈实现原理

背景之前面试一些校招同学,聊到微信小程序是什么launchMode,其任务栈是如何实现的?很多同学只提到singleInstance,这是不合适的。今天我们就猜测并解析一下微信主程序与小程序的关系与大致实现,最后给出源码,可以给大家作一个简单参考。初探既然要研究微信,那么我们就先打开几个小程序,再用adb命令看看任务栈信息。在终端使用 adb shell dumpsys activity...

2019-04-27 14:25:07

NDK开发中为什么除以0程序不崩溃?

我们都知道不管是在Java还是在C++程序中,下面这段代码都会导致程序错误:int x = 10;int y = x / 0;...但是我今天发现了一个比较神奇的事情,把这段代码写成Native方法后在Java层调用,竟然没有导致App崩溃,代码是这样子的:#include <jni.h>#include "logger.h"#ifdef __cplusplusex...

2019-04-15 15:25:09

源码茶舍之android:externalService是什么属性?实现原理?

发现在AndroidManifest中声明Service时,偶然发现一个布尔类型的属性:android:externalService示例如下:<service android:externalService="true" ... />如果minSDK小于24,会显示警告,很显然这是一个24以后的新东西。先顾名思义一下,external的service,外置...

2019-04-10 16:55:29

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。