自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mg2flyingff的博客

这是一次分享知识的旅程,我们永远在路上~

  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

翻译 1. 现代文化中的金钱

一种像货币经济这样的现象,尽管看起来纯粹服从自身的内在规律,实际上却遵循了调节同时代的整个文化运动的同一节奏,这一节奏甚至控制了相去甚远的领域。和历史唯物主义(它认为整个文化过程取决于经济关系)不同,考察金钱给我们的启示是:虽然从经济生活的构成出发,确实对时代的心理状态和文化状态产生了深远的影响,但是另一方面,这种构成本身的特征却是来自历史生活巨大的统一潮流,这一潮流最终的推动力和动机仍是神圣的秘密。

2023-03-26 17:48:07 404

翻译 萨姆·阿尔特曼:如何获得成功(How To Be Successful)译文

我观察了成千上万的创始人,并思考了如何才能赚大钱或者创造一些重要的东西。通常,人们一开始想要前者,最后想要后者。我有13个关于如何实现这种杰出成功的想法。

2023-02-19 18:14:13 950

原创 Kotlin 值类 - value class

说起存储模型(model)时,Kotlin的数据类(dataclass)是我们的第一选择。数据类加上一系列必要的方法,使得开发人员的编码效率得到了很大的提升。Kotlin1.5引入了值类()。这是什么类型的类,我们又该何时使用它呢?...

2022-07-29 23:34:55 950

原创 LiveData与SnackBar、Navigation和其他事件(SingleLiveEvent案例)

视图(Activity 或者 Fragment)使用可观察的 可以很方便地与 ViewModel 通信。视图订阅 Livedata 数据的变化并对其变化做出反应。这适用于一直在屏幕上展示的数据。但是,有一些数据只需要消费一次,像 Snackbar 消息,导航事件或者对话框触发器。......

2022-07-09 15:26:19 783

原创 ViewModel 与 LiveData - 模式与反模式

理想情况下,ViewModels 不应该知道 Android 平台的任何信息。这可以提高 ViewModel 的可测试性、泄漏安全性和模块性。一般的经验法则是,确保在你的ViewModel 中没有导入 包(除了 )。Presenter 也应是如此。条件语句、循环和一般决策应该由 ViewModel 或者 app 的其他层而非 Activity 或 Framework 负责完成。 视图通常没有单元测试,所以里面的代码越少越好。.........

2022-07-07 23:34:20 601

原创 Android 触摸系统 - 第二部分:常见触摸事件处理场景

这是 Android 触摸系统系列文章的第二部分,第一部分:触摸函数和 View 层次结构深入解析了触摸处理函数以及这些函数如何影响触摸事件在view 层次系统中的流动。本文将用图表展示这些触摸函数如何工作。...

2022-07-06 22:14:03 488

原创 Android 触摸系统 - 第一部分:触摸函数和 View 层次结构

如果对Android视图如何触摸事件没有深刻的理解,你会对许多触摸行为感到迷惑:为什么点击了按钮没有生效?为什么 没有滚动?为什么我需要处理嵌套的 ?本文将介绍触摸事件如何在 view 层次结构中流动,核心函数如何影响事件流。......

2022-07-03 20:11:40 547 1

原创 Kotlin的对象表达式(Object expressions)

本文介绍关于对象表达式的一些概念和用法

2022-07-01 23:44:56 418

原创 Kotlin中的集合函数

本文会介绍一些 Kotlin 集合函数,这些函数可以极大地提高我们的开发效率,可以作为小抄随时翻阅~

2022-07-01 23:12:52 2080

原创 Kotlin 协程异步编程

本文将展示如何轻松高效地使用Kotlin协程写出异步代码。

2022-06-29 22:23:34 741

原创 Kotlin 伴生对象(companion object) VS 全局函数

Kotlin的伴生对象(companion object)在语法上类似于Java中的静态方法,所以很多人也都是这样用的。本文将向你展示伴生对象的工作方式和在Kotlin中创建静态方法的推荐做法。

2022-06-28 23:33:38 1304

原创 Android 实现连续多次点击

