Android :这是一份详细 & 全面的 SQLlite数据库 使用手册

// 通过游标的方法可迭代查询结果
if(cursor.moveToFirst()) {
String password = c.getString(c.getColumnIndex(“password”));
}

//Cursor对象常用方法如下:
c.move(int offset); //以当前位置为参考,移动到指定行
c.moveToFirst(); //移动到第一行
c.moveToLast(); //移动到最后一行
c.moveToPosition(int position); //移动到指定行
c.moveToPrevious(); //移动到前一行
c.moveToNext(); //移动到下一行
c.isFirst(); //是否指向第一条
c.isLast(); //是否指向最后一条
c.isBeforeFirst(); //是否指向第一条之前
c.isAfterLast(); //是否指向最后一条之后
c.isNull(int columnIndex); //指定列是否为空(列基数为0)
c.isClosed(); //游标是否已关闭
c.getCount(); //总数据项数
c.getPosition(); //返回当前游标所指向的行数
c.getColumnIndex(String columnName);//返回某列名对应的列索引值
c.getString(int columnIndex); //返回当前行指定列的值

// 通过游标遍历1个名为user的表
Cursor result=db.rawQuery(“SELECT _id, username, password FROM user”);
result.moveToFirst();
while (!result.isAfterLast()) {
int id=result.getInt(0);
String name=result.getString(1);
String password =result.getString(2);
// do something useful with these
result.moveToNext();
}
result.close();

// 若查询是动态的,使用该方法会复杂。此时使用 query() 会方便很多
// 注:无法使用SQL语句,即db.execSQL(sql);

/**

  • 操作4:查询数据2 = query()
  • 直接调用 SELECT 语句
    */
    // 方法说明
    db.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy);
    db.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit);
    db.query(String distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit);

// 参数说明
// table:要操作的表
// columns:查询的列所有名称集
// selection:WHERE之后的条件语句,可以使用占位符
// groupBy:指定分组的列名
// having指定分组条件,配合groupBy使用
// orderBy指定排序的列名
// limit指定分页参数
// distinct可以指定“true”或“false”表示要不要过滤重复值

// 所有方法将返回一个Cursor对象,代表数据集的游标

// 具体使用
Cursor cursor = sqliteDatabase.query(“user”, new String[] { “id”,“name” }, “id=?”, new String[] { “1” }, null, null, null);
// 参数1:(String)表名
// 参数2:(String[])要查询的列名
// 参数3:(String)查询条件
// 参数4:(String[])查询条件的参数
// 参数5:(String)对查询的结果进行分组
// 参数6:(String)对分组的结果进行限制
// 参数7:(String)对查询的结果进行排序

// 注:无法使用SQL语句,即db.execSQL(sql);
/**

  • 操作5:关闭数据库 = close()
  • 注:完成数据库操作后,记得调用close()关闭数据库,从而释放数据库的连接
    */
    sqliteDatabase.close();

/**

  • 操作6:删除数据库 = deleteDatabase()
    */
    // 删除 名为person的数据库
    deleteDatabase(“test.db”);

<

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要在 Android Studio 中创建一个新的项目。然后,需要在 `build.gradle` 文件中添加以下依赖: ``` dependencies { implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.android.support:design:28.0.0' implementation 'com.android.support:support-v4:28.0.0' implementation 'com.squareup.okhttp3:okhttp:3.12.0' implementation 'com.squareup.okio:okio:1.15.0' } ``` 接下来,需要创建一个 `SQLiteOpenHelper` 类来管理数据库。这个类需要继承 `SQLiteOpenHelper` 并实现以下方法: ```java public class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydatabase.db"; private static final int DATABASE_VERSION = 1; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE users (_id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT, password TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS users"); onCreate(db); } } ``` 在 `onCreate` 方法中,我们创建了一个名为 `users` 的表,包括 `_id`、`username` 和 `password` 三个字段。在 `onUpgrade` 方法中,我们删除了旧的表并创建了一个新的表。 接下来,需要在 Activity 中使用这个类来实现注册功能。下面是一个简单的实现: ```java public class MainActivity extends AppCompatActivity { private EditText usernameEditText; private EditText passwordEditText; private DatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHelper = new DatabaseHelper(this); usernameEditText = findViewById(R.id.username_edit_text); passwordEditText = findViewById(R.id.password_edit_text); Button registerButton = findViewById(R.id.register_button); registerButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = usernameEditText.getText().toString(); String password = passwordEditText.getText().toString(); if (username.isEmpty() || password.isEmpty()) { Toast.makeText(MainActivity.this, "Username and password are required", Toast.LENGTH_SHORT).show(); return; } SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("username", username); values.put("password", password); db.insert("users", null, values); Toast.makeText(MainActivity.this, "User registered successfully", Toast.LENGTH_SHORT).show(); } }); } @Override protected void onDestroy() { super.onDestroy(); dbHelper.close(); } } ``` 在 `onCreate` 方法中,我们创建了一个 `DatabaseHelper` 对象,并获取了两个 EditText 对象。接着,我们为注册按钮添加了一个点击事件,事件中首先获取了用户名和密码,然后进行非空校验。如果用户名或密码为空,我们就显示一个 Toast 提示用户。 如果用户名和密码都不为空,我们就创建一个 `SQLiteDatabase` 对象,并使用 `ContentValues` 类来存储用户名和密码。最后,我们调用 `db.insert` 方法将数据插入到 `users` 表中,并显示一个 Toast 提示用户。 在 `onDestroy` 方法中,我们关闭了 `DatabaseHelper` 对象,释放资源。 以上就是使用 Java 连接 SQLite 数据库并实现注册功能的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值