- 博客(26)
- 资源 (2)
- 收藏
- 关注

原创 Android 动态表单的实现
一些Android项目中需要用到大量的表单提交,比如各种OA系统等,需要处理流程,主表显示,回报表填写,各种字段需要处理,需要进行动态的配置下发,对表单域进行解析处理,灵活配置,可以提高代码和项目的复用性。
2024-08-28 14:16:42
1496
原创 Compose Desktop开发日报软件
这款日报软件基于 Compose Desktop 开发,采用 Kotlin 语言构建桌面应用程序。它为用户提供了便捷的日报填写、历史查询功能,并且能够根据输入的时间区间自动导出周报,合并统计项目工时,极大地提升了工作记录与汇报的效率。
2025-04-11 11:29:33
268
原创 Android Compose中Paging 3的使用介绍
我们通过Retrofit借助Retrofit的注解功能,清晰声明请求方法与路径。此处采用POST请求方式,目标路径为在上述代码中,PageParams是请求参数对应的模型类,是包含分页信息及诗歌数据的响应模型类,TangPoetry则是诗歌数据的模型类。是 Paging 3 库的核心组件之一,主要用于定义数据加载逻辑。我们创建类,继承自,并指定Int作为分页键(此处采用页码作为分页键),TangPoetryreturn 1: 1在方法中,依据返回刷新起始页码,此处简单返回 1。而在load。
2025-03-13 13:36:31
506
原创 Android Compose Paging3用法
实现getRefreshKey和load方法getRefreshKey获取刷新的参数,可以自定义load方法处理加载逻辑nextKey参数为null时代表加载完成/*** @Desc :*/return 1: 1。
2025-03-13 13:16:41
311
原创 Springboot和Android项目接入Firebase Cloud Message(FCM)
onNewToken]初始化成功后会收到token信息,可以判断当前是否登录,如果已登录就上传token和用户ID绑定,如果没有登录就先存储,等登录的时候一起上传到服务端。推送内容可以自己调用putData方法传递,终端接手后自己根据消息类型自行处理,也可以使用对应的setNotification方法。如果是批量推送的话,可以根据token和用户ID的绑定关系来处理,参照下面的方法,或者有其他更好的办法可以交流一下。对于推送结果的记录如果是单独推送的话比较好处理,直接记录就可以,
2025-01-20 11:22:04
598
原创 使用Kotlin开发Springboot项目
先定义一个Mapper,使用@Mapper,不需要进行其他配置,比如mapper路径等。选择使用的库和Springboot版本。")) 多个括号,其他都差不多。需要@Update(("使用标签。和Java项目也差不多。定义Service接口。和Java方式有点不同。Service的实现。
2024-12-27 14:31:59
648
原创 Docker 的基本概念和优势,以及在应用程序开发中的实际应用
2. 应用程序的部署和交付:通过Docker容器,开发者可以将应用程序与其依赖项打包成一个独立的容器,然后将该容器部署到各种环境中(例如开发、测试、生产环境),大大简化了部署和交付的过程。4. 应用程序的持续集成和持续部署:Docker可以与持续集成和持续部署工具(如Jenkins)结合使用,实现自动化的构建、测试和部署流程,提高开发效率和应用程序发布的质量。3. 应用程序的扩展和缩减:通过Docker容器,开发者可以方便地对应用程序进行扩展和缩减,根据需要调整容器的数量和规模,快速响应业务需求。
2024-09-14 10:20:26
576
原创 Android 使用gRPC上传文件
添加一个UpLoadFile方法,参数为stream类型,必须有一个bytes类型的参数,其他参数可以根据需要自己添加。// 指定proto版本// 指定默认包名//定义rpc服务。
2024-09-14 10:16:09
426
原创 RESTful API
总的来说,RESTful API提供了一种标准化的方式来构建Web应用程序,通过定义资源和操作,以及使用HTTP方法和URL路径来表示这些操作,使得不同应用程序之间可以进行交互和数据交换。2. 设计API端点:根据每个资源的操作,设计相关的API端点,包括使用HTTP方法和URL路径来表示各种操作。7. 测试和部署:对API进行测试,确保其功能正常,然后将API部署到服务器,以便其他应用程序可以访问和使用它。3. 实现API逻辑:根据设计的API端点,实现每个端点的逻辑,并处理相关的请求和响应。
2024-09-11 14:57:44
314
原创 TensorFlow 的基本概念和使用场景
它的核心概念是张量(Tensor)和计算流图(Computational Graph),并提供了丰富的库和工具,用于构建和训练各种机器学习模型。它由一系列的节点和边组成,节点表示操作(如加法、乘法等),边表示数据流动的方向。它提供了丰富的功能和工具,可以帮助开发者快速构建和训练自己的机器学习模型。1. 机器学习:TensorFlow 提供了丰富的机器学习算法和模型,可以用于分类、回归、聚类等任务。4. 变量(Variable):变量是 TensorFlow 中的一种特殊的张量,用于存储模型的参数。
2024-09-11 14:57:09
214
原创 Android gRPC的使用
https://grpc.io/官网介绍: 环境配置在原有的项目里面新建proto文件或者新建一个module都可以,我这边选择新建一个module由主项目引用。 版本号:或者使用最新版本也可以 引用:三、添加proto插件只在module里面添加就可以四、添加配置与plugin同级,同样只放在module里面五、添加过滤META-INF文件夹下的文件放在android{}里面,主项目和module都要添加六、添加proto文件在src/main/
2024-08-07 17:42:58
905
5
原创 DDD 模型的Go项目
DDD是一种软件设计思想和方法论,以领域为核心构建软件设计体系,将业务模型抽象成领域模型进行拆解和封装。Domain Driven Design(领域驱动设计, DDD),不是一种架构,而是一种架构方法论,是一种拆解业务、划分业务、确定业务边界的方法,是一种领域设计思想。DDD(领域驱动设计)实际上是一套软件架构设计的方法论,我们可以在此之上更好的理解业务。并且我们可以根据这套方法论进行架构风格填充,包括微服务架构,面向服务架构,REST风格架构以及六边形架构等等。
2024-08-01 16:04:28
372
原创 Android11及以上版本调用其他App的ContentProvider
元素,应用可以定义一组自身可访问的其他软件包。通过告知系统应向您的应用显示哪些其他软件包,此元素有助于鼓励最小权限原则。此外,此元素还可帮助 Google Play 等应用商店评估应用为用户提供的隐私权和安全性。如果您的应用以 Android 11 或更高版本为目标平台,您可能需要在应用的清单文件中添加。Android 11 更改了应用查询用户已在设备上安装的其他应用以及与之交互的方式。元素中,您可以按软件包名称、intent 签名或提供程序授权指定软件包。
2023-05-11 11:10:51
700
原创 Jetpack之Room的使用
Android常用的SQLite框架OrmLite:学习成本低,方便好用,底层通过反射机制实现,效率比GreenDAO低。可以执行SQL语句,多表联查等GreenDAO:支持加密,效率高,官方持续更新Room:JetPack官方组件环境的准备现在Room的最新版本是2.2.5具体引用:dependencies { def room_version = "2.2.5" implementation "androidx.room:room-runtime:$room_v..
2021-01-14 15:16:30
283
原创 BaseRecyclerViewAdapterHelper混淆问题
使用BaseRecyclerViewAdapterHelper中的BaseDataBindingHolder并且开启混淆的时候直接crash-keep public class * extends com.chad.library.adapter.base.viewholder.BaseViewHolder-keepclassmembers class **$** extends com.chad.library.adapter.base.viewholder.BaseViewHolde
2020-10-26 16:47:20
1604
原创 Android 流式布局 FloatLayout自定义控件
实现效果FloatLayout自定义控件自定义view继承ViewGroup,重写onMeasure(),onLayout()方法。可根据子元素宽度动态测量宽高onMeasure() resultWidth = paddingLeft + paddingRight measuredChildCount = 0 for (i in 0 until count) {...
2020-08-13 15:11:42
1257
原创 RxJava,retrofit,rxbinding kotlin使用使用整理
环境网络请求android 9.0之后 不允许使用http请求,可以在application中配置usesCleartextTraffic属性<application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon
2020-07-27 11:18:43
1871
1
原创 RecyclerView的FadingEdge参数
当滑动列表需要两侧阴影时,可以设置RecyclerView的FadingEdge属性:<androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" android:fadingEdgeLength="50dp" android:
2020-07-08 16:54:55
3881
1
原创 Viewpager2+fragment刷新问题
当Viewpager2使用FragmentStateAdapter时, Fragment数量变动,需要刷新的时候,直接使用notifyDataSetChanged()方法没有效果需要重写@Overridepublic long getItemId(int position) { }@Overridepublic boolean containsItem(long itemId) { }默认使用的是position,fragment复用导致数据错乱,通过生成..
2020-07-08 15:43:39
4381
2
原创 使用Intent传ParcelableArrayList
使用Intent 在activity之间多次传递相同key的ParcelableArrayList时候出现值不更新的情况 要使用Bundle来进行传递
2017-09-20 15:26:54
667
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人