摘要: 1. 标准方式 直接实例化对象 view.setOnClickListener(object : View.OnClickListener { override fun onClick(v: View?) { v?.getTag() } }) 2. lambda表达式 方法只有一个参数的时候可以使用 阅读全文
posted @ 2022-07-19 20:22 rome753 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 之前写过一篇使用RecyclerView,一句代码就够了,介绍了一个功能较完善的RecyclerView框架的实现。该框架虽然代码不多,但是仍然不够简洁,耦合度也比较高,难以扩展。现将里面的核心部分 OneAdapter 抽取出来,去掉不必要的泛型、类型判断和其他方法,以实现最简单、通用性和扩展性最 阅读全文
posted @ 2022-07-19 20:21 rome753 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 一些APP需要新手引导功能,如下图所示: 一个黑色半透明的浮层盖住页面的大部分,需要引导用户操作的地方突出显示。实现这种效果有两种思路: 将要突出显示的地方做成图片,放到下层页面相同的位置,实现伪透明效果。这样的缺点是,如果图片较大或者是动画会占用空间,或者要突出的内容是可变的也不合适。 在View 阅读全文
posted @ 2022-07-19 20:21 rome753 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 前言 RecyclerView出来有好几年了,它的重要性不言而喻。然而RecyclerView只提供了基本的View复用功能,相关功能如刷新、点击等都需要开发者自己实现,每个项目实现一遍RecyclerView功能集成又无必要,因此出现了许多RecyclerView封装的“轮子”,Github上一搜 阅读全文
posted @ 2022-07-19 20:20 rome753 阅读(133) 评论(0) 推荐(0) 编辑
摘要: https://github.com/tensorflow/examples digit_classifier 数字识别 阅读全文
posted @ 2022-07-19 20:20 rome753 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 新版使用方法 Github地址:https://github.com/rome753/ActivityTaskView 安装ActivityTaskView release app,启动并给予悬浮窗权限 https://github.com/rome753/ActivityTaskView/rele 阅读全文
posted @ 2022-07-19 20:19 rome753 阅读(1152) 评论(0) 推荐(0) 编辑
摘要: 安卓中使用相机从来就不是一件容易的事。 Camera1要自己管理Camera相机实例,要处理SufraceView相关的一堆东西,还有预览尺寸跟画面尺寸的选择,页面生命周期切换等等问题。。。 后来推出了Camera2,从官方Demo 就上千行代码来看,Camera2并不解决用起来复杂的问题,它提供了 阅读全文
posted @ 2022-07-19 20:19 rome753 阅读(811) 评论(0) 推荐(1) 编辑
摘要: 简介 Activity是四大组件中最重要的一个,也是平时开发中接触最多的。与Activity启动行为相关的就是它的启动模式,Standard、SingleTop、SingleTask、SingleInstance这4种launchMode相信大家不陌生,如果不太熟悉可以看这里: https://ww 阅读全文
posted @ 2022-07-19 20:18 rome753 阅读(2263) 评论(0) 推荐(0) 编辑
摘要: 原题 Write a program to solve a Sudoku puzzle by filling the empty cells. A sudoku solution must satisfy all of the following rules: Each of the digits  阅读全文
posted @ 2022-07-19 20:17 rome753 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 在多线程修改对象a的时候,即使加了空判断也容易发生空指针。 因为在判断a不为空后,另一个线程刚好把a置空,这时去使用a时就触发空指针异常了。 if (a != null) { a.foo(); } 多线程并发模拟:一个线程间隔10ms不停地读字符串str的长度,另一个线程每5ms把str置空或者重新 阅读全文
posted @ 2022-07-19 20:17 rome753 阅读(141) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/hokky/p/8529042.html 这篇文章总结得非常好,图表很详细,是Python的。下面我用Java实现一下。 1 比较类排序 1.1 冒泡排序 比较和交换相邻两个数,每一趟将最大的数移动到最后一位(参与比较的)。下一趟最后一位不动,对剩下的 阅读全文
posted @ 2022-07-19 20:16 rome753 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 创建型模式,共五种: 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种: 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种: 策略模式、模板方法模式、观者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问 阅读全文
posted @ 2022-07-19 20:16 rome753 阅读(307) 评论(0) 推荐(1) 编辑
摘要: 访问博客 0 起因 一直在简书上写博客,书写和传图很方便,缺点是个人主页太过简陋。我试了一下个人博客Hexo,发现虽然功能很强大,可定制性也很高,然而定制起来也很麻烦,大部分只能改改颜色样式排版等。我想做的是一个独一无二个人博客页面,比如有树状图、物理碰撞或者WebGL 3D效果等。 先做个物理碰撞 阅读全文
posted @ 2022-07-19 20:15 rome753 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 有些特殊的需求需要批量修改图片的md5哈希值,md5是文件的唯一标示,它是根据文件的所有字节运算得来的。只要文件数据有变化,md5就会改变。 #1 方案 图片的数据分为两部分,图片内容和描述信息,内容是二进制的,描述信息是文本类型,可以读取和修改。用16进制文本编辑器查看图片: 修改图片md5也就有 阅读全文
posted @ 2022-07-19 20:15 rome753 阅读(2624) 评论(0) 推荐(0) 编辑
摘要: 第2章 基础 include头文件 C风格:<math.h> C++风格(引入C库): C++风格(C++库): 名称空间 using namespace std; std::cout << ""; using std::cout; 函数 函数原型:只描述函数接口,一般在头文件中 函数定义:函数具体 阅读全文
posted @ 2022-07-19 20:14 rome753 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 输入 which java 返回的是 /usr/bin/java 顺着这个路径找到 chao@chao-mint /usr/lib/jvm/java-8-openjdk-amd64 $ ll total 28 drwxr-xr-x 7 root root 4096 5月 14 2018 ./ drw 阅读全文
posted @ 2022-07-19 20:14 rome753 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 空闲时在LeetCode上练练算法题,一般来说,很多题目最容易想到的就是递归算法。递归算法不仅容易想到和实现,而且写出来也是形式简单、容易理解的。 比如著名的“斐波那契数列”: 1,1,2,3,5,8... 数列的前两项都是1,后面的每一项都等于前两项之和,如何计算第n项? 用递归算法只需要如下两行 阅读全文
posted @ 2022-07-19 20:13 rome753 阅读(78) 评论(0) 推荐(0) 编辑
摘要: import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.System 阅读全文
posted @ 2022-07-19 20:13 rome753 阅读(230) 评论(0) 推荐(0) 编辑
摘要: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other. Given an integer n, return all 阅读全文
posted @ 2022-07-19 20:12 rome753 阅读(46) 评论(0) 推荐(0) 编辑