从Android Studio中的SQLite数据库中以字符串形式检索数据

Sarwar Alam Sajib:

我想将名称保存在SQLite数据库中,然后在另一个活动中我想将该名称检索为字符串值。但是我无法从数据库中获取数据。请帮帮我。我的代码如下

数据库助手:

    private static final String TAG = "DatabaseHelper";
    private static final String TABLE_NAME = "user";
    private static final String COL1 = "ID";
    private static final String COL2 = "name";

    public void onCreate(SQLiteDatabase db) {String createTable = 
    "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY 
    AUTOINCREMENT, " + COL2 +" TEXT)"; 
    db.execSQL(createTable);}

    public boolean addData(String item) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(COL2, item);

            Log.d(TAG, "addData: Adding " + item + " to " + TABLE_NAME);

            long result = db.insert(TABLE_NAME, null, contentValues);

            if (result == -1) {
                return false;
            } else {
                return true;
            }
        }

主要活动:

    mDatabaseHelper=new DatabaseHelper(this);
    Username=(EditText)findViewById(R.id.user);
    saveBtn=(Button)findViewById(R.id.button);

    saveBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    String newEntry = Username.getText().toString();
                            AddData(newEntry);
                            Username.setText("");

    Intent intent = new Intent(MainActivity.this, HomeActivity.class);
                        startActivity(intent);
                    }
                });

            }
            public void AddData(String newEntry) {
                boolean insertData = mDatabaseHelper.addData(newEntry);
        }
        }

家庭活动:

public class HomeActivity extends AppCompatActivity {

    DatabaseHelper mDatabaseHelper;
    String Username;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);

        mDatabaseHelper = new DatabaseHelper(this);

    }

}

在这里,在这个家庭活动中,我想以字符串形式获取用户名,但是我不知道该怎么做。请帮帮我...

MikeT:

要检索数据,请运行查询以将数据提取到游标中。游标将由0-n行组成,并且将具有查询中定义的列数。然后,您在各行中移动并使用适当的Cursor get ????? 获取实际数据的方法。

例如,您可以将以下方法添加到DatabaseHelper中:

public String getName(long id) {

    String rv = "not found";
    SqliteDatabase db = this.getWritableDatabase();
    String whereclause = "ID=?";
    String[] whereargs = new String[]{String.valueOf(id)};
    Cursor csr = db.query(TABLE_NAME,null,whereclause,whereargs,null,null,null);
    if (csr.moveToFirst()) {
        rv = csr.getString(csr.getColumnIndex(COL2));
    }
    return rv;
}

然后可以使用String name = mDatabaseHelper.getName(1);

  • 请注意,这假设存在ID为1的行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android Studio从Sqlite数据库检索数据并将其显示到textview中

在Android Studio中查询sqlite数据库时出错

在2D ArrayList Android中从实时数据库检索字符串

从android中的Sqlite数据库检索null值

我如何验证/检查Firebase数据库(Android)中是否存在字符串值

在Android Studio中的设备上查看SQLite数据库

在Android中从Firebase实时数据库检索数据

如何在Firebase数据库中的字符串中的任意位置搜索-Android

在SQLite数据库中搜索特定字符串-Android SDK

在Android中备份SQLite数据库

在Android Studio / Flutter中从Firebase数据库创建特定集合的字符串列表

从android中的sqlite数据库获取字符串,日期,时间和整数

从Android中的SQLite数据库中获取德语字符

在Android中升级SQLite数据库

如何从SQLite数据库在Android中检索字符串格式的数据

在Android中以特定格式从数据库检索数据

在Android中从SQLite数据库创建字符串数组

android中的sqlite数据库错误

在Android中连接SQLite数据库

Android从SQLite数据库检索值

设置从数据库检索的值作为字符串到android中的评级栏

从Android中先前创建的SQLite数据库中搜索和检索特定数据?

在Android Studio中定义SQLite数据库

片段中的SQLite数据库-Android Studio

Android Studio,如何从Sqlite数据库中检索数据并将其显示到textview中?

如何从 Android 应用程序的 SQLite 数据库中读取 sqlite 文本 - 字段(不是字符串)

Android,Firebase - 尝试检索多个子节点时,数据库仅以字符串形式返回单个子节点

ListView Android 中的 SQLite 数据库

将数据库中的字符串与 Android Studio 中的字符串进行比较