最近由于工作开发用到了kotlin,其中分页的实现由于数据的实现不是非常理想,于是本人就写了一个自
己的分页代码实现
res.dataArray = JsonArray() // 手动分页 var totalDataNum = resDataArray.size() var page = JsonObject() var totalPageSize = 0 if((totalDataNum %10) >0) totalPageSize = (totalDataNum/10 + 1) else totalPageSize = (totalDataNum/10) // 每页大小 page.put("size",10) // 总页数 page.put("totalPage",totalPageSize) // 总数 page.put("totalCount",totalDataNum) // 当前页 page.put("currentPage",currentPage) // 返回当前页数据封装 if(resDataArray.size()>10){ // 多页 var i = (currentPage-1)*10 while(true){ if( currentPage*10 >i){ println("i == " + i) if(i<totalDataNum){ println("resDataArray.getValue(i ) = " + resDataArray.getValue(i ) ) resDataArr.add(resDataArray.getValue(i )) i++ }else{ break } }else{ break } } println("resDataArr======" + resDataArr) res.dataArray = resDataArr }else{ // 一页 println("resDataArr======" + resDataArray) res.dataArray = resDataArray }
如果自己设计分页,其中需要考虑几个参数
总数目:这里可以通过返回数据.size 获取
每页条数:这里一般是由前端传递过来 (这里我后台写死了10,如果需要的话,把10换成一个参数即可 )
总页数: 总数目 % 每页条数 > 0 = ( 总数目 % 每页条数) : ( 总数目 % 每页条数 + 1)
当前页: 一般是从前端传递过来 (我这里设计的时候,直接从list 集合取,通过list .get(当前页的数据范
围) 的形式 获取)
总结:其实分页一般是通过数据分页
注意点:分页最好写上排序,不然分页查询的数据有可能每次会不一样
mysql :limit 和 offset 关键字
如(我们查询如下的视图 v_course_count_teacher)
-- mysql 分页原理 SELECT * FROM `v_course_count_teacher` ORDER BY teacher LIMIT 2 ; -- (默认从0开始) SELECT * FROM `v_course_count_teacher` ORDER BY teacher LIMIT 1 ,2 ; -- 第几个开始(默认从0开始) SELECT * FROM `v_course_count_teacher` ORDER BY teacher LIMIT 3 OFFSET 3 ;-- 条数 从第几个开始
oracle:rownum 关键字 (rownum < 数据范围 + 临时表)
相关推荐
在这个特定的案例中,我们关注的是一个使用Kotlin编程语言实现的简单记事本应用——"Tudou Notepad"。Kotlin作为Google官方推荐的Android开发语言,以其简洁、安全和交互性强的特点深受开发者喜爱。下面,我们将详细...
总结来说,使用Kotlin实现Android登录界面的优势在于代码简洁、可读性高,借助Anko库可以快速构建UI。通过理解Kotlin的基础语法、Anko DSL以及Android UI组件的工作原理,开发者能够轻松地创建出功能完善的登录界面...
安卓 Kotlin Coroutine协程 使用方式代码举例: 包含GlobalScope 、CoroutineScope 详细使用代码举例,相关介绍文章,可参考: https://xiaxl.blog.csdn.net/article/details/123383727
另一个选择是Kotliquery,它是一个Kotlin编写的SQL查询库,允许开发者以Kotlin代码的形式编写SQL语句。它支持多种数据库引擎,提供了流式API,使得编写复杂的查询变得简单。 六、Android中的数据库实现——Room 在...
:white_check_mark: Kotlin: Yes, fully written in Kotlin(~96%). :scream: :heart: :white_check_mark: Clean architecture: The whole project is based on uncle Bob's clean architecture approach. :white_...
然而,对于那些熟悉Swift的iOS开发者来说,如何将已有的Swift代码迁移到Android平台上的Kotlin项目,就成了一项挑战。这时,"SwiftKotlin"工具就应运而生,它提供了将Swift代码自动转换为Kotlin代码的功能,极大地...
Kotlin是一种现代化的、静态类型的编程语言,主要面向Java虚拟机(JVM)和JavaScript运行环境,同时也支持原生平台。它由JetBrains公司开发,旨在提高开发者的生产效率,减少代码量,同时保持类型安全。在标题...
本篇文章将深入探讨Java和Kotlin中的注解使用及切面实现方式。 ### Java 注解 Java注解是一种元数据,它提供了在源代码中添加信息的方式,这些信息可以在编译时或运行时被解析。Java标准库中提供了多种内置注解,...
本项目"Kotlin实现的简易计算器"是一个使用Kotlin编写的简单计算器应用程序,旨在帮助初学者理解Kotlin的基础语法以及如何在实际项目中运用这些语法特性。 首先,Kotlin中的类定义是构建程序的基本单元。在这个简易...
本篇文章将深入探讨如何使用Kotlin在Android中实现进度条,并结合具体代码实例来解析`MyProgressBar`这个项目。 首先,我们需要在布局文件(如activity_main.xml)中定义一个ProgressBar。进度条有两种主要类型:...
最后,为了让小红点动画更吸引人,你可以考虑使用属性动画(Property Animation)来实现一个平滑的淡入淡出效果: ```kotlin if (hasNewNotifications) { ObjectAnimator.ofAlpha(notificationDot, 0f, 1f).apply ...
Kotlin是一种现代的静态类型编程语言,由JetBrains开发,主要面向Java虚拟机(JVM)和JavaScript。它在2017年被Google宣布为Android开发的首选语言,因其强大的功能和对开发者友好的特性而受到广泛欢迎。 1. **...
本书《从Java到Kotlin:重构指南》由Duncan McGregor与Nat Pryce共同编写,是一本专为已经熟悉Java编程语言并希望将其现有代码转换为Kotlin的开发者准备的书籍。书中不仅提供了丰富的重构技巧,还包括了实用的示例和...
本教程将深入探讨如何在Android项目中使用Kotlin来实现这一功能。 首先,Recyclerview的基础知识是必要的。Recyclerview通过ViewHolder模式优化了性能,避免了大量的 findViewById() 调用。每个视图项都是一个...
本Demo主要展示了如何使用Kotlin语言来实现一个基本的RecyclerView数据列表。以下是关于这个主题的详细知识点: 1. **Kotlin简介**:Kotlin是一种现代、静态类型的编程语言,由JetBrains公司开发,被Google官方指定...
本文将深入探讨如何利用Kotlin语言实现FlexboxLayout来替代RecyclerView,并实现单选和多选功能。 首先,我们要了解FlexboxLayout。FlexboxLayout是Google为Android提供的一个布局组件,它基于Flexbox布局模型,这...
Phoenix的核心功能基于Kotlin实现,外层接口基于Java实现,方便Kotlin与Java双方的调用。 更多关于图像/视频编解码的文章 Android平台图像压缩方案 Android平台Camera开发实践指南 特点 功能相互独立,各个功能的...
本文将深入探讨如何使用Kotlin语言和Timber库来实现高效且易于管理的日志系统。 首先,让我们了解Kotlin。Kotlin是Google在2017年正式推荐的Android开发语言,它具有简洁、类型安全和与Java高度互操作的特点。相比...
Kotlin,作为一种现代、类型安全的编程语言,以其简洁的语法和丰富的库支持,为实现高效的数据结构和算法提供了良好的平台。下面我们将深入探讨标题和描述中提到的各个知识点。 首先,我们来看数据结构: 1. **...