定义一个通用的抽象类:public abstract class MultiClickListener : View.OnClickListener { private var count = 5 // 默认连续点击5次 private var hits: LongArray = LongArray(count) //记录点击次数 private var duration: Long = 2000L // 默认有效时间 constructo

2021-05-19 10:08:39 2039

原创 Android 自带对象池Pools工具类简介

Android 包 androidx.core.util 下有个工具类 Pools,为开发者提供了两种对象池,没有同步控制的SimplePool 和 有同步控制(访问加锁)的SynchronizedPool(继承自SimplePool),方便开发者根据需要创建对应类型的对象池Pools类的源码也非常简单,一看就懂public final class Pools { /** * 对象池接口 */ public interface Pool<T> {

2021-03-01 23:39:18 837

原创 Java虚拟机类加载机制简介

本文介绍Java虚拟机类加载机制。以下内容总结来自于《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制类的生命周期包括以下 7 个阶段:加载(Loading)验证(Verification)准备(Preparation)解析(Resolution)初始化(Initialization)使用(Using)卸载(Unloa

2021-02-10 23:39:38 110 1

原创 Java虚拟机内存分配与回收策略简介

本文介绍Java虚拟机内存分配与回收策略。以下内容总结来自于《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》Java虚拟机自动内存管理机制包含两个方面:给对象分配内存以及回收分配给对象的内存内存回收与垃圾收集器在很多时候都是影响系统性能、并发能力的主要因素之一,虚拟机之所以提供多种不同的收集器以及提供大量的调节参数,是因为只有根据实际应用需求、实现方式选择最优的收集方式才能获取最高的性能Minor GC 与 Full GC新生代GC(Minor GC):指发生在新生代的垃圾收集

2021-02-10 22:48:44 206

原创 Java 虚拟机垃圾收集机制简介

本文介绍Java虚拟机垃圾回收机制。以下内容总结来自于《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》垃圾收集机制垃圾收集需要考虑三件事:哪些内存需要回收?什么时候回收?如何回收?回收对象垃圾收集主要是针对Java堆和方法区进行程序计数器、虚拟机栈和本地方法栈这三个区域只存在于线程的生命周期内,因此不需要对这三个区域进行垃圾回收Java堆和方法区是线程共享的。在程序运行期间,一个接口的多个实现类所需内存可能大小不一样;一个方法中多个分支所需要的内存可能不一样;程序运行时

2021-02-10 16:15:21 156 1

原创 Java内存区域知识简介

本文介绍Java虚拟机内存的各个区域。以下内容总结来自于《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》Java内存区域Java虚拟机在执行Java程序的过程中将其所管理的内存划分为以下几个运行时数据区域:线程独有的数据区程序计数器记录当前线程正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法,则为空(Undefined))Java虚拟机栈虚拟机栈描述的是Java方法执行的内存模型:每个 Java 方法在执行时会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出

2021-02-08 23:54:21 97

原创 Android ColorStateList 设置同时处于两个状态的颜色不生效

ColorStateList 允许我们根据View的不同状态为View设置不同的颜色,比如TextView在按压态、选中态、禁用态等状态的背景颜色。创建方式有两种:XML静态定义和java代码动态创建XML 静态定义和使用创建color类型的xml资源文件,然后在布局的xml文件中引用该颜色资源文件即可<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com

2021-02-03 18:39:46 735

原创 Android 属性动画原理解析

目录属性动画简介什么是属性动画属性动画的基本模型android 属性动画使用示例ValueAnimatorObjectAnimatorViewPropertyAnimator属性动画的执行流程动画循环代码实现帧刷新机制Android Display系统的工作方式早期帧刷新机制优化:Project Butter代码实现根据动画已播放时长计算属性值线性动画示例非线性动画示例时间插值器类型估值器代码实现设置属性值代码实现

2021-01-17 00:45:52 2180 2

原创 Android materialDesign 风格阴影 改变阴影颜色

我们知道,在 Android 5.0 以后,可以通过 xml 或 Java代码 的方式给 View 添加阴影// 方式一:xml 设置android:elevation="10dp"// 或android:translationZ="10dp"// 方式二:java 代码设置view.setElevation(20);// 或view.setTranslationZ(20);...

2020-05-01 15:16:24 7207 3

原创 李建忠讲23种设计模式笔记-下

接口隔离在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题,甚至根本无法实现。采用添加一层间接(稳定)接口来隔离本来相互紧密关联的接口是一种常见的解决方案典型模式Façade(门面模式)ProxyAdapterMediator(中介者)第十四讲:设计模式之 Façade 门面模式动机上述A方案的问题在于组件的客户和组件中各种复杂的子系统有过多的耦合,随着外部客户程...

2020-05-01 12:59:32 1199

原创 李建忠讲23种设计模式笔记-上

第一讲:设计模式简介什么是设计模式“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。——Christopher Alexander如何解决复杂性1.分解即分而治之,将大问题分解为多个小问题,将复杂问题分解为多个简单问题。分解是人们面对复杂性时的常见做法2.抽象由于不能掌握全部的复杂对象,从而选择...

2020-04-06 23:20:36 2396

原创 Android仿照薄荷appBMI控件实现

Android仿照薄荷appBMI控件实现BMI原图和实现的效果图BMI控件的实现在XML中自定义属性在java代码中自定义view使用自定义控件添加背景和虚线分割线结语BMI原图和实现的效果图BMI页面:实现效果图: BMI控件的实现BMI控件主要由标题、三段线、当前数值和指示图标、数值刻度和中间的文字组成。这个控件我们可以通过自定义控件实现。在XML中自定义属性在styles....

2018-11-08 17:39:27 1234

原创 Android 获取屏幕宽度、高度、dpi等信息

在Android中,关于屏幕的宽度、高度等的信息都封装在DisplayMetrics 类中,获取 DisplayMetrics 的方法以下几种:不需要用到 context 的:第一种:DisplayMetrics metrics = new DisplayMetrics();WindowManager manager = (WindowManager) context.getSys...

2018-10-16 16:34:56 5143 3

原创 关于javax.servlet.jsp.JspTagException: No message found under code 'name' for locale 'zh_CN'.错误的原因分析

javax.servlet.jsp.JspTagException: No message found under code 'name' for locale 'zh_CN'.是国际化中的常见错误。在说明问题之前,先简单说明一下xml中的配置。首先你在xml里配置的MessageSource代码应该是这样的(只加载一个资源文件messages.properties):

2017-02-15 14:41:31 16926 3

原创 python中的散点图还可以这么画

大家平时为了直观地显示数据的分布情况,在画散点图的时候,简单地把数据点用圆点标出来,像这样: 这样: 还有这样:然而今天我想给大家展示的散点图,或许没有那么直观地反映数据的分布情况,不够实用,但是真的很美很艺术,每个的点的颜色和大小都不一样,形状也是多变的。比如五角星的散点图: 圆点的散点图: Y形的散点图: 等等还有很多,那么这些漂亮的形状是怎么画出来的呢?其

2016-11-30 23:17:59 51271 8

原创 Android按照拼音排序获取联系人并根据拼音首字母获取联系人

在写安卓程序的时候,需要获取联系人的信息,需求是根据联系人姓名拼音的首字母查询联系人的信息,也就是说给定一个字母,要查出所有的拼音以该字母开头的联系人。在网上看了好多博客,都建议说使用SORT_KEY_PRIMARY字段,看了下Android源码,该字段返回的的确是拼音拼写,然而我用的时候,它返回的还是联系人的名称,没有拼音!说明一下,我用的是Android6.0系统。我百思不得其解,为什么呢?再

2016-04-21 20:12:25 4317

原创 设置ListView item 不可点击,item中的元素可以点击

一般来说,如果item中存在ImageButton、Button、CheckBox 等子控件(Button或Checkble的子类控件),这些控件会自动获取焦点,然而如果item中没有这类控件时又该如何设置呢?其他的控件如Image、LinearLayout(还有其他的各种layout)、TextView等都不会自动获取焦点,那我们就在需要点击的元素的布局中加上android:focusable=

2016-03-25 10:28:38 3224

原创 Android 用state list drawable动态改变按钮点击前后的状态

有时候我们希望按钮在点击时和未点击时显示不同的背景和(或)文字样式,这时我们可以使用state list drawable自定义drawable。首先我们创建按钮点击状态下应显示的shape(res/drawable/button_shape_pressed.xml):<shape xmlns:android="http://schemas.android.com/apk/res

2016-01-06 20:43:36 1216

原创 java实现PlayFair密码加解密算法

Playfair密码是最著名的多表代换密码,他把明文中的双字母音节作为一个单元并将其转换成密文的“双字母音节”。Playfair算法基于一个由密钥词构成的5×5字母矩阵。填充矩阵的方法是:首先将密钥词从左至右、从上至下填在矩阵格子里,再将剩余的字母按字母表的顺序从左至右、从上至下填在矩阵剩下的格子里。英语有26个字母,可以去掉使用频率最少的一个字母,或者可以把i和j当成一个字母看待。1、先

2015-11-18 18:20:27 5145 2

原创 欧几里得算法求两个正整数的最大公因子

Euclid算法(即欧几里得算法)是求两个正整数的最大公因子的算法。我们用gcd(a, b)表示a和b的最大公因子。则    gcd(a, b) = max[k, 其中k | a 且k | b]因为我们所求的最大公因子是正数,所以gcd(a, b) = gcd(a, -b) = gcd(-a, b) = gcd(-a,-b)。一般来说,gcd(a, b) = gcd(|a|,

2015-10-02 15:33:11 3504

原创 Java改变程序观感

在默认的情况下。Swing程序使用Metal观感,可以采用两种方式改变观感。 •第一种方式是在java安装的子目录jre/lib下有一个文件夹swing.properties。在这个文件中,将swing.defaultlaf设置为所希望的观感类名例如:swing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel属性文件

2015-08-23 18:58:32 1529

原创 java反射机制功能之---检查类的结构

java反射机制的功能极其强大,可以用来在运行中分析类的能力、在运行中查看对象、实现通用的数组操作代码、利用Method对象等。在这里主要说下反射机制最重要的内容-检查类的结构(利用反射分析类的能力)。         在java.lang.reflect包中有三个类Field、Method和Constructor分别用于描述类的域、方法和构造器。这三个类都有一个getName的方法,用来返回

2015-08-22 19:55:59 592

原创 java 从控制台输入密码

如果想从控制台读取用户输入,我们一般用Scanner 类留可以了,但是其输入是可见的,所以Scanner类不适用于从控制台读取密码。Java SE 6 引入了Console类实现这个目的。Java.lang.System类提供静态方法console()获取Console类的实例。•static Console console()Console类提供几个静态方法读取用户输入不带提示信息读

2015-08-20 16:48:57 8770 1

原创 java 实现显示屏上字符串滚动显示的效果

今天路过一家商店看到滚动的显示屏,就做了这个很简单有好玩的程序,用java实现字符串滚动显示。O(∩_∩)O下面是源代码:package main.slidetext;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.FontMetrics;i

2015-08-13 21:52:13 11738 6

原创 java生成二维码、条形码和二维码、条形码的解码

首先,使用java生成二维码和条形码需要ZXingZXing是一个开源Java类库用于解析多种格式的条形码和二维码.官网:http://code.google.com/p/zxing/MatrixToImageWriter类辅助生成二维码,该类是由Google提供的,我们可以把它复制到自己的项目中使用:下面是MatrixToImageWriter类的源代码:package

2015-08-12 15:26:31 9067 7

原创 java实现打开文件和保存文件功能

本人是新手,在学习java如何打开文件和保存文件,功能很简单,实现起来也不麻烦。附源代码:public class FileOpenAndSave extends JFrame{private static final long serialVersionUID = 4029562126308556571L;private JPanel panel1, panel2;priva

2015-08-11 19:52:24 10887

原创 java实现文件拖拽

学习使用java的文件拖拽控件DropTarget。实现文件拖拽到指定控件并显示文件路径和内容、同时将文件写到内存中等功能。下面是源代码:// 这里实现了DropTargetListener接口,监听拖拽事件public class DropTargetDemo extends JFrame implements DropTargetListener {private stat

2015-08-11 15:50:22 4042

记事本java代码

本资源包含记事本java源代码,并且含有可运行的exe文件

2016-01-10

空空如也

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

TA关注的人

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