6 zhangphil

尚未进行身份认证

我要认证

《高性能Android开发技术》(北京航空航天大学出版社)作者。

等级
TA的排名 129

Android防止用户快速点击触发

Android的按钮或某些组件在接受用户点击时候,会触发提交或响应用户事件,比如提交一次数据到网络服务器,假设用户点击速度太快,以至于这两次点击事件相差无几,会造成接下来的业务逻辑处理异常,因此需要对用户快速点击事件做一层拦截,我实现了一个安全的拦截用户快速点击事件类:package zhangphil.app;import android.os.Handler;import android.os.Looper;import android.os.Message;import android

2020-10-11 23:07:00

ViewPager2和Fragment可见性及懒加载解决方案

ViewPager2和Fragment新的可见性及懒加载解决方案,旨在解决ViewPager(ViewPager2)只有当前Fragment唯一可见时候网络刷新或绘图。注意:过去的setUserVisibleHint()已被废弃,开发者不要再使用基于setUserVisibleHint()解决Fragment可见性和懒加载(或延迟加载)的场景。新方案用最新的ViewPager2替代过去旧版的ViewPager,再结合Fragment的resume和pause生命周期实现。写一个demo例子,测试的主类M

2020-10-01 09:43:00

Java函数泛型List参数,操作泛型元素

import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Main { public static void main(String[] args) { new Main().test(); } private class TA { public int id = -1; } private c...

2020-09-24 23:58:46

Android官方实现的层次状态机Hierarchical State Machine源代码

Android官方内部的源代码中实现了一套有限状态机,总共有三个代码文件:IState.java , State.java, StateMachine.java,目录位置在:https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/com/android/internal/util/package com.android.internal.util;import andro.

2020-09-21 23:10:59

Android JobIntentService

package zhang.phil;import android.content.Context;import android.content.Intent;import android.os.Handler;import android.os.SystemClock;import android.util.Log;import android.widget.Toast;import androidx.core.app.JobIntentService;public class D.

2020-09-10 23:05:16

Android Studio查看apk的MD5,SHA1,SHA-256

Android Studio 右侧面板的 Gradle,点开,Tasks -> android -> signingReport

2020-09-07 23:24:08

继承FlexboxLayout自定义可自动换行的tag标签

实现效果如图:通过继承自FlexboxLayout实现,Java代码:package org.test;import android.content.Context;import android.graphics.Color;import android.graphics.drawable.GradientDrawable;import android.util.AttributeSet;import android.widget.LinearLayout;import a.

2020-09-03 23:17:18

行列式稀疏矩阵余因子展开,线性代数,数学

2020-08-20 23:05:24

余因子展开练习,线性代数,数学

2020-08-18 23:12:50

强化学习-PPO(Proximal Policy Optimization)笔记

强化学习可以划分成基于值和基于策略两种。深度强化学习领域,将深度学习与基于值的Q-Learning算法相结合产生了DQN算法。具代表性的是Q-Learning与Policy Gradient算法。Q-Learning算法与深度学习相结合产生了Deep Q Network,又出现将两种方式优势结合在一起的Actor(Agent)-Critic,PPO(Proximal Policy Optimization)等算法。在监督学习中,实现损失函数、做梯度下降很容易,而且基本上调节参数就能够得到好的结果。但是在

2020-08-13 23:33:17

git同步、更新本地代码和远程分支代码,使其保持一致

git pull origin 分支名

2020-08-04 00:00:29

线性代数求解矩阵的逆两种方法,Python,numpy,数学

假设有矩阵:求该矩阵的逆:import numpy as npif __name__ == '__main__': a = np.array([[1, 0, 0], [0, 1, 0], [-5, -5, 1]]) print(np.linalg.inv(a)) A = np.matrix(a) print(A.I)输出:[[ 1. -0. -0.] [ 0. 1. 0.] [ 5. 5. 1.]][[ 1. -0. -..

2020-07-03 00:34:00

OpenCV方向梯度直方图HOG视频中运动人体检测,Python

OpenCV方向梯度直方图HOG视频中运动人体检测,Python假设需要把一段视频中的处于运动(活动)的人体检测出来并用框将人框起来:from imutils.object_detection import non_max_suppressionimport numpy as npimport imutilsimport cv2hog = cv2.HOGDescriptor()hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDe

2020-06-17 23:51:33

OpenCV图像二值化,Python

OpenCV图像二值化,Python原图:二值化处理:import cv2if __name__=="__main__": image = cv2.imread("pic.jpg") gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) #超过阈值thresh,值为255,未超过为0。 ret1, p1 = cv2.threshold(src=gray, thresh=127, maxval=255, ty.

2020-06-15 23:02:23

Android 10异常:File创建文件权限拒绝Permission denied

Android 10异常:File创建文件权限拒绝Permission denied解决方案在Androidmanifest.xml的application定义中添加:android:requestLegacyExternalStorage="true"

2020-06-13 01:50:57

RGB颜色值转换为HSV色域分量值,Python

def rgb2hsv(r, g, b): r, g, b = r/255.0, g/255.0, b/255.0 mx = max(r, g, b) mn = min(r, g, b) m = mx-mn if mx == mn: h = 0 elif mx == r: if g >= b: h = ((g-b)/m)*60 else: h = ((g-b.

2020-06-12 08:04:24

K-means均值聚类算法寻找质心,Python

import numpy as np# 欧氏距离计算def distEclud(x,y): return np.sqrt(np.sum((x-y)**2)) # 计算欧氏距离# 为给定数据集构建一个包含K个随机质心的集合def randCent(dataSet,k): m,n = dataSet.shape centroids = np.zeros((k,n)) for i in range(k): index = int(np.random..

2020-06-10 23:11:08

OpenCV图像寻找特定颜色像素点坐标,并用不同颜色描点填充,Python

OpenCV图像寻找特定颜色像素点坐标,并用不同颜色描点填充,Python假设现在有一张九宫格图片:需要把图中的1到9数组用金黄色颜色描点填充。import cv2import numpy as npif __name__=="__main__": img = cv2.imread("pic.jpg") hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 色彩空间转换为hsv,分离. #色相(H)是色彩的基本属性,

2020-06-09 00:55:26

Python视频添加水印

假设现在有一个源视频文件test.mp4,把watermark.jpg作为水印图片logo加入到视频test.mp4中,最终生成添加水印后的result.mp4文件:import moviepy.editor as mpif __name__ == "__main__": video = mp.VideoFileClip("test.mp4") logo = (mp.ImageClip("watermark.jpg") .set_duration(vi.

2020-06-06 01:49:58

OpenCV对视频录像按照间隔切割抽取图片帧,Python

#OpenCV对视频录像按照间隔切割抽取图片帧,Pythonimport cv2import osif __name__ == "__main__": vc = cv2.VideoCapture('test.mp4') if vc.isOpened(): # 是否正常打开 print("打开ok") else: print("打开失败,程序退出") exit(-1) savedpath = 'image/' .

2020-06-05 07:53:25

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 1024超级勋章
    1024超级勋章
    授予原创文章总数达到1024篇的博主,感谢你对CSDN社区的贡献,CSDN与你一起成长。
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。