처리 관련 | mucchin의 Android 전기



Android 애플 리케이션에서 브라우저 즐겨찾기 추가 · 갱신 · 삭제 방법


Android 애플 리케이션에서, 브라우저의 북마크를 추가, 업데이트, 삭제하는 방법은?

마지막으로 Android 애플 리케이션에서 브라우저의 북마크를 가져오는 방법을 소개했습니다.
Android 애플 리케이션에서 브라우저의 북마크를 가져오는 방법

자신이 만든 Android 애플 리케이션에서, 브라우저의 북마크를 추가시키고 싶다는 일도 있을지도 모릅니다.
예를 들어 무료로 자신의 Android 애플 리케이션을 사용 시켜주는 대신 자신의 사이트를 북마크 시키거나? (스팸 같은 것은하지 맙시다.)
또는 단순히 북마크 편집기 같은 Android 애플 리케이션을 만들거나.

이번에는 책갈피에 추가하는 방법을 소개합니다.

브라우저 즐겨찾기에 추가하는 방법

다음과 같은 예제 코드입니다.


Browser.saveBookmark (this, "senki", "http://android.roof-balcony.com");


Browser 클래스에 정의되고있는 final static 메서드이므로 단순히 위의 호출 해 주면 OK입니다.
첫 번째 인수는 Context 형식이지만 자신 (Activity)을 지정하면 좋기 때문에, this하고 있습니다. Activity는 다른 클래스로 구현하면, 적당한 변수​​합시다.
제 2 인수는 제목, 제 3 인수는 URL입니다.
그냥 아무것도 화면에 표시되지 않고, 순조롭게 북마크에 등록 수는 없습니다.
saveBookmark 메서드를 실행하면 다음과 같은 화면이 표시됩니다.
Android 애플 리케이션에서 브라우저 즐겨찾기를 추가하는 방법


API 레퍼런스에 의하면, "AddBookmark 활동"이라고 부르는 것 같네요.
이 화면에서 제목 편집도 URL의 변경은 사용자의 생각 채이고, 취소도 가능합니다.
보안 측면든지 여러가지 생각되면 사용자 친구 사양이고, 그 쪽이 좋을지도 모르지만 · · ·.

위와 같은 화면을 거치지 않고 책갈피를 저장하는 방법은없는 것인가! ?
Browser 클래스는 북마크 저장하는 방법은 saveBookmark () 메소드만을 갖는 것 같습니다.
saveBookmark 메소드 이외에 추가 할 방법을 확인하여 보았습니다.
책갈피는해도, 로컬 데이터베이스에서 보유하고 있습니다.
직접 조작할 수있는 것은! ? 생각, 시도했다.
다음과 같은 코드입니다.


ContentValues​​ values​​ = new ContentValues​​ ();
values​​.put (Browser.BookmarkColumns.BOOKMARK "1");
values​​.put (Browser.BookmarkColumns.URL "http://android.roof-balcony.com");
values​​.put (Browser.BookmarkColumns.TITLE "android");
getContentResolver () insert (Browser.BOOKMARKS_URI, values​​);


위의 코드를 구현 이동하면, SecurityException가 발생했습니다.
로그를보고, 권한 설정, com.android.browser.permission.WRITE_HISTORY_BOOKMARKS를 추가하여 다시 움직여 보았습니다.
그러면 멋진 즐겨찾기 추가에 성공하고 말았습니다.

Browser 클래스에서는 책갈피를 삭제하거나 업데이 트를 할 수있을 것 같은 메소드는 존재하지 않는 것 같습니다.
하지만 앞의 방법으로 추가할 수했다는 것은 삭제하거나 업데이 트가있는 것은 · · ·라고 생각, 조속히 시험해 보았습니다.




브라우저의 북마크를 제거하는 방법

먼저 삭제합니다.


getContentResolver () delete (
Browser.BOOKMARKS_URI,
Browser.BookmarkColumns.TITLE + "= 'android'", null);


위의 코드에서 방금 추가된 즐겨찾기가 사라졌습니다.

브라우저의 북마크를 업데이 트하는 방법

업데이 트도 마찬가지로 다음과 같은 코드를 시도하면


ContentValues​​ values​​ = new ContentValues​​ ();
values​​.put (Browser.BookmarkColumns.BOOKMARK "1");
values​​.put (Browser.BookmarkColumns.URL "http://android.roof-balcony.com");
values​​.put (Browser.BookmarkColumns.TITLE "android");
getContentResolver () update (
Browser.BOOKMARKS_URI,
values​​, Browser.BookmarkColumns.TITLE + "= 'senki'", null);


위의입니다, 제목이 "senki"레코드를, values​​에서 설정한 값으로 업데이 트되었습니다.


Android의 API 레퍼런스를 보면 Browser 클래스에서는 책갈피 관련 쓰기는 saveBookmark () 메소드 밖에 존재하지 않습니다.
이것은 왜 지요.
getContentResolver ()에서 얻은 ContentResolver의 insert, update, delete를 사용하여 쓰기 업데이 트가 직접하는 방법은 혹시하고 말라 비법적인 것입니까?
깊은 의미는없고, 단지 제공하지 뿐입니까?

이유는 잘 모르겠지만, 어쨌든 악의적으로 사용자의 북마크를 지워 버린, 재기록 버리거나 Android 애플 리케이션 스팸 행위는하지 맙시다!

2 3 4 5 ... 10 ... Last » Page 1 of 19 1 2 3 4 5 ... 10 ... Last»