2

Android のデフォルト ブラウザを使用してブックマークを管理すると、それらが異なる種類のブックマークであることがわかります。

  • ローカルブックマーク、
  • (Google) アカウントのブックマークごと。

ブックマークの一覧表示

すべてのブックマーク (ローカルおよびアカウントごと) を取得するのは非常に簡単です。これが私が進める方法です:

public static List<Bookmark> getBookmarks(ContentResolver contentResolver)
{
    String[] projection = new String[]
    { BookmarkColumns._ID, BookmarkColumns.TITLE, BookmarkColumns.URL, BookmarkColumns.VISITS, BookmarkColumns.DATE, BookmarkColumns.FAVICON};

    ArrayList<Bookmark> bookmarks = new ArrayList<Bookmark>();

    Cursor cursor = contentResolver.query(Browser.BOOKMARKS_URI, projection, BookmarkColumns.BOOKMARK, null, null);

    if (cursor.moveToFirst())
    {
        do
        {
            Bookmark bookmark = new Bookmark();

            bookmark.setId(cursor.getLong(cursor.getColumnIndex(Browser.BookmarkColumns._ID)));
            bookmark.setTitle(cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.TITLE)));
            bookmark.setUrl(cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.URL)));
            bookmark.setNumberOfVisit(cursor.getInt(cursor.getColumnIndex(Browser.BookmarkColumns.VISITS)));

            byte[] data = cursor.getBlob(cursor.getColumnIndex(Browser.BookmarkColumns.FAVICON));
            if (data != null) {
                Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
                if(bitmap!=null)
                    bookmark.setFavicon(bitmap);
            }

            bookmarks.add(bookmark);
        } while (cursor.moveToNext());
    }

    return bookmarks;
}

しかし、どのブックマークがローカルで、どれが「アカウントごと」であるかを知るにはどうすればよいですか。最終的に、特定のアカウントのブックマークを作成できるようにしたいと考えています。

どうすればそれを達成できますか?

デフォルトの Android ブラウザではそれが可能であるため、これは実現可能です。

これを説明するために、Android のデフォルト ブラウザの「ブックマークの追加」UI を次に示します。

ブックマークを追加し、追加したい「場所」を選択できます (「Ajouter à」)。ローカル ブックマーク (favoris locaux) に登録するか、デバイスで定義されている、またはデバイスで認識されている既存の Google アカウントの 1 つに関連付けます。

ブックマークを追加

4

0 に答える 0