- 博客(21)
- 收藏
- 关注
原创 JetBrains出品,一款好用到爆的数据库工具,惊艳到了!!!
当在datagrip的文本编辑区域编写sql时,按住键盘Ctrl键不放,同时鼠标移动到sql关键字上,比如表名、字段名称、或者是函数名上,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象。如果下载的驱动有问题,可以手动添加本地驱动包,在试用过程中,创建Oracle连接时,下载的驱动包就有问题,提示缺少class,点击右侧绿色的+号,选择本地下载好的jar包,通过右侧上下箭头,将导入的jar包移到最上位置就OK了。
2025-01-12 20:19:08
906
原创 java面向对象程序设计课程3_java 面向对象程序
关系运算符用于比较两个变量或表达式的值的大小关系。在Java 中,关系运算结果值为bool 类型,包括“true”或“false”注意:==用来判断相等关系,并非用来赋值。赋值使用的是赋值符号 =关系运算不改变操作数的值使用关系运算符可以比较程序中两个值的大小关系,但在程序中经常需要从多个比较关系中得到综合判断的结果。用来快速实现条件判断并根据条件返回不同的结果。语法:布尔表达式?表达式1:表达式2。
2025-01-12 19:56:36
763
原创 java面向对象程序设计课程3_java 面向对象程序
关系运算符用于比较两个变量或表达式的值的大小关系。在Java 中,关系运算结果值为bool 类型,包括“true”或“false”注意:==用来判断相等关系,并非用来赋值。赋值使用的是赋值符号 =关系运算不改变操作数的值使用关系运算符可以比较程序中两个值的大小关系,但在程序中经常需要从多个比较关系中得到综合判断的结果。用来快速实现条件判断并根据条件返回不同的结果。语法:布尔表达式?表达式1:表达式2。
2025-01-12 19:52:54
637
原创 flutter版本控制工具 `FVM`
Usage: fvm install - # 安装在项目配置中找到的版本 fvm install {version} - # 安装特定版本 Option: -h, --help Print this usage information. -s, --skip-setup Skips Flutter setup after install。列出已安装的 Flutter SDK 版本。将fvm 符号链接的***绝对***路径复制到您的项目根目录中。
2025-01-12 02:34:31
484
原创 Flutter学习指南:编写第一个应用
本篇文章其实介绍了两种调试方法:打 log 和 debugger。虽然现在 Flutter 提供的 log 工具比较简陋,可以预期未来还会进一步完善。使用打 log 的方式,好处在于不会对执行流程产生较大的影响,在多线程环境尤为有用。它的速度也比较快,不需要我们去单步执行。不足之处在于,如果原先没有对应的 log,我们只能修改代码重新运行,才能查看相应的状态。对于线上的应用,我们也只能够通过分析 log 来定位问题。debugger 跟打 log 方式是互补的。
2025-01-12 02:30:50
296
原创 Flutter_Dart中的异步
本文大致介绍了Flutter/Dart中的异步运行机制,从异步运行的基础(Event Loop)开始,首先介绍了最原始的异步运行机制,直接调度回调函数;到Future;再到async和await。了解了Flutter/Dart中的异步运行机制是如何一步一步的进化而来的。对于一直从事Native开发,不太了解JavaScrip的同学来讲,这个异步机制和原生开发有很大的不同,需要多多动手练习,动脑思考才能适应。本文中介绍的相关知识点较为粗浅,并没有涉及dart:async中关于Future实现的源码分析以及。
2025-01-12 02:27:08
385
原创 Android平滑移动——Scroller类研究
scrllTo()/scrollBy()是view移动的两个方法;其实Scroller与View的滑动是没有关系的,它只是计算在动画执行某个时间所在的某个位置的坐标,这样就形成了坐标路线,再view根据坐标路线循环invalidate在界上新显示,就形成了我们看到的平滑移动了。答:跟上面一样,会死循环刷新View,只是由于Y坐标不断的在变化,导致了View根据Y坐标变化规律上下移动,这样一来,如果Y坐标的变化是有规律的,是慢慢向下移动的,那这就达到了我们今天要研究的效果----平滑移动了;
2025-01-11 11:48:17
1827
原创 Android常用方法
17、TextView、Button等设置文本滚动(跑马灯效果),控件必须获得焦点才能有滚动效果,并且文字长度大于控件长度。11、如果历史栈中包含Activity,打开此Activity从栈中放到栈顶层而不是从新打开Activity。tvTime.setText( " 当前时间: " + sdf.format( new Date()));//marquee_forever:一直滚动下去,n(整数):滚动n次。// 设定窗口模式(仿Dialog中的icon,带有一个左图标)// 为标题栏设置一个xml布局。
2025-01-11 11:44:36
276
原创 Android常用开源库(模块部分)
创建Glide的主要目的有两个,一个是实现平滑的图片列表滚动效果,另一个是支持远程图片的获取、大小调整和展示。OkHttp是对Http协议的高度封装,支持get请求和post请求,支持基于Http的文件上传和下载,支持加载图片,支持下载文件透明的GZIP压缩,支持响应缓存避免重复的网络请求,支持使用连接池来降低响应延迟问题。Volley和Retrofit一样,也是一个网络请求框架,以通过它访问普通的网络数据,如JSON格式的数据,也可以下载图片。内部集成了OkHttp的网络框架(毕竟都是一家的产品)。
2025-01-11 11:40:54
1422
原创 Android数据库—SQLite
/创建数据,使用ContentValues -> HashMap。//适配器设置,加入到recyclerview中。//声明并且初始化显示在界面上的数据对象。//构造数据,从数据库中查找已存在的信息。//声明增加数据需要的三个输入框。//得到查询条件,%实现模糊查询。//获得四个输入框对象,方便修改。//将修改后的数据构造为数据对象。//采用cursor游标查询。//显示弹框,并且修改数据。//声明查询条件输入框。//删除按钮监听事件。//修改按钮监听事件。
2024-12-17 03:57:39
354
原创 Android性能优化:微信自用高性能持久化框架——MMKV组件原理
然而 MMKV 在内存里缓存了所有的 key-value,在总大小比较大的情况下(例如 100M+),App 可能会爆内存,触发重整回写时,写入速度也会变慢。这样一来,数据只需要从A进程的用户空间,直接拷贝到B所对应的内核空间,而B多对应的内核空间在B进程的用户空间也有相应的映射,这样就无需从内核拷贝到用户空间了。Linux的内存分用户空间跟内核空间,同时页表有也分两类,用户空间页表跟内核空间页表,每个进程有一个用户空间页表,但是系统只有一个内核空间页表。我们需要在性能和空间上做个折中。
2024-12-17 03:50:17
869
原创 Android性能优化 _ 把构建布局用时缩短 20 倍(下)
为了验证“嵌套布局是否会延长解析时间?”,特意用写了上面最深 5 层嵌套的布局。把它设置为 Activity 的 ContentView,经多次测量构建平均耗时为。(布局略简单,复杂度远低于真实项目中的界面,遂真实项目中的优化空间更大)
2024-12-17 03:46:36
694
原创 Android开发面试——Java泛型机制7连问
大家都知道,Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉,正确理解泛型概念的首要前提是理解类型擦除。Java的泛型基本上都是在编译器这个层次上实现的,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器编译的时候会去掉,这个过程就是泛型擦除。举个例子:如上返回true,说明泛型类型String和Integer都被擦除掉了,只剩下原始类型Java的泛型也可以被称作是伪泛型真泛型:泛型中的类型是真实存在的。
2024-12-17 03:35:28
525
原创 Android对抗反编译
包名–思路:获取App的包名,检查APP包名是否与自己的包名一样,如果不一样,设置点用户不友好操作(崩溃啥的)。// 将此次得到的CRC值与数据库/服务器数据的CRC值进行比较校验。博主的做法是:对图片获取五个点的rgb值,输出一个关于RGB的值(//packgeName:包名 flag:获取额外信息的标识。//packgeName:包名 flag:获取额外信息的标识。//packgeName:包名 flag:获取额外信息的标识。// 得到classes.dex文件的CRC值。
2024-12-17 03:31:47
477
原创 Android实现夜间模式切换功能
在res目录下新建values-night文件夹,在此目录下新建colors.xml和strings.xml文件。values-night文件中的代码是在values文件的基础上修改的,在下方进行对比。在MainActivity.java中添加点击、功能动作。时可能会遇到报红或无法找到的问题,可以用下方的代码替代。values-night中的strings.xml。values-night中的colors.xml。values中的strings.xml。values中的colors.xml。
2024-12-17 03:28:07
415
原创 Android多进程运行机制及IPC
IPC(Inter-Process Communication) 指的是进程间通信或跨进程通信,任何一个操作系统都需要相应的 IPC 机制来完成进程间通信,如 Windows 上可以通过剪切板、管道等来完成进程间通信,Linux 上可以通过信道、共享内存、信号量来进行进程间通信Android 虽然基于 Linux,但是为了适应移动端的特点,专门提供了一种进程间通信方式 Binder,所以说到 Android 中的 IPC 机制,一般指的就是 Android 中的 Binder 机制。
2024-12-17 03:24:26
549
原创 Android基础入门:如何为组件添加响应
但是如果我只有一个组件需要实现监听,而且监听的内容很简洁,也需要创建一个自定义类那就太麻烦了,通过匿名内部类就可以解决这个问题。可以看到在xml文件里,每一个组件都可以设置id属性,这是唯一能区分每一个组件的标志属性,因此在activity文件中,我们就是通过id来获取这个组件。但是打印输出的结果并不会呈现在屏幕上,而是在监视台,通过设置的标签way1就可以很快的找到我们的打印语句,每点击一次跳转按钮就会打印一次。这一句的作用是打印输出,有两个参数,前者是一个标签区分打印语句,后者是打印输出的内容。
2024-12-17 03:20:45
403
原创 如何查找微信已删除的聊天记录
在这个信息爆炸的时代,微信成了我们日常沟通不可或缺的工具。它承载着我们的欢笑、泪水、工作与生活的点点滴滴。然而,有时候,一些不经意的操作,或者手机的不慎丢失,可能会让我们不小心删除了那些珍贵的聊天记录。当你想起某个重要的对话,或者需要查找某个关键的信息时,却发现聊天记录已经不见了,那种焦虑与无助,相信很多人都体会过。今天,我就和大家分享一些我亲身经历的方法,希望能帮你找回那些已删除的微信聊天记录。
2024-12-15 22:45:18
607
原创 免费恢复微信好友的app
在这个智能手机统治的时代,微信早已不仅仅是一个简单的聊天工具,它更像是我们的数字日记本,记录着生活的点点滴滴,承载着与亲朋好友间的情感纽带。然而,有时候,一个小小的误操作,或是手机的不慎丢失,都可能让我们失去那些珍贵的微信好友,仿佛一夜之间,数字世界中的一片天地就空了。这时候,一款免费恢复微信好友的App,就像是一盏明灯,照亮了我们找回失联好友的旅途。
2024-12-15 22:44:04
516
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人