- how to get data from my database and put it on a ListView that is clickable?
- Button ViewBack;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.sqlview);
- ViewBack=(Button) findViewById(R.id.bVBack);
- TextView tv = (TextView) findViewById(R.id.tvSQLinfo);
- ViewBack.setOnClickListener(this);
- HotOrNot info = new HotOrNot(this);
- info.open();
- String data = info.geData();
- info.close();
- tv.setText(data);
- }
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- finish();
- }
- <ScrollView
- android:layout_width="fill_parent"
- android:layout_height="match_parent" >
- <TextView
- android:id="@+id/tvSQLinfo"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_marginTop="10dp"
- android:text="get info from db" />
- </ScrollView>
- ListView lv = (ListView) findViewById(R.id.listMe);
- ListAdapter listAD = new ListAdapter(this,R.id.listMe, tv);
- lv.setAdapter(listAD);
- ListAdapter listAD = new SimpleCursorAdapter (this,R.id.listMe,tv, null, null);
- public static final String KEY_ROWID= "_id";
- public static final String KEY_NAME= "persons_name";
- public static final String KEY_HOTNESS= "presons_hotness";
- private static final String DATABASE_NAME= "HotOrNotdb";
- public static final String DATABASE_TABLE= "peopleTable";
- private static final int DATABASE_VERSION= 1;
- private DbHelper ourHelper;
- private final Context ourContext;
- private SQLiteDatabase ourDatabase;
- private static class DbHelper extends SQLiteOpenHelper{
- public DbHelper(Context context) {
- super(context, DATABASE_NAME, null, DATABASE_VERSION);
- // TODO Auto-generated constructor stub
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- // TODO Auto-generated method stub
- db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
- KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
- KEY_NAME + " TEXT NOT NULL, " +
- KEY_HOTNESS + " TEXT NOT NULL);"
- );
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- // TODO Auto-generated method stub
- db.execSQL("DROP TABLE IF EXISTS " +DATABASE_TABLE);
- onCreate(db);
- }
- }
- public HotOrNot(Context c){
- ourContext=c;
- }
- public HotOrNot open() throws SQLiteException{
- ourHelper = new DbHelper(ourContext);
- ourDatabase =ourHelper.getWritableDatabase();
- return this; }
- public void close(){
- ourHelper.close();
- }
- public long createEntry(String name, String hotness) {
- // TODO Auto-generated method stub
- ContentValues cv = new ContentValues();
- cv.put(KEY_NAME, name);
- cv.put(KEY_HOTNESS, hotness);
- return ourDatabase.insert(DATABASE_TABLE, null, cv);
- }
- public String geData() {
- // TODO Auto-generated method stub
- String[]columns=new String[]{ KEY_ROWID,KEY_NAME, KEY_HOTNESS};
- Cursor c =ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
- String result ="";
- int iRow=c.getColumnIndex(KEY_ROWID);
- int iName=c.getColumnIndex(KEY_NAME);
- int iHotness=c.getColumnIndex(KEY_HOTNESS);
- for(c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
- result=result + c.getString(iRow)+" "+c.getString(iName)+" "+c.getString(iHotness)+"n";
- }
- return result;
- }
- public String getName(long l) throws SQLiteException{
- // TODO Auto-generated method stub
- String[]columns=new String[]{ KEY_ROWID,KEY_NAME, KEY_HOTNESS};
- Cursor c= ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID+"="+l, null, null, null, null);
- if (c!=null){
- c.moveToFirst();
- String name=c.getString(1);
- return name;
- }
- return null;
- }
- public String getHotness(long l)throws SQLiteException {
- // TODO Auto-generated method stub
- String[]columns=new String[]{ KEY_ROWID,KEY_NAME, KEY_HOTNESS};
- Cursor c= ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID+"="+l, null, null, null, null);
- if (c!=null){
- c.moveToFirst();
- String hotness=c.getString(2);
- return hotness;
- }
- return null;
- }
- public ArrayList<String> geData() {
- // TODO Auto-generated method stub
- String[]columns=new String[]{ KEY_ROWID,KEY_NAME, KEY_HOTNESS};
- Cursor c =ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
- ArrayList<String> result = new ArrayList<String>();
- int iRow=c.getColumnIndex(KEY_ROWID);
- int iName=c.getColumnIndex(KEY_NAME);
- int iHotness=c.getColumnIndex(KEY_HOTNESS);
- for(c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
- result.add(c.getString(iRow)+" "+c.getString(iName)+" "+c.getString(iHotness));
- }
- return result;
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" >
- <Button
- android:id="@+id/bVBack"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Something" />
- <ListView
- android:id="@+id/listMe"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" />
- </LinearLayout>
- //...
- ListView lv = (ListView) findViewById(R.id.listMe);
- HotOrNot info = new HotOrNot(this);
- info.open();
- ArrayList<String> data = info.geData();
- info.close();
- lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item1, data));