Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
O resultado final sero palavras inseridas e depois requisitadas e imprimidas na tela da sua aplicao no emulador. Para isso vamos criar nosso projeto Android. V em File > New > Android Project e siga conforme a imagem abaixo (o target name usado deve coincidir com o que voc tiver instalado, no nosso caso a verso 2.2 est instalada. Leia mais sobre isso aquihttp://developer.android.com/guide/appendix/api-levels.html).
Aps criar o seu projeto Android, vamos para a criao das classes. Criaremos uma classe que ir manipular o banco de dados. Chamaremos deBDHelper.java.
import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteStatement; import android.util.Log;
private static final String DATABASE_NAME = "banco.db"; private static final int DATABASE_VERSION = 1; private static final String TABLE_NAME = "table_name";
private SQLiteStatement insertStmt; private static final String INSERT = "insert into " + TABLE_NAME + "(name) values (?)";
public DataHelper(Context context) { this.context = context; OpenHelper openHelper = new OpenHelper(this.context); this.db = openHelper.getWritableDatabase(); this.insertStmt = this.db.compileStatement(INSERT); }
public String select(String wrd) { String list = new String(); Cursor cursor = this.db.query(TABLE_NAME, new String[] {"name"},null, null, null, null, null); if (cursor.moveToFirst()) { do { list = cursor.getString(0); } while (cursor.moveToNext()); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } return list; }
public List selectAll() { List list = new ArrayList(); Cursor cursor = this.db.query(TABLE_NAME, new String[] {"name" }, null, null, null, null, "id desc"); if (cursor.moveToFirst()) { do {
list.add(cursor.getString(0)); } while (cursor.moveToNext()); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } return list; }
@Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT, count INTEGER)"); }
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion) { Log.w("banco Database", "Upgrading database, this will destroy the database and recreate."); db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } } }
Como se pode ver o mtodo onCreate() da classe interna OpenHelper cria o banco de dados utilizando as variveis que voc declarou no incio da classe. A classe BDHelper.java tambm utiliza os mtodos da classe SQLiteStatement para manipulao do banco de dados, por exemplo o mtodo insert().
private static final String INSERT = "insert into " + TABLE_NAME + "(name) values (?)";
public BDHelper(Context context) { this.context = context; OpenHelper openHelper = new OpenHelper(this.context); this.db = openHelper.getWritableDatabase(); this.insertStmt = this.db.compileStatement(INSERT); }
Voc pode ver que para se usar os mtodos da classe SQLiteStatement, deve-se declarar as variveis desse tipo, e tambm deve-se compilar esse comando SQL atravs do mtodo da classe SQLiteDatabase dentro do construtor da classe que manipula o banco de dados. Aps isso devemos trabalhar na nossa atividade. A classe Main.java que criamos.
import java.util.List;
setContentView(R.layout.main);
this.bdh = new BDHelper(this); this.bdh.deleteAll(); this.bdh.insert("psyhclo.com"); this.bdh.insert("this"); this.bdh.insert("is"); this.bdh.insert("a test."); List names = this.bdh.selectAll(); StringBuilder sb = new StringBuilder(); sb.append("Palavras na base de dados: "); for (String name : names) { sb.append(name + " "); }
this.txtView.setText(sb.toString());
} }
Aqui tudo que se faz simplesmente fazer a chamada de mtodo passando os argumentos necessrios. No se esquecendo que o arquivo main.xmlcomanda o layout da Atividade da sua aplicao. Ento devemos adicionar alguns componentes bsicos para se listar as palavras inseridas no banco de dados, o TextView. Na hierarquia do seu projeto, v em res > layout > main.xml.
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/out_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" /> </LinearLayout> </ScrollView>
Agora basta executar sua aplicao, e voc ter algo como a imagem abaixo.
Com isso, temos o bsico. Temos um aplicativo que cria um banco de dados, armazena e recupera os dados, tambm exploramos um pouco de explorar as ferramentas SQLite no ADB. Espero poder expandir esse artigo futuramente e acrescentar mais tabelas, e outros exemplos. interessante darem uma lida na documentao do Android, na parte que fala do SQLiteStatement e do SQLiteDatabase.