2012-03-21 2 views
1

나는 데이터베이스에서 데이터를 검색하는 안드로이드에있는 퀴즈 기반 앱을 개발 중입니다. 내 질문은 사용자가 다음 버튼을 클릭 할 때 데이터베이스에서 데이터를 검색하는 방법입니다. 동일한 텍스트보기와 레이아웃이 있어야합니다.버튼을 클릭하면 sqlite에서 데이터 가져 오기

답변

1

onClick() 함수에서 해당 텍스트 뷰에 seText() 메서드를 사용하고 setText() 메서드에서 매개 변수를 전달해야합니다. 변수는 ..이 샘플 코드를 가지고 온 클릭

2
Here is a sample example code  

public class SimpleDBExActivity extends Activity { 
DataBaseHelper dbHelper; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button btnid = (Button)findViewById(R.id.btnID); 
    final TextView view = new TextView(this); 
    this.dbHelper=new DataBaseHelper(SimpleDBExActivity.this); 
    btnid.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 
     String sms = ""; 
     dbHelper.insert("12345", "some text"); 
     ArrayList<String> resultsArr = dbHelper.getAllMsgs(); 
     sms = resultsArr.get(0); 
     view.setText(sms); 
      setContentView(view); 
    } 
}); 
} }  

**database helper class**  

package com.db; 
import java.util.ArrayList; 
import android.R.string; 
import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
import android.database.sqlite.SQLiteOpenHelper; 
import android.provider.BaseColumns; 
import android.util.Log; 

public class DataBaseHelper extends SQLiteOpenHelper{ 

private static final String DB_NAME="SampleDB"; 
private static final String TABLE="SampleTABLE"; 
private static final int DB_VERSION=1; 
private static final String COLUMN1="received_Time"; 
private static final String COLUMN2="col1"; 
private static final String COLUMN3="col2"; 
private Context myContext; 
private SQLiteDatabase myDataBase; 
DataBaseHelper dbHelper; 

public DataBaseHelper(Context context) { 
    super(context, DB_NAME, null, DB_VERSION); 
    myContext=context; 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    String sql = "create table " + TABLE + "("+ COLUMN1 + " integer , " + COLUMN2 + " text not null, " 
      + COLUMN3 + " text not null);"; 
    Log.d("EventsData", "onCreate: " + sql); 
    db.execSQL(sql); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO Auto-generated method stub 
    if (oldVersion >= newVersion) 
     return; 

    String sql = null; 
    if (oldVersion == 1) 
     sql = "alter table " + TABLE + " add note text;"; 
    if (oldVersion == 2) 
     sql = ""; 

    Log.d("EventsData", "onUpgrade : " + sql); 
    if (sql != null) 
     db.execSQL(sql); 
} 
public void insert(String number, String message) { 
    String number1 = "1234"; 
    String message1 = "message"; 
    dbHelper=new DataBaseHelper(myContext); 
     SQLiteDatabase db = dbHelper.getWritableDatabase(); 
     ContentValues values = new ContentValues(); 
     values.put(DataBaseHelper.COLUMN1, System.currentTimeMillis()); 
     values.put(DataBaseHelper.COLUMN2, number1); 
     values.put(DataBaseHelper.COLUMN3, message1); 
     System.out.println("number---"+number+"=="+message); 
     db.insert(DataBaseHelper.TABLE, null, values); 
     System.out.println("inserted success"); 
     db.close(); 
     if (myDataBase != null) 
      myDataBase.close(); 

     } 

    public String getEvents() { 
     String result = ""; 
     String select = "select * from "+TABLE+""; 

     dbHelper=new DataBaseHelper(myContext); 
     SQLiteDatabase db = dbHelper.getReadableDatabase(); 
     Cursor cursor = db.rawQuery(select, null); 
     if (cursor.moveToFirst()) { 

      do { 
       result = cursor.getInt(0)+":"+cursor.getString(1)+":"+cursor.getString(2); 
      } while (cursor.moveToNext()); 

     } 
     db.close(); 
     if (cursor != null && !cursor.isClosed()) { 
      cursor.close(); 
     } 
     return result; 
     } 
    @SuppressWarnings("null") 
public ArrayList<String> getAllMsgs(){ 
     ArrayList<String> finalResArr = null; 
     String result = ""; 
     String resultQuery = "select * from " + TABLE + ""; 
     dbHelper = new DataBaseHelper(myContext); 
     SQLiteDatabase db = dbHelper.getReadableDatabase(); 
     Cursor cursor = db.rawQuery(resultQuery, null); 
     finalResArr = new ArrayList<String>(); 
     if (cursor.moveToFirst()) { 

      do { 
       result = cursor.getInt(0)+":"+cursor.getString(1)+":"+cursor.getString(2); 
       finalResArr.add(result); 
      } while (cursor.moveToNext()); 

     } 
     db.close(); 
     if (cursor != null && !cursor.isClosed()) { 
      cursor.close(); 
     } 
    return finalResArr; 

    } 
@Override 
    public synchronized void close() { 
     super.close(); 
     if (myDataBase != null) 
      myDataBase.close(); 
    } 
     } 

레이아웃 main.xml에

를 사용해야합니다
<Button 
    android:id="@+id/btnID" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" />