8 针叶

尚未进行身份认证

心静,成器。

等级
TA的排名 1w+

Windows安装repo的真正解决方案

背景2020真是魔幻的一年,受疫情影响,大家年后一段时间都远程办公了。奈何很多同事在家没有Linux开发环境,想在Windows上通过repo工具下载Android源码简直比登天还难。网上搜来受去没几个讲透彻的,今天给大家整活。按下面步骤来,保证OK,我们最终以 repo init 执行成功为目标。走起一、安装Git for Windows先到官网(https://git-scm.com...

2020-02-05 22:21:22

源码茶舍之如何由Uri找寻ContentProvider

引子我们都知道四大组件之一ContentProvider的用处,它给大家提供一种统一的数据访问格式。调用者无需关心数据源于何处(如DB、XML文件和网络等),只需获取到对应的ContentResolver来进行增删查改即可。自己实现一个Provider的时候,也会在配置文件中声明如下:<provider android:name=".provider.TestProvider"...

2020-01-29 19:05:36

源码茶舍之FLAG_EXCLUDE_STOPPED_PACKAGES与广播唤醒

发现我们先随便实现一个BroadcastReceiver,静态注册:class TestReceiver : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { Log.w("TEST-1", "onReceive ${intent?.action}") ...

2020-01-21 15:23:58

DeepinWine微信等软件如何升级

前言不管是Ubuntu还是Deepin系统的用户,我相信不少同学是用的Deepin移植的基于Wine容器的QQ和微信等Windows上面的软件。对此我很久前也有一篇引导文章:Ubuntu 18.04/16.04安装最新版QQ和微信具体安装流程不是本文重点哈,就不介绍了,可以看上述链接。本文主要讲讲安装后如何升级这些容器里的软件。就拿微信来说,官方推送更新时,你会发现在DeepinWine版本...

2020-01-19 23:01:32

RecyclerView中DiffUtil的一些注意事项

节能刷新移动设备屏幕大小有限(不得不说我是顽固的小屏爱好者,大于5.5寸难以接受,时代已经抛弃我了哈哈),列表(List)可以说是一个出现非常高频的交互设计。大多数情况下我们的列表不仅仅是一次性加载本地数据,而要应付来自网络的各种动态内容,可能是增加、删除等操作。在Android开发中,一个耳熟能详的方法就是 notifyDataSetChanged ,在适配器(Adapter)的设计模式下,...

2020-01-13 01:55:46

MTK设备上DuraSpeed导致Service无法启动的问题

没想到联发科还会改framework,有点小惊讶……背景问题的起因是我们的系统应用无法调起与其他部门联动的某个Service组件了。查日志发现有这么一行:1276-2330/system_process D/ActivityManager: bringUpServiceLocked, suppress to start service!提示内容大概是说Service的启动被禁止了,当...

2020-01-05 18:14:43

Win10家庭版如何正确关闭自动更新

背景Windows10还是很漂亮很好用的,大部分同学购买的品牌机也都会预装正版Win10,不过是家庭版的(个人用户一般也不需要专业版,比如我这种装双系统的只把Win10拿来打游戏),然而,家庭版系统要用常规手段是没法彻底关闭自动更新的。微软也非常不给面子,各种给你悄悄打开,当你关机时,你会吃惊地发现“更新并关机”这个选项。下面就介绍一下正确关闭自动更新的方法。解决找回家庭版的组策略换...

2019-12-14 20:20:25

避免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

查看更多

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