2011-10-02 7 views
4

android 브라우저에서 기록 및 검색 결과를 얻으려고합니다. 위대한 작품을 내가 모든 책갈피를 얻을 다음 코드에서 는 :브라우저 기록 및 검색 결과를 android에서 받으십시오.

public void getBrowserHist() { 
    Cursor mCur = managedQuery(Browser.BOOKMARKS_URI, Browser.HISTORY_PROJECTION, null, null, null); 
    mCur.moveToFirst(); 
    if (mCur.moveToFirst() && mCur.getCount() > 0) { 
     while (mCur.isAfterLast() == false) { 
      Log.v("titleIdx", mCur.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX)); 
      Log.v("urlIdx", mCur.getString(Browser.HISTORY_PROJECTION_URL_INDEX)); 
      mCur.moveToNext(); 
     } 
    } 
} 

이 문제가된다

public void getBrowser(){ 
    String[] requestedColumns = { 
     Browser.BookmarkColumns.TITLE, 
     Browser.BookmarkColumns.VISITS, 
     Browser.BookmarkColumns.BOOKMARK 
    }; 
    Cursor faves = managedQuery(Browser.BOOKMARKS_URI, requestedColumns, 
    Browser.BookmarkColumns.BOOKMARK + "=1", null, Browser.BookmarkColumns.VISITS); 
    Log.d(DEBUG_TAG, "Bookmarks count: " + faves.getCount()); 
    int titleIdx = faves.getColumnIndex(Browser.BookmarkColumns.TITLE); 
    int visitsIdx = faves.getColumnIndex(Browser.BookmarkColumns.VISITS); 
    int bmIdx = faves.getColumnIndex(Browser.BookmarkColumns.BOOKMARK); 
    faves.moveToFirst(); 
    while (!faves.isAfterLast()) { 
     Log.d("SimpleBookmarks", faves.getString(titleIdx) + " visited " + faves.getInt(visitsIdx) + " times : " + (faves.getInt(bmIdx) != 0 ? "true" : "false")); 
     faves.moveToNext(); 
    } 
} 

난 단지 브라우저에서 역사를 얻으려고 노력하고 난 다음 코드를 시도하고있다 이제 모든 북마크, 방문 기록 및 인기 방문 페이지를받습니다. 그리고 나는 역사 열만 원한다. 나는 또한 google 검색에서 검색 결과를 wan't. SEARCHES_URI 개체를 시도했지만 작동시키지 못합니다. 누구든지 내 문제를 해결할 수있는 의견이 있으십니까?

답변

10

에서 추출, 구글은 SDK의 "즐겨 찾기"를 호출 북마크와 역사를 함께하기로 결정했다. 다음 코드를 시도해보십시오. 중요한 것은 "책갈피"유형으로 필터링하는 것입니다.

String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL }; 
    String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, 1 = bookmark 
    mCur = this.managedQuery(Browser.BOOKMARKS_URI, proj, sel, null, null); 
    this.startManagingCursor(mCur); 
    mCur.moveToFirst(); 

    String title = ""; 
    String url = ""; 

    if (mCur.moveToFirst() && mCur.getCount() > 0) { 
     while (mCur.isAfterLast() == false && cont) { 

      title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE)); 
      url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL)); 
      // Do something with title and url 

      mCur.moveToNext(); 
     } 
    } 
오기 '가 작동하지
1

이 시도 :

package higherpass.TestingData; 

import android.app.Activity; 
import android.os.Bundle; 
import android.provider.Browser; 
import android.widget.TextView; 
import android.database.Cursor; 

public class TestingData extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     TextView view = (TextView) findViewById(R.id.hello); 
     String[] projection = new String[] { 
      Browser.BookmarkColumns.TITLE 
      , Browser.BookmarkColumns.URL 
     }; 
     Cursor mCur = managedQuery(android.provider.Browser.BOOKMARKS_URI, 
      projection, null, null, null 
      ); 
     mCur.moveToFirst(); 
     int titleIdx = mCur.getColumnIndex(Browser.BookmarkColumns.TITLE); 
     int urlIdx = mCur.getColumnIndex(Browser.BookmarkColumns.URL); 
     while (mCur.isAfterLast() == false) { 
      view.append("n" + mCur.getString(titleIdx)); 
      view.append("n" + mCur.getString(urlIdx)); 
      mCur.moveToNext(); 
     } 

    } 
} 

은 어떤 이상한 이유로 here

+0

오류를 다음 얻을 : ERROR/AndroidRuntime (558) : java.lang.RuntimeException가 : 활동 ComponentInfo 시작할 수 없습니다 {com.hda.ContentProviders을/com.hda.ContentProviders.SecondTab} : java.lang.NullPointerException : println에 메시지가 필요합니다. – user969579

+0

모든 디버그 정보 표시 (원인 및 정확히 NULL 임) –

+0

java.lang.RuntimeException : 활동을 시작할 수 없습니다. ComponentInfo {com.hda.ContentProviders/com.hda.ContentProviders .SecondTab} : java.lang.NullPointerException : println에 메세지가 필요합니다. – user969579