android 实现增删改查和登陆界面

时间: 2023-12-25 09:04:21 浏览: 47
实现增删改查功能需要使用 Android 中的 SQLite 数据库。下面是一个简单的示例: ### 创建数据库 在 Android 中创建和管理 SQLite 数据库需要使用 `SQLiteOpenHelper` 类。首先需要定义一个继承自该类的 helper 类: ```java public class DBHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydb.db"; private static final int DATABASE_VERSION = 1; public DBHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS contacts (" + "id INTEGER PRIMARY KEY AUTOINCREMENT," + "name TEXT," + "phone TEXT," + "email TEXT" + ")"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS contacts"); onCreate(db); } } ``` 在 `onCreate()` 方法中创建一个名为 `contacts` 的表,包括 `id`、`name`、`phone` 和 `email` 四个字段。`id` 为主键,自增长。 ### 增加数据 在 Activity 中使用 `ContentValues` 对象向数据库中插入数据: ```java DBHelper dbHelper = new DBHelper(this); SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", "Tom"); values.put("phone", "123456789"); values.put("email", "tom@example.com"); db.insert("contacts", null, values); ``` ### 删除数据 使用 `delete()` 方法删除数据: ```java DBHelper dbHelper = new DBHelper(this); SQLiteDatabase db = dbHelper.getWritableDatabase(); db.delete("contacts", "name = ?", new String[] {"Tom"}); ``` ### 更新数据 使用 `update()` 方法更新数据: ```java DBHelper dbHelper = new DBHelper(this); SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("phone", "987654321"); db.update("contacts", values, "name = ?", new String[] {"Tom"}); ``` ### 查询数据 使用 `query()` 方法查询数据: ```java DBHelper dbHelper = new DBHelper(this); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query("contacts", null, null, null, null, null, null); while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name")); String phone = cursor.getString(cursor.getColumnIndex("phone")); String email = cursor.getString(cursor.getColumnIndex("email")); Log.d(TAG, "id: " + id + ", name: " + name + ", phone: " + phone + ", email: " + email); } cursor.close(); ``` ### 登陆界面 登陆界面可以使用 Android 中的 `EditText`、`Button`、`TextView` 等控件完成。下面是一个简单的示例: ```xml <EditText android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="用户名"/> <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="密码"/> <Button android:id="@+id/login_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登陆"/> <TextView android:id="@+id/result" android:layout_width="match_parent" android:layout_height="wrap_content"/> ``` 在 Activity 中为按钮设置点击事件: ```java Button loginButton = findViewById(R.id.login_button); loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EditText usernameEditText = findViewById(R.id.username); EditText passwordEditText = findViewById(R.id.password); TextView resultTextView = findViewById(R.id.result); String username = usernameEditText.getText().toString(); String password = passwordEditText.getText().toString(); if ("admin".equals(username) && "123456".equals(password)) { resultTextView.setText("登陆成功"); } else { resultTextView.setText("用户名或密码错误"); } } }); ```

相关推荐

最新推荐

recommend-type

Android连接MySQL数据库并进行增删改查操作示例讲解

主要介绍了Android 连接MySQL数据库并进行增删改查操作示例讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

android之sqlite实现增删改查

这是学习及开发SQlite的一个很好的例子,含有其增删改查的所有功能 附有完整的代码 可以直接运行
recommend-type

详解Android Studio实现用户登陆界面demo(xml实现)

主要介绍了详解Android Studio实现用户登陆界面demo,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

Android开发中实现用户注册和登陆的代码实例分享

主要介绍了Android开发中实现用户注册和登陆的代码实例分享,只是实现基本功能,界面华丽度就请忽略啦XD 需要的朋友可以参考下
recommend-type

Android实现带有记住密码功能的登陆界面

主要为大家详细介绍了Android实现带有记住密码功能的登陆界面,主要采用SharedPreferences来保存用户数据,感兴趣的小伙伴们可以参考一下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

可见光定位LED及其供电硬件具体型号,广角镜头和探测器,实验设计具体流程步骤,

1. 可见光定位LED型号:一般可使用5mm或3mm的普通白色LED,也可以选择专门用于定位的LED,例如OSRAM公司的SFH 4715AS或Vishay公司的VLMU3500-385-120。 2. 供电硬件型号:可以使用常见的直流电源供电,也可以选择专门的LED驱动器,例如Meanwell公司的ELG-75-C或ELG-150-C系列。 3. 广角镜头和探测器型号:一般可采用广角透镜和CMOS摄像头或光电二极管探测器,例如Omron公司的B5W-LA或Murata公司的IRS-B210ST01。 4. 实验设计流程步骤: 1)确定实验目的和研究对象,例如车辆或机器人的定位和导航。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。