自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 VisuAlgo - Android 可视化算法 App

Android 可视化算法 App。使用自定义View和属性动画实现。源码预览则使用WebView加载assets目录中的html文件。(Vue项目实现)

2024-03-18 17:07:54 196

原创 Windows GCC 输出中文乱码的完美解决方案

Windows vscode clion gcc 中文乱码完美解决

2023-10-18 17:42:55 783 2

原创 自定义一个带步骤的进度View

需求最近需要做一个如下图带步骤的进度UI, 步骤的数量可根据输入而变化:我们就实现进度条和下面的文本描述, 本来想的是使用RecyclerView加GridLayoutManager来实现, 如分成五份后, 步骤圆点刚好在每个Item的分界线上, 虽然可以在每个Item布局里画上一条线和半个圆做到, 始尾结点则用完整的圆形, 但是步骤圆点下方的步骤描述文本可就没办法了, 所以决定使用自定义View来实现.准备首先使用一个列表存储步骤文本/** * 步骤视图 * ``` * author:

2022-04-09 17:31:03 2300

原创 使用自定义View和属性动画做一个自动动画汉诺塔 !

使用自定义View和属性动画做一个自动动画汉诺塔 !

2020-06-06 18:55:59 1641 1

原创 Flutter InheritedWidget

讲述 InheritedWidget 的用法和一部分原理.

2019-12-08 13:36:11 334

原创 Flutter 三棵树的关系

Flutter Widget、Element和RenderObject三棵树的关系

2019-12-06 10:43:31 2629

原创 Flutter Overlay

使用Overlay实现悬浮组件的效果, 和源码分析.

2019-09-25 15:42:53 1733

原创 Android MotionEvent事件分发

直接上图,清晰明了,图片来自这里。触摸屏幕后产生MotionEvent对象疑问onTouchEvent()和onclick()方法有什么关系?假设用户点击了一个按钮,系统会调用Button所继承View类的dispatchTouchEvent()方法。下面是View的部分源码,还可以看到有注册OnTouchListener和OnClickListener监听器的set方法:pub...

2019-03-18 17:01:40 434

原创 Windows 简单配置使用 LLVM/Clang 和 MinGW/GCC 作为 C/C++ 环境

Windows 简单配置使用 LLVM/Clang 和 MinGW/GCC 作为 C/C++ 环境

2019-01-18 16:23:12 2158

原创 Android View的滑动

Android 坐标系Android 中的坐标系有点不同于数学的坐标系,Android 的坐标原点在屏幕的左上角,设蓝色圆点为用户点击的地方,下面一张图清晰明了的表示各个方法和屏幕之间的距离关系,其中getX()、getY()是是获取相对子View左上角的坐标轴,getRawX()、getRawY()是获取屏幕的绝对坐标轴。 图片来源那么我们可以知道:子View的getWidt...

2018-09-22 21:54:03 285

原创 Android绑定服务与AIDL

绑定服务如果您的服务仅供本地应用使用,不需要跨进程工作,则可以实现自有Binder类,让您的客户端通过该类直接访问服务中的公共方法。 注:此方法只有在客户端和服务位于同一应用和进程内这一最常见的情况下方才有效。 例如,对于需要将 Activity 绑定到在后台播放音乐的自有服务的音乐应用,此方法非常有效。以下是具体的设置方法:在您的服务中,创建一个可满足下列任一要求的B...

2018-09-03 23:39:38 1880

原创 每日干货——每日分享技术干货App

EverydayGank每日干货——每日分享技术干货(周末不更新 )。API 来自Gank.io 是学习和练手简单之作。 Material Design设计,状态栏浸染。 使用了以下开源库:implementation 'de.hdodenhof:circleimageview:2.2.0'implementation 'com.google.code.gson...

2018-08-15 17:26:34 3684

原创 Git 笔记

文章参考整理自廖雪峰的Git教程安装官网下载配置安装后在Bash里输入命令:git config --global user.name "Your Name"git config --global user.email "email@example.com"因为Git是分布式版本控制系统,所以,每

2018-08-15 17:20:04 172

原创 Java TCP 编程

接上一篇的内容,下面是TCP编程的步骤: TCP分为客户端和服务端,其中:客户端 创建Socket连接服务端(指定ip地址,端口号)通过ip地址找对应的服务器调用Socket的getInputStream()和getOutputStream()方法获取和服务端相连的IO流输入流可以读取服务端输出流写出的数据输出流可以写出数据到服务端的输入流服务端 创建ServerSoc...

2018-08-08 12:28:55 757

原创 Java Socket 套接字

基础知识网络的三要素:1)IP地址 每个设备在网络中的唯一标识。每台网络终端终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址。2)端口号既然IP地址可以找到一个唯一的设备,那么端口号就是每个程序在设备上的唯一标识。每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上,还要明确发到哪个程序。端口号范围是0 ~ 65536,其中0 ...

2018-08-01 15:29:43 1607

原创 Android ThreadPool 常见线程池

传统的多线程缺点:每次新建/销毁线程对象消耗资源、响应速度慢。线程缺乏统一管理,容易出现阻塞的情况。使用线程池的好处:降低线程的创建和销毁带来的性能开销。控制线程并发数,合理使用系统资源,优化响应速度。提高对线程的管理度,如定时执行。常见的4类线程池Executor是一个接口,线程池中的真正实现者:ThreadPoolExecutor。 Androi...

2018-07-31 21:54:47 454

原创 Java 3个或3个以上的线程通信

Java 三个或三个以上的线程通信在上一个帖子中简单的表示了两个线程之间的通信,但如果有三个线程或以上还能用类似的方法吗?通过再增加一个print3的方法,再加一个线程来让三个线程顺序执行呢,直接说结果:不行!因为notify()方法是随机唤醒一个等待中的线程,当有两个线程在等待的时候,只会随机的唤醒其中的一个,被唤醒的线程就会绕过判断flag变量的判断,执行其他的顺序了,那么三个线程肯定...

2018-07-31 14:29:37 740 1

原创 Java 两线程通信

Java 两线程通信先上代码public class Test { public static void main(String[] args) { final Printer printer = new Printer(); //启动线程1 new Thread() { @Override ...

2018-07-31 13:30:20 262

原创 Java 单例设计模式

单例设计模式单例设计模式:保证类在内存中只有一个对象。如何保证类在内存中只有一个对象呢? 控制类的创建,不让其他类来创建本类的对象。private在本类中定义一个本类的对象。Singleton s;提供公共的访问方式。public static Singleton getInstance() { return s; }两种单例写法: 饿汉式public class...

2018-07-30 16:19:07 351

原创 Android本地存储和SharedPreferences

本地IOContext类提供的应用内部基本文件和目录处理方法如下。File getDir(String name, int mode) //获取/data/data/<包名>/目录的子目录(如果不存在就先创建它)。File getFilesDir() //获取/d...

2018-07-01 13:55:32 758

原创 Android使用LruCache来缓存Bitmap

Picasso为追求小而美,有功能取舍,比如,它无法支持下载动态图片。如果你有这个需求,可以考虑使用Google的Glide或Facebook的Fresco。它们各有特点,Glide比较小巧,Fresco性能好。上面的库都有缓存机制,如果自己实现的话,可以使用许多缓存机制使用一种叫作LRU(least recently used,最近最少使用)的存储策略。基于该种策略,当存储空间用尽时,缓...

2018-07-01 13:29:19 839

原创 Android消息循环机制-笔记

关于Android的消息循环机制的基础知识可以前往:http://blog.csdn.net/crazy1235/article/details/51707527查看,写的非常详细,非常好.此文章也参考了它,因为是笔记,所以我再自行总结一下.Android不建议在主线程中做耗时操作,比如IO操作、网络请求等操作,否则容易引起程序无法响应(ANR)。所以想这些耗时操作,都会放到其他的线程中进行处理,...

2018-06-25 19:43:54 343

原创 Java代码模拟按键玩Android微信跳一跳

微信跳一跳这个小游戏很火,网上已经出现了很多“辅助”,大部分都可以让你拿高分,常年稳置榜首,9999分不是梦。我出于兴趣,使用Java也写了一个,只能在Android上玩,我写这个不是为了拿高分,测试的时候是离线下测试的,就是想写来玩一玩。大概思路如下:电脑通过数据线连接手机。通过 adb shell screencap -p /*.* 让手机截屏并保存到SD卡。使用 ad

2018-03-04 20:38:51 878

原创 快排要从右开始的原因

分析快排要从右开始的原因,并给出核心解决逻辑

2017-10-02 13:21:24 6304 1

原创 Android课程表App

最近写了个简单的Android 课程表App,我是个初学者,这个App里使用了:Android内置的SQLite数据库储存课程数据。课程的视图用CardView卡片视图。        课程的View是动态加入的,动态添加View的好处是很灵活        如果靠静态的XML构建的话就有点难扩展了,因为你不知道学生一天总共有多少节课                

2017-09-08 16:43:49 26643 28

空空如也

空空如也

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

TA关注的人

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