自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大山喵写博客的地方

手撕bug,代码成诗,点点滴滴,便是青春

  • 博客(224)
  • 收藏
  • 关注

原创 不为谁而作的blog

很久没写博客了,从研三最后一段时间,到工作后的一年多时间里面,CSDN几乎没啥进展,一方面因为工作需要,自己的技术栈做了全方位的调整;另一方面,工作之后,属于自己的时间就特别特别少了,难以集中时间去搞这些东西了,所以博客就进入荒芜状态。有段时间很纠结,感觉自己失去了写博客的动力,一方面,同事里面大神很多,有自己手动撸网站做的很好的技术大神,也有CSDN年度十佳博主,知乎大V,想想自己“水”的那么多博客,惨不忍睹,不可比拟,不忍直视,想想自己写的那些内容,无非是一些常规知识的梳理,基本上我能写的,别处也有,

2020-11-22 23:51:21 653 3

原创 Android Studio :Gradle‘s dependency cache may be corrupt

问题描述好久没用Android Studio了,打开之前的项目居然会有问题——实际上,从使用经验上而言,AS本身不应该犯如此低级的错误,但由于AS本身的一些逻辑是需要请求google服务的,由于某些原因,可能请求不是很顺利,就导致这些功能不可用了。解决方案这个问题造成的本质原因是Gradle缓存出了问题,AS缓存机制会优先请求缓存,然后再请求网络,但是这个缓存如果存在问题,那么可能就会出现既请求成功,又无法使用的局面,所以,清理一下缓存,或者重新设置一下gradle文件配置就行了。清理gradl

2020-08-02 22:38:14 603

原创 Error:Could not download protobuf-java.jar (com.google.protobuf:protobuf-java:3.4.0)

问题描述标题长度限制了,原本错误的全部信息应该是:Error:Could not download protobuf-java.jar (com.google.protobuf:protobuf-java:3.4.0):No cached version available for offline modeAS的环境配置大部分依赖于Gradle,而Gradle文件又是自动配置的,所以很多...

2020-02-04 17:36:46 12131

原创 2019年个人总结

2019原本想在12月底就写一下总结的,但是12月底一直在忙一个紧急版本,如今到年前最后一周了,该发的版本都发了,也没啥紧急的任务要做,恰逢周六,静下心来总结一下我的2019吧。2019算是比较平凡而意义重大的一年,所谓平凡,回望全年,Nothing special,按部就班的毕业,按部就班的进入工作岗位,按部就班的进度人生;而所谓意义重大,仔细想想,从校园到社会,虽然没啥惊喜,但也算是人生...

2020-01-18 16:20:27 2591 7

原创 重写TextWatcher监听方法onTextChanged,调用EditText.setText死循环问题解决方案

问题描述在一个EditText控件中,监听文字变化状态,使用了TextWatcher中的onTextChanged方法,大抵如下: input.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int...

2019-10-25 20:26:14 2907 4

原创 android.content.res.Resources$NotFoundException 问题解决方案

问题描述Process: com.jason.morelistitem, PID: 15181android.content.res.Resources$NotFoundException: String resource ID #0x5at android.content.res.Resources.getText(Resources.java:367)at android.widge...

2019-10-24 19:52:29 3099

原创 使用Volley请求网络图片加载

前言Google官方文档中并没有介绍Volley请求网络图片的方法,但实际上,Volley提供了十分强大的网络图片加载的功能,本文是对Volley关于请求网络图片的3种方式的学习总结,内容上参考了郭神的帖子(原文链接)Volley请求网络图片的方法Volley请求网络图片的方法相比于String和JSON,要多一些方式,但从底层上看,还是基于RequestQueue+Requestd 的方式...

2019-10-10 19:54:01 737

原创 使用Volley发起网络请求

