Android 页面变灰(黑白屏)方案
Activity实现12345Paint mPaint = new Paint();ColorMatrix cm = new ColorMatrix();cm.setSaturation(0);mPaint.setColorFilter(new ColorMatrixColorFilter(cm));getWindow().getDecorView().setLayerType(View.LAYER_TYPE_HARDWARE, mPaint);
加在Activity的onCreate()中
Fragment实现12345Paint mPaint = new Paint();ColorMatrix cm = new ColorMatrix();cm.setSaturation(0);mPaint.setColorFilter(new ColorMatrixColorFilter(cm));getView().setLayerType(View.LAYER_TYPE_HARDWARE, mPaint);
加在Fragment的onViewCreated()中
总结把View的饱和度设置为 ...
Android Studio 清理项目多余资源文件
顶部菜单 Code - Analyze - Run Inspection by Name,或者直接Ctrl+Alt+Shift+I;搜索 Unused resources ,然后打开;选择 Whole project ,搜索时间会和资源文件数量关联;搜索完成后,选中一个文件,点击 Remove All Unused Resources ,会删除所有多余资源文件,但有可能会误删,需要后面再进行处理;
解决SourceTree SSH第一次登录需要交互确认的问题
SourceTree在绑定SSH后,第一次使用时会出现下述代码
123456789101112The server's host key is not cached in the registry. Youhave no guarantee that the server is the computer youthink it is.The server's rsa2 key fingerprint is:ssh-rsa 2048 **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**If you trust this host, enter "y" to add the key toPuTTY's cache and carry on connecting.If you want to carry on connecting just once, withoutadding the key to the cache, enter "n".If you do not trust ...
Android Studio(IDEA)设置代码注释模板
设置类注释打开Setting,选择Editor - File and Code Templates,最后是File中的Class,点击Class后,在右侧的模板中进行编辑;之后可根据需要进行其他文件模板的修改;
下面是类注释模板的实例。在新建类时,需要提前输入description,之后就会创建成功;
12345/** * @author: Izumi * @description: ${description} * @date: ${DATE} ${TIME} */
效果展示:
设置方法(函数)注释打开 Setting,选择 Editor - Live Templates,在右侧+号选择 Template Group;选中刚刚新建的 MyTemplates,再点击右侧+号选择 Live Template;在下方 Abbreviation 填写模板缩写,Description填写模板描述,然后输入模板;
下面是方法注释模板的实例;
123456/** * $END$ * @date $date$ $time$ ...
Waline国内IP无法评论的解决方案(LeanCloud国际版/Vercel)
背景
LeanCloud国际版宣布 2022 年 8 月起,国际版共享域名不再向中国大陆提供服务 ;
Vercel 的部署域名 vercel.app 因为众所周知的原因,无法在国内访问了;
解决方案如果你从未部署过 Waline ,请先查看 Waline快速上手;下面的方案需要有自己的域名,没有域名的话本文暂时无法提供帮助;
如果是Vercel部署方案,则只需要在Vercel使用自己的域名(LeanCloud国际版与Vercel之间不涉及国内IP);
如果是使用LeanCloud国际版+国内部署方案(如腾讯云开发 CloudBase)或Valine,则要在LeanCloud国际版中使用自己的域名(具体没试,但按照原理应该是这样);
请根据你的部署情况自行选择下方解决方案(我两个域名都配了,如果有怪情况也可以都配):
LeanCloud配置域名第一个方法是迁入国内版,但是需要备案,所以该方法本文不做推荐;第二个方法是国际版使用自己的域名;
在你的 LeanCloud 中找到 Waline 项目的数据库,左侧菜单-设置-域名绑定;然后在API访问域名中,点击”绑定新域名”;
在这 ...
使用Hexo和GitHub搭建博客的Hello World (Again)
背景最近闲时间比较多,也因为之前重装到了Win11,本地Hexo环境需要重新搭建,但因为时间太久忘记了配置流程,并且原主题还停止了维护,正好借着本次机会写一下Blog进行记录。
搭建流程下载NodeJs在 NodeJs中文下载页 下载所需版本,建议使用长期维护版(LTS)。下载后直接安装即可。
安装Git在 Git下载页 下载所需版本。码农的话应该都有Git,这里就不赘述了,泉子这里用的是 SourceTree(Git可视化界面)。
安装Hexo刚才算是安装Hexo的前置准备在 Hexo官网 可以看到安装指令,这里的话可以看我的步骤。我们先打开终端(此处以Win系统为例)Win键+R,打开cmd,执行以下命令
12npm config set registry https://registry.npm.taobao.orgnpm install hexo-cli -g
以上指令分别代表
切换npm下载配置到阿里云镜像(默认为国外镜像,国内使用很卡)
使用npm安装Hexo(-g参数代表全局安装)
现在就可以创建一个博客了
12345cd d:hexo init MyHexo ...
Java环境变量配置(Windows/Linux)
Windows设置全局变量右键【计算机】-【属性】-点击【高级系统设置】(以Win11为例,Win10及以下在左侧)选择【高级】选项卡,选择下方的【环境变量】;在系统变量(注意不是用户变量)中 新建/编辑 以下参数;
JAVA_HOME — %JDK路径%Path — %JAVA_HOME%\binCLASSPATH — .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
如果安装了多个JDK版本 可以专门设置该JDK的变量路径,例如:JAVA8_HOME — %JDK8路径%JAVA_HOME — %JAVA8_HOME%
命令行设置变量设置临时变量(临时在批处理/脚本中使用)123456@echo offset "JAVA_HOME" "%JAVA8_HOME%"set "PATH" "%JAVA_HOME%\bin"set "CLASSPATH" ".;%JAVA_HOME%\lib\dt.j ...
RxJava用法(2)
Rx背压问题:在异步情况中,被观察者发送事件的速率和观察者接收事件的速率不一样,会导致缓冲区溢&oom对策:背压策略(back pressure strategy)————控制事件流速原理:
反馈控制:被观察者根据观察者接收事件的能力发送事件
响应式拉取:根据观察者自身情况接收事件
缓冲区:对超出缓冲区的事件进行丢弃,覆盖,报错
具体使用:Flowable在flowable用法中,被观察者变成了Flowable类,观察者变成了Subscriber类,其他用法和规则不变
响应式拉取(控制观察者)123456789101112131415161718192021222324252627282930313233343536373839404142434445Flowable.create(new FlowableOnSubscribe<Integer>() { @Override public void subscribe(FlowableEmitter<Integer> emitter) throw ...
RxJava用法(1)
rxjava是一个异步框架,功能和handler类似,特点是链式调用,逻辑简单。
内容
观察者模式
rxjava异步使用
操作符介绍
rxjava背压
观察者模式java中的观察者模式,主要有三个关键词需要记住,被观察者(Observable),订阅(subscribe),观察者(Observer)。核心思想:被观察者和观察者通过订阅产生一种关系,当被观察者发生一些改变,通知观察者,观察者对应做出相应的回应。举例:小说是被观察者,读者是观察者,小说和读者之前通过subscribe产生订阅关系,小说更新了,通知读者去买新小说。
Rx异步使用创建被观察者(Observable)12345678910Observable<String> story = Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> emitter) throws Exception ...
Glide用法
添加依赖和访问网络权限
123implementation 'com.github.bumptech.glide:glide:4.13.0'implementation 'com.github.bumptech.glide:gifdecoder:4.13.0'//glide gif解码器annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'
1<uses-permission android:name="android.permission.INTERNET" />
常用的方法加载图片到ImageView1Glide.with(Context context).load(Strint url).into(ImageView imageView);
各种形式的图片加载到ImageView123456789101112131415// 加载本地图片File file = new File(getExternalCacheDir ...