質問

private Cursor getContacts()
    {
        // Run query
        Uri uri = ContactsContract.Contacts.CONTENT_URI;
        String[] projection = new String[] {
                ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME
        };
        String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" +
                (mShowInvisible ? "0" : "1") + "'";
        String[] selectionArgs = null;
        String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";

        return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
    }

ものは何か COLLATE LOCALIZED ASC るのですか。

役に立ちましたか?

解決

ソートは、ソート(並べ替えもの)のためだけの空想話すです。これは、並べ替えます。

オーダーを終了するの ASC の中にローカライズされた環境設定(つまり現在の言語のアルファベットと規則)に基づいて発注されるので、

他のヒント

で指示SQLiteうに非ASCII文字を適切に表すCharとdiacritics(一部をアクセント)の高いバイトコードの文字Zので、プレーンASCII順らなくなる多くの外国人の言語である。

例えば、charのバイトコード 0x41 の資本Z charのは 0x5A.そして、Á(自己資本額A accuteるコードはUnicode 0x00C1.では、平野のバイトコードの並べ替えのようにÁ後Z.

もの言語がこのような文字の条約は人diacriticsしていなかったのdiacritic.そのÁすべきとの、少なくとも前B.

を示し、下記のリスト名を使用してソートをそのbytecode:

  • ブレンダ
  • Debby
  • ジョージ
  • Álvaro
  • Érico

現在の COLLATE LOCALIZED いで並べ換え:デフォルトの"base"の文字:

  • Álvaro
  • ブレンダ
  • Debby
  • Érico
  • ジョージ

照するSQLオペレーターをまとめて見ることができるオーバーライドのデフォルトの並べ替えた文字列です。例えば、"照合NOCASE"は大文字小文字を区別しない比較、バイナリ照合を行なってい文字と小文字を区別します。

SQLite Cインタフェースで定義するカスタムcollations(http://www.sqlite.org/c3ref/create_collation.html).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top