前言本文是对Google官方文档中关于Volley部分的学习和总结,原文地址详情参考,通过对文档的翻译和学习,总结出自己的理解,通过一个Demo来展现Volley概述Volley是一个Google推出的一个HTTP网络请求开源库,它可以简化Android应用程序的联网操作,以更快的速度进行网络请求,很多大公司的App都集成了Volley库。Volley开源库具有的优点包括:自动进行网络...

2019-10-09 18:05:00 583

原创 Android Studio Emulator无法联网的情况

  在模拟器上使用Volley库进行网络请求,发现老失败,结果发现AS的模拟器无法联网了,找了半天资料没有找到理想的解决方案  想了想,最近升级了最新版的AndroidStudio 3.5,可能是模拟器自身的缺陷吧。下面记录一个比较笨,但是有效的方案:Step 1 :打开cmd命令行,获取设备号android list device  先不用管前面一大串字符,找到自己需要的设备名称,...

2019-10-08 21:38:56 3470 1

原创 AIDL学习总结:使用AIDL实现跨进程通信

AIDL学习总结(一):使用AIDL实现跨进程通信前言AIDL基本概念AIDl数据类型第一个Demo:Client向Server发送数据Server端工程Client端工程第二个Demo:Server回调Client接口Client端回调AIDLServer端回调AIDL源码链接前言  本文是对AIDL跨进程通信的学习和总结,主要介绍了AIDL的基本概念和使用方法,通过一个简单的Demo来...

2019-09-30 17:54:30 2107

原创 SDK开发:AIDL通信中bindService无法正确onServiceConnected的问题

问题描述  将跨进程通信模块封装到SDK中,配置到目标APK中,结果发现服务连不上了,四处Log,结果发现ServiceConnection接口中的onServiceConnected压根没有回调,看来bindService没有发挥作用。 Intent intent = new Intent(); intent.setAction("com.jason.aidlconnection"); ...

2019-09-28 10:09:23 1939

