您好,登錄后才能下訂單哦!
這篇文章主要講解了“java滾動加載怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java滾動加載怎么實現”吧!
分頁加載通常適用于客戶端,通常是為了防止一次返回導致客戶端崩潰,所以采用下拉加載更多的方式,為了防止數據重復的現象,數據傳遞建議使用唯一標識id。
普通的下拉加載方式
對于普通的下拉加載我們通常處理方式分為以下步驟:
1 客戶端傳遞請求數目大小和上一次請求最后一條數據的id或者時間(如果是第一次請求則可以不傳遞)
2 對于后端按照終端請求的id或者時間進行某種特定次序排列,取固定數目返回給終端。由此便可以保證終端每次獲取到正確數據。
核心sql查詢語句
SELECT * FROM admin WHERE id < 10000 ORDER BY id DESC LIMIT 1, size
具體定義的數據結構
# 接口地址
/scroll/list
# 請求方式
HTTP GET
# 入參
{
"size":10,//請求大小
"id":1 //返回數據最后一條id
}
# 出參
# 成功
{
"flag": 1,
"result": {
"hasMore": ture, //是否有更多數據
"total": 68,
"list": [
{
"id":1, //文件Id
"desc":"描述", //可以為空
"name":"David"
},
{
"id":2, //文件Id
"desc":"描述", //可以為空
"name":"Tom"
},
...
]
}
}
#失敗
{
"flag":0,
"result":"錯誤信息"
}
對于包含特定條件次序的分頁加載的處理方式
比如說,項目要求已經置頂的數據的排列在所有數據的最前面(當然置頂數據的id可能比較小)那么就需要先按照置頂排序、id排序,然后查詢數據(對于查詢數據,則要根據不同的條件進行不同的處理)。
核心sql查詢語句
SELECT * FROM admin WHERE #if(id!=null && state==2) ((id < 21 AND state=2) OR state != 2)) #elseif(id!=null && state!=2) id < 23 ORDER BY FIELD(state,2) DESC, id DESC LIMIT 1, size
具體定義的數據結構
## 接口地址
/scroll/list
```
## 請求方式
HTTP GET
## 入參
{
"size":10,//請求大小
"id":1 //返回數據最后一條id,第一次請求不用傳遞
"state":2 //返回最后一條數據的狀態信息,第一次請求不用傳遞
}
## 出參
### 成功
{
"flag": 1,
"result": {
"hasMore": ture, //是否有更多數據
"total": 68,
"list": [
{
"id":1, //文件Id
"desc":"描述", //可以為空
"name":"David",
"state":1
},
{
"id":2, //文件Id
"desc":"描述", //可以為空
"name":"Tom",
"state":2
},
...
]
}
}
### 失敗
{
"flag":0,
"result":"錯誤信息"
}
感謝各位的閱讀,以上就是“java滾動加載怎么實現”的內容了,經過本文的學習后,相信大家對java滾動加載怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。