Android 聯絡人按中文拼音排序
阿新 • • 發佈:2019-01-09
//查詢所有資料按聯絡人姓名升序排序的方法 public List<Account> queryAll() { SQLiteDatabase db = helper.getReadableDatabase(); Cursor c = db.query("account", null, null, null, null, null, "name COLLATE LOCALIZED asc"); List<Account> list = new ArrayList<Account>(); while (c.moveToNext()) { long id = c.getLong(c.getColumnIndex("_id")); // 可以根據列名獲取索引 String name = c.getString(1); String balance = c.getString(2); String family = c.getString(3); String office = c.getString(4); String email = c.getString(5); String work = c.getString(6); String group = c.getString(7); list.add(new Account(id, name, balance,family,office,email,work,group)); } c.close(); db.close(); return list; }
Cursor c = db.query("account", null, null, null, null, null,"name COLLATE LOCALIZED asc");
/*
* name:是聯絡人名的一個拼音列,系統在增加聯絡人時,會自動加入一個。
* 例如:李明, 對應的name的值就為 li 李 ming 明,所以在資料庫就可以進行排序。
* COLLATE LOCALIZED 是使用本地的排序規則,這個和使用的語言有關係。
*/