原创 在build.gradle中添加Java8配置

  如果在代码中使用Java8特性(常见的是Lambda表达式),那么需要手动添加Java8支持。通常AS提供自动配置的功能,但是有时候这个功能不怎么灵,所以还是记一下怎么手动配吧,方便自己以后查询。  在app的build.gradle中添加如下配置即可——android { compileOptions{ sourceCompatibility JavaVersio...

2019-09-27 09:25:49 3182

原创 WindowManager权限:android.permission.SYSTEM_ALTER_WINDOW

  Android 6.0之后(API>23),如果APP中使用WindowManager.LayoutParams申请一个窗体布局并显示,那么需要申请android.permission.SYSTEM_ALTER_WINDOW权限,因为Google认为,显示顶层视图会影响其他APP的送体验,理应得到用户的许可——  关于该权限的定义,详情参见链接  那么,具体做法可以参考——if(...

2019-09-09 15:14:51 1137

原创 OkHttp请求http链接失败的问题

在 Android API 29 平台上编译,发现网络请求数据异常,四处Log,找了半天发现是OkHttp在请求网络链接的时候直接onFailure了,莫名其妙,找了半天资料,才发现原来是Android P的锅——Android P全面禁止了非https链接,并严格审查网站的CA证书(详情参考)但是国内的很多网站都是非https的,怎么办呢?需要使用xml文件设置属性禁用掉这一设置——在re...

2019-08-23 18:04:22 8253 14

原创 Android使用Material Design实现悬浮按钮

前言​ 本文是对《Android第一行代码》第十二章《最佳UI体验——Material Design实战》中关于悬浮按钮实现的学习和记录,主要内容包括——FloatingActionButton控件Snackbar控件CoordinatorLayout布局其实关于悬浮按钮的实现十分简单,Design Support库中做了大量的封装,只需要运用以上3个基础控件就可以完成一个最简单的...

2019-08-22 09:56:49 1187

原创 Android 使用Material Design实现滑动菜单

DrawerLayout布局  DrawerLayout是Design库中实现滑动菜单效果的支撑性布局,它允许放入两个直接子控件,第一个子控件是主屏幕中的内容,第二个子控件是滑动菜单中显示的内容。我们在activity_main.xml文件中使用DrawerLayout布局如下:<?xml version="1.0" encoding="utf-8"?><android...

2019-08-20 18:58:04 1143 1

原创 java.lang.RuntimeException: invalid channel for service notification

  在APP中使用台前服务并创建通知,发现报错了——  代码本身应该是没问题的,因为是照着Demo仿写的,看来是环境出了问题,运行在Android Q(API29)上就会出一些乱七八糟的问题。在查阅了Android文档之后发现原本的NotificationCompat.Builder (Context context)被废弃,在API26之后,创建通知需要使用新的构造器Notification...

2019-08-19 15:58:27 8661 4

原创 Android Studio3.4.2 Code Completion 不区分大小写

  默认状态下,Android Studio的代码填充提示是大小写敏感的(case sensitive completion),可能是考虑到Java语言的命名规范,大小写敏感匹配的方式能够比较高效的找到目标API。但实际上,这种方式也带来一定困扰,比如说——  在误写大小写,或者你根本不知道该大写还是小写的时候,代码提示就完全瘫痪了。所以还是把这个设置给取消吧——  在Setting-&g...

2019-08-17 10:56:47 1879

原创 Android Studio3.4 中无法找到Android Device Monitor的问题

  Android Device Monitor是Android Studio提供的一个用于设备监控的子功能,以往在Tools菜单栏中可以直接点出,但是最新的Android Studio版本中取消了该选项,使得AD不是特别好找了。但实际上,Google官方并没有取消该功能,通过下面几种方法还可以继续使用monitor  如果之前在PATH环境中配置过ADB环境,那么其实可以直接在命令行里面调用m...

2019-08-16 10:42:15 2733 4

原创 Android Studio:java.io.IOException: Cannot run program "aapt",: CreateProcess error=2

  使用gradlew makeapk指令生成APK包,结果报错——  aapt是Android Studio中十分强大的一个工具,其功能之一就是打包程序,如果找不到这个路径的话,的确是要出问题。谷歌了一下网上的信息,大部分是关于Linux平台的,看来这个问题多发于Linux系统下。重新牌子了一下ANDROID_HOME的路径,没有效果,然后用了一种简单粗暴的方式:直接把build-tools...

2019-08-12 15:14:24 1881

原创 Java Lambda表达式学习总结

Lambda表达式语法总结情形1: (Type x,Type y)->{expression with return};情形2: (x,y)->expression情形3:x->expression情形4:()->expression函数式接口与C++ Lambda表达式的对比Lambda表达式  Lambda表达式是Java 8引入的一个新机制,它是一个可传递的代...

2019-08-06 21:29:45 481

原创 Java 集合机制学习总结

前言CollectionLinkedListArrayListHashSet前言  与C++STL一样,Java集合类库提供了一个强大而全面的数据结构类库——List、Set、Queue、Hash、Map等。但同时,Java 的设计者不希望集合像STL那样复杂,却具备STL那样强大的能力和执行效率,因此集合与STL在很多时候形相近而意不同。本文是对《Java核心技术卷Ⅰ》第九章(p344~...

2019-08-05 21:10:52 372

原创 GitHub SSH 配置

  首先下载并安装Git,下载地址:https://git-scm.com/downloads  下载后默认安装即可,然后在任意文件夹点击右键,进入Git Bash界面  首先配置自己的信息,输入指令:git config --global user.name "Jason Lee"git config --global user.email "[email protected]"  然...

2019-08-04 22:04:55 390

原创 Java 异常机制总结

前言Java异常机制异常层次结构受查异常throws语句声明受查异常throws 抛出异常捕获异常try-catch块finally语句带资源的try语句分析堆栈轨迹元素前言  本文是对《Java核心技术卷Ⅰ》(第十版)第七章异常部分(264-285)的学习总结,目的是记录自己的学习路径,以及方便日后查看、复习、补充。Java异常机制  与大多数编程语言一样,Java提供了异常处理(...

2019-08-02 20:21:48 298

原创 Java不规则数组与C++二级指针异同

  Java提供二维不规则数组的机制,形式如下—— int[][] twoDimArr = new int[N][]; for(int i=0;i<N;i++){ twoDimArr = new int[M]; }  其中,N和M分别是一维、二维大小,N和M可变。比如打印出一个杨辉三角——import java.util.Scanner;public class Main...

2019-07-30 19:34:30 320

原创 入职第一天

  2019年7月29日,经过3个周的公司培训,开始正式踏入工作岗位了。心里有点小激动,终于可以不用跟着大老板瞎比怼了,终于可以开始为了自己的生活和向往而努力奋斗了。鱼翔浅底、鹰击长空,感觉真好。  入职前几天得知自己要从C++转入Java岗位,内心毫无波澜,毕竟转岗这种事,我3年前就经历过一次了。能用自己现成的经验产出价值,自然是很舒服的选择,无论从心里上还是身体上都很舒服。  但是我的性...

2019-07-29 14:07:54 978 3

原创 Execution failed for task ':app:externalNativeBuildDebug'

  升级了AndroidStudio到3.4之后,之前的项目开始出现千奇百怪的问题——org.gradle.internal.UncheckedException: Build command failed.Error while executing process D:\Android\SDK\cmake\3.6.4111459\bin\cmake.exe with arguments {...

2019-07-23 22:44:13 12762 1

原创 ButterKnife9.0.0-rc2 配置

  升级了AndroidStudio到3.4之后,发现项目中的很多依赖库都不能用,原因是随着AS升级之后,Gradle随之升级到3.4.1,很多第三方库也需要更高版本的支撑,今天遇到ButterKnife失效的问题,原本是8.5.1的版本(基于gradle3.1),提示升级ButterKnife9.0.0-rc2,上网查了一下资料,更改配置步骤如下——  首先在项目的build.gradle 文...

2019-07-22 17:57:50 940

原创 Android resource linking failed

  升级了Android Studio3.4之后,以前的项目出现问题——com.android.builder.internal.aapt.v2.Aapt2Exception: **Android resource linking failed**C:\Users\zzulj\.gradle\caches\transforms-2\files-2.1\f1f31426f3433123602...

2019-07-22 11:51:00 2523

原创 Execution failed for task ':app:processDebugManifest'.

  使用新版的Android Studio导入以前的项目,会出现Execution failed for task ‘:app:processDebugManifest’. 的错误* What went wrong:Execution failed for task ‘:app:processDebugManifest’.Manifest merger failed : Attribut...

2019-07-22 11:19:58 1978

原创 VisualStudio 2017:connot open source file XXX.h 以及The Windows SDK version 10.0.17134.0 was not found

  换了新的笔记本电脑,然后把移动硬盘上以前的项目都给配置一下,解过发现莫名其妙的抽风了——  系统库函数打不开了,第一反应是VS装的有问题,遂用Visual Studio Installer点击修复,无果。然后乖乖上网百度了一下,原来是Windows SDK出了问题,仔细翻了一下这3630的错误,才发现,确实有那么一行字是描述该错误的Error MSB8036 The Windows S...

2019-07-16 23:00:34 1297 2

原创 word转PDF多余空白页的问题

  写大论文遇到的问题,word转PDF的时候,第5页后面会多出一个空白页第6页。由于要频繁的改论文,然后转PDF看效果,这个bug就很麻烦。上网搜了一下,才知道,原来是word自身的设定就是如此。  大论文一般都会勾选奇偶页不同,word的隐藏设定就是,勾选了这一部分之后,我为了保证奇偶页不同,那么我必须每一节的文章页数都是偶数的,所以,当不足偶数的时候,word就会自作主张的增加一页空白,但...

2019-05-08 21:01:21 18896 1

原创 word2016:使用多级列表+样式表,自动生成插图清单

前言  写大论文的时候要把论文中所有的图表标题整理成一个插表/插图清单,方法有两种,第一种是在本章写好之后,手动输入并添加超链接;第二种做法是使用多级列表+样式表的方式自动生成插图/插表清单。定义样式表  多级列表是对文章标题的统一管理,主要包括标题的级别和编号等。样式表是对全文格式的管理,包括字体、字号、段落、编号……你所能用到的一切,都可以在这里设置。显然这是一种高级而高效的格式管理手段...

2019-05-08 20:44:13 7680 4

原创 Word:一级标题行首段前距失效问题

问题解决  设计一级标题三号黑体,单倍行距,段前段后距1.5行,但现实结果不如人意  显而易见,段前并没有1.5倍行距,原因在于,我在前一页使用了分页符(下一页)  虽然达到了分页的目的,但是站在word的角度来讲,本页与前一页仍然同属于一个小节,word里面放在同一节的页内首行是没有段前距的,无论是正文还是标题,均是如此。这个时候需要手动把分页符改成分节符(下一节)。  但是要注...

2019-05-07 10:45:15 41898 5

原创 C++:LNK2005:xxx already defined in main.obj

问题描述  使用一个全局变量测试多线程同时访问一个变量的性能,结果却报错了  多重定义了,于是顺藤摸瓜,找到了变量thread_index的位置// MyThread.hint thread_index = 0;  以及使用这个变量的地方——// Source.cpp#include"MyThread.h"...int main(){ ... thread_index+...

2019-05-05 09:45:03 1956

原创 Qt/C++:Access violation reading locaton 0x0000000000000005

  遇到这种问题的原因有很多,如果项目中使用了指针,大概率访问了已经释放掉的内存(或者是根本不存在的内存)。回忆一下自己之前都做了哪些改动,然后对可疑的地方单步调试,总能找出问题所在的。  比如,我这个项目中,在构造函数中,对一堆指针赋初值nullptr,但是漏掉了其中一个对象指针roiSelection,然后在析构函数中有安全性判定—— if (parameter != nullptr) ...

2019-04-28 16:44:38 2059

原创 Qt:设置按钮禁用

  直接使用成员函数的setEnable和setDisable成员函数,例如:ui->playVideoButton->setEnable(false);  或者ui->playVideoButton->setDisable(true);  对应的,按钮变成灰色  此时按钮处于不可点击状态,其实这种状态还可以再QtDesigner中设置,但仅限于初始状态,如...

2019-04-26 21:45:03 38097 7

原创 Qt:获取日期和时间

前言  一般而言,操作系统(Windows/Linux/Mac)的内核函数都会给出了日期时间的相关系统库函数,Qt在此基础上进行了封装,提供了获取时间和日期的3个相关类——QDateTime、QDate、QTime,使其在Qt内部空间之间的使用更加便捷。QDateTime获取日期和时间  QDateTime顾名思义,获取日期和时间,调用静态成员函数可直接获取字符串值,同时可以控制显示格式:...

2019-04-26 18:55:21 13979 1

原创 Qt:QtFileDialog打开文件选择对话框选择文件

  Qt提供了完整的文件选择对话框,并对此进行高度封装,我们只需要调用一个函数就可以对文件的选择,听起来简直不可思议,在QFileDialog类中有一个静态成员——static QString getOpenFileName(QWidget *parent = Q_NULLPTR, const QString &cap...

2019-04-17 16:39:42 34623 1

原创 Qt:OpenCV::Mat与Qt::QImage相互转换

前言  Qt和OpenCV是一对形影不离的好基友(哥俩都开源,Qt又跨平台,Linux环境友好),但OpenCV的最常用的类Mat无法直接用于Qt的QImage中,原因在于,两者对图片定义和操作有所不同——Mat的主要功能是矩阵运算,拥有数之不尽的数据类型,包罗万象;而QImage侧重于图片显示,更多的操作是在图形界面上。  因此,Mat与QImage之间的传值,要多一步转换操作。Mat转Q...

2019-04-09 13:11:17 11744 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除