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 是使用本地的排序规则,这个和使用的语言有关系。
 */


你可能感兴趣的:(android,数据库,排序,Cursor)