2012-01-03 12 views
0

私はアンドロイドを新しくしました。私はsqliteデータベースからのデータを使用してリストビューを作成する問題に直面している。私は連絡先データからリストビューを作成するには、以下のこのコードを見つけ Androidリストビュー

public class Test extends ListActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Get a cursor with all people 
     Cursor c = getContentResolver().query(Contacts.CONTENT_URI,CONTACT_PROJECTION, null, null, null); 
     startManagingCursor(c); 

     ListAdapter adapter = new SimpleCursorAdapter(this, 
       // Use a template that displays a text view 
       android.R.layout.simple_list_item_1, 
       // Give the cursor to the list adatper 
       c, 
       // Map the NAME column in the people database to... 
       new String[] {Contacts.DISPLAY_NAME}, 
       // The "text1" view defined in the XML template 
       new int[] {android.R.id.text1}); 
     setListAdapter(adapter); 
    } 

    private static final String[] CONTACT_PROJECTION = new String[] { 
     Contacts._ID, 
     Contacts.DISPLAY_NAME 
    }; 
} 

は今、私はので、私はデータを表示することができ、これらの2つのコードを組み合わせることができますどのようにデータベース今

SQLiteDatabase myDB= null; 
    String TableName = "myTable"; 
    myDB = this.openOrCreateDatabase("DatabaseName", MODE_PRIVATE, null); 

    // Get a cursor with all people 
    Cursor c = myDB.rawQuery("SELECT * FROM " + TableName , null); 

からデータを取得するためにこのコードを使用このリストのデータベースから取り出されます。

ありがとうございます。

答えて

0

両方のソース(連絡先とDB)のデータを表示する場合は、両方のソースの戻り値を持つ配列を作成するオプションしかないと思います。

List finalList = new ArrayList(); 
Cursor c = getContentResolver().query(Contacts.CONTENT_URI,CONTACT_PROJECTION, null, null, null); 
     startManagingCursor(c); 
c.moveToFirst(); 

反復このカーソルとは、反復C2はカーソル

SQLiteDatabase myDB= null; 
    String TableName = "myTable"; 
    myDB = this.openOrCreateDatabase("DatabaseName", MODE_PRIVATE, null); 

    // Get a cursor with all people 
    Cursor c2 = myDB.rawQuery("SELECT * FROM " + TableName , null); 
    startManagingCursor(c2); 
c2.moveToFirst(); 

finalList

に文字列値を移入し、finalListに値を追加します。

変換リストを反復finalList

String[] ipArray = new String[finalList.size()]; 

ループによってアレイにfinalListとipArrayに値を取り込みます。

私はIDEを使いませんので、フローをタイプしました。あなたはすでにあなたのカーソル内のデータを持っていると仮定した場合

+0

次のチュートリアルのコードに従うことができます。その後、コードはどのようになりますか? –

+0

その場合は、単にあなたの質問にデシベルのコードをコピーして、カーソルC = getcontentaresolver(...)を交換... – kosa

+0

これを尋ねることは、ログファイル HTTPをチェックし、ここでその示すエラー をquestion.But前に、私はそれを試してみました: //polbd.com/log.txt –