太原阿里云代理商:android sqlite数据库 demo

在Android应用中使用SQLite数据库是一种常见的数据存储方式,下面是一个简单的demo演示如何在Android应用中使用SQLite数据库:

  1. 创建数据库帮助类 DBHelper:
public class DBHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "demo.db";
    private static final int DATABASE_VERSION = 1;
    private static final String TABLE_NAME = "users";
    private static final String COLUMN_ID = "id";
    private static final String COLUMN_NAME = "name";

    public DBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

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

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }

    public void addUser(String name) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(COLUMN_NAME, name);
        db.insert(TABLE_NAME, null, values);
        db.close();
    }

    public ArrayList<String> getAllUsers() {
        ArrayList<String> usersList = new ArrayList<>();
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME, null);
        if (cursor.moveToFirst()) {
            do {
                String name = cursor.getString(cursor.getColumnIndex(COLUMN_NAME));
                usersList.add(name);
            } while (cursor.moveToNext());
        }
        cursor.close();
        db.close();
        return usersList;
    }
}
  1. 在MainActivity中使用数据库帮助类:
public class MainActivity extends AppCompatActivity {
    private EditText etName;
    private Button btnAddUser, btnShowUsers;
    private ListView lvUsers;
    private DBHelper dbHelper;

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

        dbHelper = new DBHelper(this);
        etName = findViewById(R.id.et_name);
        btnAddUser = findViewById(R.id.btn_add_user);
        btnShowUsers = findViewById(R.id.btn_show_users);
        lvUsers = findViewById(R.id.lv_users);

        btnAddUser.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String name = etName.getText().toString();
                dbHelper.addUser(name);
                Toast.makeText(MainActivity.this, "User added successfully", Toast.LENGTH_SHORT).show();
            }
        });

        btnShowUsers.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ArrayList<String> usersList = dbHelper.getAllUsers();
                ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, usersList);
                lvUsers.setAdapter(adapter);
            }
        });
    }
}
  1. 在布局文件 activity_main.xml 中添加以下代码:
<EditText
    android:id="@+id/et_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

<Button
    android:id="@+id/btn_add_user"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Add User"/>

<Button
    android:id="@+id/btn_show_users"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Show Users"/>

<ListView
    android:id="@+id/lv_users"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

这样就可以在Android应用中使用SQLite数据库对用户信息进行增删改查操作了。希望以上内容对您有所帮助。

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "demo.db";
private static final String TABLE_NAME = "demo_table";
private static final String COL_ID = "id";
private static final String COL_NAME = "name";
private static final int DATABASE_VERSION = 1;

public DatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

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

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
    onCreate(db);
}

public boolean insertData(String name) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(COL_NAME, name);
    long result = db.insert(TABLE_NAME, null, contentValues);
    return result != -1;
}

public Cursor getAllData() {
    SQLiteDatabase db = this.getWritableDatabase();
    return db.rawQuery("SELECT * FROM " + TABLE_NAME, null);
}

public boolean updateData(String id, String name) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(COL_ID, id);
    contentValues.put(COL_NAME, name);
    db.update(TABLE_NAME, contentValues, "ID = ?", new String[]{id});
    return true;
}

public Integer deleteData(String id) {
    SQLiteDatabase db = this.getWritableDatabase();
    return db.delete(TABLE_NAME, "ID = ?", new String[]{id});
}

}

太原阿里云代理商:android sqlite数据库 demo

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/157183.html

Like (0)
luotuoemo的头像luotuoemo
Previous 2024年3月5日 09:33
Next 2024年3月5日 10:16

相关推荐

  • 六盘水阿里云企业邮箱代理商:阿里巴巴不包邮吗?

    阿里云企业邮箱代理商:阿里巴巴不包邮吗? 阿里云企业邮箱优势 阿里云企业邮箱是一款专为企业和团队设计的高效沟通工具,具有以下优势: 稳定可靠:由阿里云提供支持,拥有强大的技术后盾,保证邮箱系统的稳定性。 安全保密:采用SSL加密传输、多重身份验证等安全措施,保障企业邮件的隐私和安全。 易于管理:支持自定义域名,轻松创建企业邮箱账号,并可以通过管理员账号对团队…

    2024年2月16日
    7700
  • 中山阿里云企业邮箱代理商:阿里邮箱如何添加qq邮箱账号登录

    阿里云企业邮箱代理商:阿里邮箱如何添加qq邮箱账号登录 阿里云企业邮箱是一款强大的企业级邮箱服务,提供了丰富的功能和便捷的操作体验。作为中山阿里云企业邮箱代理商,我们为您介绍如何添加QQ邮箱账号登录阿里邮箱,并同时分享阿里云企业邮箱的优势。 步骤一:进入阿里邮箱登录页面 打开浏览器,在地址栏输入“mail.aliyun.com”,进入阿里邮箱登录页面。 步骤…

    2024年2月11日
    9800
  • 金湖阿里云企业邮箱代理商:河南阿里云计算机科技有限公司

    金湖阿里云企业邮箱代理商:河南阿里云计算机科技有限公司 1. 优势分析 阿里云企业邮箱是阿里云推出的一款专为企业定制的邮箱服务,具有以下几个优势: 安全可靠:阿里云采用先进的技术保障企业邮箱的安全性,防止病毒、垃圾邮件等的侵扰。 强大功能:阿里云企业邮箱集成了日程安排、联系人管理、文件共享等多种功能,能够满足企业日常办公需求。 定制化服务:阿里云提供企业邮箱…

    2024年2月18日
    9100
  • 大理阿里云企业邮箱代理商:安装阿里云盘系统权限限制

    大理阿里云企业邮箱代理商:安装阿里云盘系统权限限制 阿里云企业邮箱是一款功能强大的企业级电子邮件服务,适用于中小型企业以及个人用户。作为大理地区的阿里云企业邮箱代理商,我们希望通过本文向大家介绍如何在企业邮箱中安装阿里云盘系统并进行权限限制。 阿里云盘系统是阿里云提供的云端存储和文件共享服务。它与阿里云企业邮箱完美集成,可以为企业提供更加高效、安全的文件管理…

    2024年1月25日
    11600
  • 嘉兴阿里云代理商:addons

    嘉兴阿里云代理商Addons是一种扩展服务,提供了额外的功能和工具,能够帮助用户更好地管理和使用阿里云产品。这些Addons可以根据用户的需求进行选择和安装,以满足不同场景下的需求。 常见的阿里云Addons包括: 监控和报警:提供实时监控和报警功能,帮助用户追踪资源使用情况,并及时发现和解决问题。 安全管理:提供安全加固、漏洞扫描、防火墙等功能,保护用户的…

    2024年1月12日
    7100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/