新聞中心
Android開(kāi)發(fā)中使用SQLite數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)是很常見(jiàn)的做法,而對(duì)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的排序也是很重要的操作。本篇文章將介紹在Android開(kāi)發(fā)中如何對(duì)查詢的數(shù)據(jù)庫(kù)進(jìn)行排序。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的奉節(jié)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
一、查詢數(shù)據(jù)庫(kù)
首先需要先打開(kāi)或創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),然后進(jìn)行查詢。查詢可以使用SQLiteDatabase類的query()方法來(lái)完成,該方法有很多重載,最常用的方法如下:
“`
public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
“`
– table:指定要查詢的表名
– columns:需要查詢的字段
– selection:WHERE子句,指定查詢的條件
– selectionArgs:WHERE子句中有占位符時(shí)使用,占位符將會(huì)被selectionArgs中的參數(shù)替換
– groupBy:指定分組的列
– having:指定分組的條件
– orderBy:指定排序的列
– limit:指定查詢結(jié)果的數(shù)量限制
二、按照列名排序
要按照列名進(jìn)行排序,只需要在查詢時(shí)指定orderBy參數(shù)即可。例如,按照score列從低到高排序,代碼如下:
“`
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query(“student”, null, null, null, null, null, “score asc”, null);
“`
以上代碼中,orderBy參數(shù)指定為”score asc”,表示按照score列升序排序。
同理,可以使用”desc”關(guān)鍵字來(lái)指定倒序排序。例如,按照score列從高到低排序,代碼如下:
“`
Cursor cursor = db.query(“student”, null, null, null, null, null, “score desc”, null);
“`
三、按照多個(gè)列名排序
當(dāng)需要按照多個(gè)列名進(jìn)行排序時(shí),只需要在orderBy參數(shù)中指定多個(gè)列名即可,多個(gè)列名之間用逗號(hào)分隔。例如,先按照score列進(jìn)行排序,如果score列相同,則按照id列進(jìn)行排序,代碼如下:
“`
Cursor cursor = db.query(“student”, null, null, null, null, null, “score asc, id asc”, null);
“`
以上代碼中,orderBy參數(shù)指定為”score asc, id asc”,表示按照score列升序排序,如果score列值相同,則按照id列升序排序。
四、按照自定義規(guī)則排序
當(dāng)需要按照自定義規(guī)則進(jìn)行排序時(shí),可以使用SQL語(yǔ)句中的CASE語(yǔ)句實(shí)現(xiàn)。例如,在score列值為60的記錄之前添加一條記錄,代碼如下:
“`
Cursor cursor = db.rawQuery(“select *, ” +
“case when score=60 then 0 ” +
“else 1 end as sort ” +
“from student ” +
“order by sort asc, score asc”, null);
“`
以上代碼中,使用rawQuery()方法執(zhí)行原生的SQL語(yǔ)句,使用CASE語(yǔ)句實(shí)現(xiàn)自定義排序。當(dāng)score列值為60時(shí),將排序規(guī)則設(shè)為0,其他情況設(shè)為1,然后按照sort、score列升序排序。
五、
本篇文章介紹了在Android開(kāi)發(fā)中如何對(duì)查詢的數(shù)據(jù)庫(kù)進(jìn)行排序。簡(jiǎn)單來(lái)說(shuō),只需要在查詢時(shí)指定orderBy參數(shù)即可實(shí)現(xiàn)排序??梢园凑樟忻判?,也可以按照多個(gè)列名排序。當(dāng)需要按照自定義規(guī)則排序時(shí),可以使用SQL語(yǔ)句中的CASE語(yǔ)句實(shí)現(xiàn)。在實(shí)際開(kāi)發(fā)中,需要根據(jù)不同的業(yè)務(wù)需求選擇不同的排序方式。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220android有幾種排序方法
三種,個(gè)別手機(jī)更多
數(shù)組排序 冒泡排序
最頃世好使用Android自帶的排序方法
實(shí)現(xiàn)接口Comparator
使用攔族Arrays.sort()排雀衡肢序數(shù)組
不
Android開(kāi)發(fā) HashMap如何排序
HashMap排序是數(shù)據(jù)結(jié)構(gòu)與亮拿算法中常見(jiàn)的一種排序算法。本文即以Android平臺(tái)為例來(lái)實(shí)現(xiàn)該算法。
具體代碼如下: public static void main(String args) { Map map = new HashMap(); map.put(“l(fā)isi”, 5); map.put(“l(fā)isi1”, 1); map.put(“l(fā)isi2”, 3); map.put(“l(fā)isi3”, 9); List> infoIds = new ArrayList>( map.entrySet()); System.out.println(“排序前”); for (int i = 0; i >() { public int compare(Map.Entry o1, Map.Entry o2) { return ( o1.getValue()-o2.getValue()); } }); System.out.println(“排序后”); for (int i = 0; i ent=infoIds.get(i); System.out.println(ent.getKey()+”蔽罩=”+ent.getValue()); }}
android map是怎么排序
你說(shuō)掘晌拍的按要求排序,應(yīng)該謹(jǐn)滾是有一些自定義規(guī)則排序吧,假如要通過(guò)判羨值來(lái)排序可以用以下方法: Java代碼 public static void main(String args) { Map map = new HashMap(); map.put(“l(fā)isi”, 5); map.put(“l(fā)isi1”, 1); map.put(“l(fā)isi2”, 3);
java中的Map是個(gè)key-valus形式存儲(chǔ)的健值對(duì)接口。Map是個(gè)接口,因此不能實(shí)例化,不同的子類有不同的實(shí)現(xiàn)方式。
HashMap 無(wú)序的,通過(guò)hash算法來(lái)(散列存儲(chǔ))。
Hashtable 無(wú)序的,通過(guò)hash算法來(lái)(散列存儲(chǔ)),與HashMap不睜彎同的是Hashtable 是同步的(線程安全的)。
LinkedHashMap 有序的,通過(guò)缺早羨雙向鏈表來(lái)伏拍存儲(chǔ)數(shù)據(jù)。
TreeMap 排序的,通過(guò)Key來(lái)排序,排序規(guī)則會(huì)調(diào)用key的compareTo方法來(lái)計(jì)算。
關(guān)于android 查詢數(shù)據(jù)庫(kù)排序的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過(guò)多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開(kāi)發(fā)和營(yíng)銷公司。廣泛應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)、設(shè)計(jì)、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
本文題目:Android如何對(duì)查詢的數(shù)據(jù)庫(kù)進(jìn)行排序(android查詢數(shù)據(jù)庫(kù)排序)
本文URL:http://fisionsoft.com.cn/article/dpdhjcc.html


咨詢
建站咨詢
