我一直试图弄清楚如何在我的应用程序中实现 SQLite 数据库,以制作“配置”页面。我查看了许多页面试图弄清楚这一切,但似乎无法让它发挥作用。
https://thenewcircle.com/s/post/55/sql_demo
http://developer.android.com/guide/topics/data/data-storage.html#db
是我一直在看的一些页面。
我希望我的应用程序保存来自 an 的文本输入EditText
,然后我Button
在底部有一个“保存”,它将在单击时保存文本。但是我想知道怎么做,因为我对此并不陌生。
我遇到的下一个问题是当我想将输入的文本称为另一个 layout.xml 上的按钮的文本时
这是我的 Java 文件
package com.zimzux.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.content.ContentValues;
import android.database.sqlite.*;
public class tutorialOne extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.indstil);
DictionaryOpenHelper myDictionary;
myDictionary = new DictionaryOpenHelper(this);
final SQLiteDatabase db = myDictionary.getWritableDatabase();
final EditText indstiltxt1 = (EditText) findViewById(R.id.indstiltxt1);
Button gem1 = (Button) findViewById(R.id.gem1);
gem1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
ContentValues values = new ContentValues();
values.put("id","txt");
db.insert(indstil, null, indstiltxt1.getText());
}
});
}
和 DictionaryOpenHelper
package com.zimzux.test;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
/** Helper to the database, manages versions and creation */
public class DictionaryOpenHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "indstil.db";
private static final int DATABASE_VERSION = 1;
// Table name
public static final String TABLE = "indstil";
// Columns
public static final String ID = "id";
public static final String TXT = "txt";
public DictionaryOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table " + TABLE + "( " + BaseColumns._ID
+ " integer primary key autoincrement, " + ID + " integer, "
+ TXT + " text not null);";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion >= newVersion)
return;
String sql = null;
if (oldVersion == 1)
sql = "alter table " + TABLE + " add note text;";
if (oldVersion == 2)
sql = "";
if (sql != null)
db.execSQL(sql);
}
我真的希望这里的一些人可以帮助我解决这个问题