Как получить данные из базы данных с помощью этой демонстрации? - PullRequest
0 голосов
/ 01 февраля 2012

Я использую в этом примере для создания базы данных в приложении amy android.

Но здесь не указано, как извлекать данные из базы данных.

Мои поля имеют вид:

_id

имя

адрес

тип

теперь я хочу показать все доступные именаиз базы данных.

Я знаю, что должен использовать запрос Select.но где я должен использовать это, что я не знаю.Поэтому, пожалуйста, можете помочь кому-нибудь за это.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 01 февраля 2012

Вот блестящий учебник о данных Android. Учебник охватывает все аспекты базы данных.

1 голос
/ 01 февраля 2012

Напишите ваш метод в DataBaseHelper, который будет выглядеть так

public ArrayList<User> getUsersList() {

        ArrayList<User> userList = null;
        Cursor cursor = null;

        try {

            String queryString = "SELECT _id , name, address, type FROM User";

            cursor =  myDataBase.rawQuery(queryString, null);

            if (cursor != null && cursor.moveToFirst()) {
                userList = new ArrayList<User>();
                do {
                    User nextUser = new User(cursor.getInt(0),
                            cursor.getString(1), cursor.getString(2) , cursor.getString(3));
                    userList.add(nextUser);
                } while (cursor.moveToNext());
            }
        } catch (Exception e) {
            e.printStackTrace();
            userList = null;
        } finally {
            if (cursor != null && !cursor.isClosed()) {
                cursor.deactivate();
                cursor.close();
                cursor = null;
            }
            if(myDataBase != null){
                myDataBase.close();
            }
        }
        return userList;
    }
1 голос
/ 01 февраля 2012

Вы можете загрузить один пример с моего компьютера.Это ссылка.Это будет доступно только на сегодня.Я также даю вам его код, как показано ниже.

package com.collabera.labs.sai.db;

import java.util.ArrayList;

import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;

public class CRUDonDB extends ListActivity {

    private final String SAMPLE_DB_NAME = "myFriendsDb";
    private final String SAMPLE_TABLE_NAME = "friends";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        ArrayList<String> results = new ArrayList<String>();
        SQLiteDatabase sampleDB = null;

        try {
            sampleDB =  this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, null);

            sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " +
                    SAMPLE_TABLE_NAME +
                    " (LastName VARCHAR, FirstName VARCHAR," +
                    " Country VARCHAR, Age INT(3));");

            sampleDB.execSQL("INSERT INTO " +
                    SAMPLE_TABLE_NAME +
                    " Values ('Makam','Sai Geetha','India',25);");
            sampleDB.execSQL("INSERT INTO " +
                    SAMPLE_TABLE_NAME +
                    " Values ('Chittur','Raman','India',25);");
            sampleDB.execSQL("INSERT INTO " +
                    SAMPLE_TABLE_NAME +
                    " Values ('Solutions','Collabera','India',20);");

            Cursor c = sampleDB.rawQuery("SELECT FirstName, Age FROM " +
                    SAMPLE_TABLE_NAME +
                    " where Age > 10 LIMIT 5", null);

            if (c != null ) {
                if  (c.moveToFirst()) {
                    do {
                        String firstName = c.getString(c.getColumnIndex("FirstName"));
                        int age = c.getInt(c.getColumnIndex("Age"));
                        results.add("" + firstName + ",Age: " + age);
                    }while (c.moveToNext());
                } 
            }

            this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));

        } catch (SQLiteException se ) {
            Log.e(getClass().getSimpleName(), "Could not create or Open the database");
        } finally {
            if (sampleDB != null) 
                sampleDB.execSQL("DELETE FROM " + SAMPLE_TABLE_NAME);
                sampleDB.close();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...