- 博客(59)
- 收藏
- 关注
原创 拓展坞是什么
苹果电脑,尤其是 MacBook 系列,为了追求轻薄的外观设计,往往会减少机身接口的数量,并且接口类型相对单一。直接插在电脑的 USB-C / 接口上,无额外线缆,文件传输速度不快,若设备移动或受到外力碰撞,可能导致拓展坞与设备接口之间出现松动,进而影响文件传输的稳定性,甚至可能造成传输中断。一般具有更通用的接口设计,通过线缆连接不同设备时,只要设备的接口类型与拓展坞的输入接口类型匹配,通常就可以正常使用,兼容性相对更广。因此,买了Macbook后尤其是air系列,第一件要准备的配件,就是拓展坞。
2025-09-04 16:42:28
517
原创 药品追溯码(溯源码)采集系统(四):如何应对相同药品不同列
通过标识码找到对应的处方单记录时,获取其剩余追溯码数量,如果剩余数量已经为0,则记录该追溯码为超限数量的追溯码,此时的做法不是单单渲染出这条追溯码为超限,而是将之前已经扫码的记录清空,对该条记录重新扫码,这样的动作会让使用者不用纠结具体是哪个药没有扫码。完整代码如上,在处理同一药品不同标识码的时候,以半角的分号作为多个标识码之间的分隔符,之后依次匹配。利用hashset不重复的特性,存储已扫码的追溯码,如果添加失败,认定其之前已经扫过。
2025-09-04 16:12:25
497
原创 药品追溯码(溯源码)采集系统(二):门诊发药后端
这里解释下,情况2: status = '10' 且 uploadStatus为null或'00',此时虽然已经扫过码,但是还没有上传医保,也就是说无论是误扫还是隔夜取药,都认为是这种情况。有些处方号可能之前已经扫过,这里存在两种情况:一是医生开具处方之后,患者没有及时过来拿,而医院没有报道机的情况下,就会在打印处方单的同时扫码;(2)如果此处方之前扫过,但是并没有扫描对应的追溯码,则处方表内有记录,且status为00,此时记录billid,返回该记录,并在高拍仪屏幕显示。
2025-08-21 17:12:08
1016
原创 药品追溯码(溯源码)采集系统(一)
下面这个药品追溯码采集系统是笔者历时四个月完成并上线稳定运行的,大致可分为以下几个部分:1、PDA系统:PDA相当于小型手机,通过PDA完成拆零药品子码录入,分担部分窗口如急诊药房的发药、退药,完成药库入库单据和追溯码的采集,住院病区的发药退药,以及药房报损;(2)如果此处方之前扫过,但是并没有扫描对应的追溯码,则处方表内有记录,且status为00,此时记录billid,返回该记录,并在高拍仪屏幕显示。当发药医师通过高拍仪获取到所有追溯码,系统自动识别提交追溯码,进入下表。
2025-08-19 21:24:53
834
原创 药链银针穿数海,云波瞬息济苍生:数据直连
在医药流通领域,数据直连的本质是,实现供应链全链条的数字化协同。各方通过提供自身的数据或技术服务,共同构建了一个高效、透明、合规的药品供应网络。未来可能进一步引入区块链(追溯药品流向)或AI预测(智能补货),深化数据直连价值。以的数据直连体系为例,各相关方通过数据直连实现药品供应链的高效协同。
2025-02-27 09:06:02
1468
原创 Oracle:什么是存储过程
可以在数据库中保存,并在需要时直接调用,避免重复编写 SQL 代码。,用于封装 SQL 逻辑,避免重复编写 SQL 代码。里,存储过程(Procedure)是。创建存储过程后,可以用。
2025-02-24 10:21:53
605
原创 DDL区别:Oracle和Mysql
在数据库管理系统(DBMS)中,DDL(数据定义语言,Data Definition Language)用于定义和管理数据库结构,如表、索引、视图等。作为两种主流的关系型数据库,在 DDL 语法和特性上存在一些重要区别。创建表的基本语法在 Oracle 和 MySQL 中类似,但有一些不同点。存在较大差异,尤其是在字符串、数值类型和日期时间类型上。Oracle 和 MySQL 支持的。:没有内建的自增字段,需要使用序列(创建触发器(TRIGGER)等方面进行对比分析。
2025-02-24 09:41:22
649
原创 Android Studio:切换主线程的两种方式runOnUiThread、Handler.post
之前介绍handler的时候讲过,在中,中进行,不能直接在子线程中更新 UI。今天介绍两种在子线程切换回主线程的方法。和都可以用于切换到执行任务,主要用于。但它们在上有所不同。
2025-02-20 16:39:43
1286
原创 Android Studio:一文看懂实现http请求的两种方法
定义一个接口来描述你的网络请求方法。你将使用 Retrofit 这个接口来声明与服务器的通信。// 示例:获取天气信息(https://api.weatherapi.com/v1/current.json?上面的基本URL加上这里的uri就能组成一条完整的URL路径。
2025-02-20 14:51:44
1361
原创 Android Studio:用handler实现计数
tv_result.setText("当前计数值为:" + mCount);// 延迟一秒后重复计数任务。
2025-02-18 15:16:00
1046
原创 JAVA:Gson:序列化和反序列化
Gson 是 Google 提供的一个用于在 Java 中方便地进行 JSON 与对象互相转换的库。:解析 JSON 数据并映射到 Java 对象,方便程序处理。:将 Java 对象序列化为 JSON 以便存储或传输。:处理包含多个对象的 JSON 数据。如果某些字段不想被转换,可以用。默认情况下,Gson。
2025-02-17 14:17:19
739
原创 Android Studio:如何用一个store类管理事件、简化管理
ActionMyData是用来传递数据的实体类。在MyAction中,我们将MyData作为事件的数据。步骤 4: 使用Store发布和订阅事件创建Store实例并发布事件在你的业务逻辑中,创建MyStore// 创建 Store 实例// 创建事件数据");// 创建并发布事件在中,我们创建了MyStore的实例,并创建了一个MyAction事件,随后通过发布该事件。订阅事件为了响应MyAction// 创建 Store 实例// 订阅 MyAction 类型的事件。
2025-02-17 11:46:27
904
原创 Android Studio:RxBus 和 Observable事件流对比
是一个自定义的事件总线,通常用于在不同组件之间传递事件。是 RxJava 提供的一个基础类,允许你通过。的方式发布和接收事件。发布和订阅事件的方式通常涉及。来接收数据流中的事件。订阅事件时,可以使用。等)来实现事件的广播。订阅事件的方式是通过。
2025-02-17 10:58:51
410
原创 Android Studio:如何使用 RxBus 类进行事件发布和订阅
首先,确保你的文件中包含了必要的 RxJava 和 RxAndroid 依赖。
2025-02-17 10:39:51
633
原创 Android Studio: RxJava如何取消订阅
上一篇提到过定期发射事件,Activity关闭后它还在运行,导致内存泄漏。是 RxJava 提供的一个工厂方法,用于创建一个发射定时事件的Observable。它的作用是。类似于java中的定时任务。是Observable的方法,它用于,并定义。通过来订阅这个Observable,并定义了处理逻辑:每次收到事件时,输出日志,显示事件的数字。在Logcat事件会不断发射,直到你主动取消订阅或者应用程序退出。
2025-02-14 10:28:39
1121
原创 Android Studio:RxJava事件流Observable
简单来说,就是数据从一个地方(发布者)传递到另一个地方(订阅者)的过程,像是一个“流水线”。发布者发布事件(数据),订阅者则在“流水线”上接收并处理这些事件。生活中的类比:假设你和你朋友玩一个游戏,你是,你的朋友是。每当你发布一个游戏事件(比如发一个提示、一个消息或者数字),你的朋友会立刻接收到并作出反应。这就是一个事件流的例子。具体例子:在应用中输入搜索框,实时搜索并显示结果假设你在手机上使用一个搜索框来查找信息。当你输入每个字母时,系统会实时搜索并显示相应的结果。
2025-02-13 15:44:20
1342
原创 响应式编程RxJava
RxBus类的核心作用是管理事件的发布和订阅,允许不同的组件之间进行解耦。:向RxBus发布事件。:将RxBus中发布的事件转换成Observable,并且根据事件类型进行过滤。订阅者可以订阅特定类型的事件。定义一个事件:搜索定义一个主界面:// 订阅管理器@Override// 按钮点击事件:发送 RxBus 事件// 发送事件});// 订阅 RxBus 事件。
2025-02-13 11:54:08
1054
原创 Android Studio:EditText常见4种监听方式
但还没有完全修改完成时,会调用这个方法。比如现在修改文本的时候,输入了不被允许的特殊符号,比如输入银行卡号的时候自动添加了空格,注意,触发都是实时的,每键入一个字符都会触发,而不是失去焦点的时候才触发。就是对一个既成的文本输入框的内容,修改的瞬间之前,该方法启动。比如输入检验,看输入的手机号、修改后的手机号是否符合要求。之前,这个方法就会先触发,s变量保留了修改之前的文本值。这样只有回车键的逻辑会被拦截,其他键的按键事件不受影响。方法会被调用,监听按键的相关事件。:按下的键的编码,标识是哪一个键。
2025-02-12 15:05:01
2552
原创 Android studio:如何在同一个页面显示多个fragment
测试显示,布局文件的layout_height为match_parent时可以正常显示。然后,在你的活动中(比如。添加到同一个容器布局中。的布局文件中,定义两个。
2025-02-12 09:19:55
650
原创 Fragment生命周期
生命周期历经创建到销毁,其意义就仿若人的一生,需渡过春夏秋冬,从婴孩长至垂暮,程序员定义着组件创建-显示-隐藏-销毁,而上天定义着人的生离死别。笔者写博文本为学习、分享,便人便己,如今家母罹患万分紧急,而手术费用筹措不及,若您慈悲,可在此链接下奉献点滴爱心。链接:水滴筹。
2025-02-11 16:31:25
1133
原创 Android Studio:键值对存储sharedPreferences
是Android的一个轻量级存储工具,它采用的存储结构是Key-Value的键值对方式,类似于Java的Properties,二者都是把Key-Value的键值对保存在配置文件中。不同的是,,且以XML标记保存键值对。保存共享参数键值对信息的文件路径为:/data/data/应用包名/shared prefs/文件名.xml。<map>标签:这个标签包裹了所有存储的键值对。它表示整个存储的数据集合。:用来存储String类型的数据。例如,dark_mode被存储为"true"(作为字符串)。:存储。
2025-02-07 14:58:47
1776
原创 Android Studio:如何利用Application操作全局变量
学习过java的可能会对此有些陌生,java中并没有全局变量的概念,但是在学习servlet的时候,必然接触过请求域和应用域,所谓的应用域对象servletContext,也就是servlet上下文对象,在这个对象中绑定的数据可以被所有用户所共享。在AS中Application的生命周期覆盖了全过程,不像Activity活动页面,一旦页面关闭生命周期就进入destroy,利用全生命特性,可以用来存储全局变量。很像 Java 的全局变量,因为它在整个应用程序的生命周期内都是可用的,适用于存储全局数据。
2025-02-07 11:22:01
2045
1
原创 Android Studio:相对布局 RelativeLayout
在 Android 中,是一种布局,它允许你根据其他视图的位置来相对地定位视图。
2025-02-07 09:25:28
712
原创 Android Studio:Application 和 Activity的区别
和Activity是 Android 中非常重要的两个组件,它们分别负责不同的生命周期管理和应用的不同层次的操作。Activity。
2025-02-05 16:56:15
1179
原创 Android studio:顶部导航栏Toolbar
在onCreate获取并设置工具栏。使用来替换默认的ActionBar,这样就会显示你自定义的工具栏。在通过将中的菜单项加载到工具栏上,确保菜单项显示在顶部。在监听菜单项的点击事件,通过判断点击了哪个菜单项,然后执行相应操作。
2025-02-05 14:51:25
3015
原创 Android Studio: BaseActivity基类设计——万能的家政保姆
本文是基于Android Studio真实项目,通过解析源码了解真实应用场景,写文的视角和读者是同步的,想到看到写到,没有上帝视角。,本文是第三期。简单来说,前两期的内容分别是代码解耦合和视图绑定,今天来看一下BaseActivity的全貌。
2025-01-26 10:29:46
1330
原创 HashSet经典面试题
HashSet中的元素不能重复,这是通过HashMap的键(key)的唯一性实现的。HashSet不保证元素的存储顺序,因为它的底层是基于哈希表的。HashSet是非线程安全的,若需要线程安全版本,可以使用或相关实现。根据hashset无序不重复的特性,即使引用地址不同,仍然能够控制元素不重复。
2025-01-24 17:23:21
443
原创 Android Studio:视图绑定的岁月变迁(2/100)
本文是基于Android Studio真实项目,通过解析源码了解真实应用场景,写文的视角和读者是同步的,想到看到写到,没有上帝视角。,本文是第二期。只是声明了一个的变量,并没有直接实例化。
2025-01-24 15:36:34
1819
原创 【解决方案】gradle构建工具和java不兼容
AS打开项目根目录之后,可能会蹦出的错误提示。说明gradle构建工具和java不兼容,无法同步。
2025-01-24 11:02:08
13688
1
原创 看懂数仓:维度设计
维度是维度建模的基础和灵魂。在维度建模中,将度量称为“事实”将环境描述为“维度”,维度是用于分析事实所需要的多样环境。例如在分析交易过程时,可以通过买家、卖家、商品和时间等维度描述交易发生的环境。维度所包含的表示维度的列,称为维度属性。维度属性是查询约束条件、分组和报表标签生成的基本来源,是数据易用性的关键。例如,在查询请求中,获取某类目的商品、正常状态的商品等,是通过约束商品类目属性和商品状态属性来实现的;统计淘宝不同商品类目的每日成交金额,是通过商品维度的类目属性进行分组的;
2025-01-22 16:14:22
1511
原创 java开发常用指令整理
ipconfig 或ipconfig/all 查看IP地址等,显示当前系统的网络配置信息。mkdir +文件名 当前路径下创建新的目录(文件夹) 全称make directory。mvn clean install Maven 构建项目。netstat -ano | findstr :8080 查看指定端口是否被占用。del *.java或者del *.text 删除多个文件。
2025-01-22 11:30:56
1227
数据管理+建表须知+字段属性+占用字节
2025-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