- 博客(25)
- 收藏
- 关注
原创 VisuAlgo - Android 可视化算法 App
Android 可视化算法 App。使用自定义View和属性动画实现。源码预览则使用WebView加载assets目录中的html文件。(Vue项目实现)
2024-03-18 17:07:54
196
原创 自定义一个带步骤的进度View
需求最近需要做一个如下图带步骤的进度UI, 步骤的数量可根据输入而变化:我们就实现进度条和下面的文本描述, 本来想的是使用RecyclerView加GridLayoutManager来实现, 如分成五份后, 步骤圆点刚好在每个Item的分界线上, 虽然可以在每个Item布局里画上一条线和半个圆做到, 始尾结点则用完整的圆形, 但是步骤圆点下方的步骤描述文本可就没办法了, 所以决定使用自定义View来实现.准备首先使用一个列表存储步骤文本/** * 步骤视图 * ``` * author:
2022-04-09 17:31:03
2300
原创 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
原创 Android课程表App
最近写了个简单的Android 课程表App,我是个初学者,这个App里使用了:Android内置的SQLite数据库储存课程数据。课程的视图用CardView卡片视图。 课程的View是动态加入的,动态添加View的好处是很灵活 如果靠静态的XML构建的话就有点难扩展了,因为你不知道学生一天总共有多少节课
2017-09-08 16:43:49
26643
28
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人