//查询所有数据按联系人姓名升序排序的方法 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 是使用本地的排序规则,这个和使用的语言有关系。 */