1. 程式人生 > >Android 聯絡人按中文拼音排序

Android 聯絡人按中文拼音排序

//查詢所有資料按聯絡人姓名升序排序的方法
	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 是使用本地的排序規則,這個和使用的語言有關係。
 */