阿里云国际站:android数据库操作 demo

以下是一个小型的Android数据库操作的示例。在这个示例中,我将创建一个用户表,然后插入和查询数据。该数据库使用SQLite。

假设有一个User类如下:

public class User {
    public int id;
    public String name;
    public int age;
}

首先,创建一个SQLiteOpenHelper:

public class DbHelper extends SQLiteOpenHelper {
 
    private static final String DATABASE_NAME = "TestAppDB";
    private static final int DATABASE_VERSION = 1;
 
    public DbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_USER_TABLE =
            "CREATE TABLE " + User.TABLE  + "("
            + User.KEY_ID  + " INTEGER PRIMARY KEY AUTOINCREMENT ," 
            + User.KEY_name + " TEXT, "
            + User.KEY_age + " INTEGER )";
        db.execSQL(CREATE_USER_TABLE);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+ User.TABLE);
 
        onCreate(db);
    }
}

然后在数据库中插入数据可以如下:

public int insert(User user) {
    SQLiteDatabase db = dbHelper.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(User.KEY_age, user.age);
    values.put(User.KEY_name, user.name);
 
    long user_Id = db.insert(User.TABLE, null, values);
    db.close();
    return (int) user_Id;
}

查询数据可以如下:

public User getUser(int Id){
    SQLiteDatabase db = dbHelper.getReadableDatabase();
    String selectQuery =  "SELECT  " 
            + User.KEY_ID + ","
            + User.KEY_name + ","
            + User.KEY_age + 
            " FROM " + User.TABLE
            + " WHERE " + 
            User.KEY_ID + "=?";
 
    int iCount =0;
    User user = new User();
 
    Cursor cursor = db.rawQuery(selectQuery, new String[] { String.valueOf(Id) } );
 
    if (cursor.moveToFirst()) {
        do {
            user.user_ID =cursor.getInt(cursor.getColumnIndex(User.KEY_ID));
            user.name =cursor.getString(cursor.getColumnIndex(User.KEY_name));
            user.email =cursor.getInt(cursor.getColumnIndex(User.KEY_age));
 
        } while (cursor.moveToNext());
    }
 
    cursor.close();
    db.close();
    return user;
}

在这个示例中,我们创建了一个用户数据库,并演示了如何在数据库中插入和查询用户数据。

在Android中,一种常见的数据库操作是使用SQLite。以下是一个使用SQLite实现的数据库操作的简单Demo:

首先创建一个SQLiteOpenHelper的子类,用于创建和更新数据库:

阿里云国际站:android数据库操作 demo
public class DBHelper extends SQLiteOpenHelper {

    private static final String DB_NAME = "app_db"; // 数据库名
    private static final int DB_VERSION = 1; // 数据库版本

    // 建表语句
    private static final String CREATE_TABLE = "create table my_table(id integer primary key autoincrement, name text, age integer)";

    public DBHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建表
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 这里是更新数据库版本时所执行的操作
    }
}

然后在Activity中使用DBHelper来操作数据库:

public class MainActivity extends AppCompatActivity {

    private DBHelper dbHelper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dbHelper = new DBHelper(this);

        // 插入数据
        insertData();

        // 查询数据
        queryData();
    }

    private void insertData(){
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("name", "张三");
        values.put("age", 20);
        db.insert("my_table", null, values);
        db.close();
    }

    private void queryData(){
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        Cursor cursor = db.query ("my_table", null, null, null, null, null, null);
        if(cursor.moveToFirst()){
            do{
                String name = cursor.getString(cursor.getColumnIndex("name"));
                int age = cursor.getInt(cursor.getColumnIndex("age"));
                Log.d("MainActivity", "name:" + name + ";age:" + age);   
            } while(cursor.moveToNext());
        }
        cursor.close();
        db.close();
    }
}

以上为简单的插入和查询数据的方法,更复杂的数据库操作可以参考SQLite的语法进行。

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

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月16日 09:04
下一篇 2024年3月16日 09:12

相关推荐

  • 温岭阿里云企业邮箱代理商:阿里云独享ip怎么搭建

    阿里云企业邮箱代理商:阿里云独享IP怎么搭建 阿里云企业邮箱是一款基于阿里云技术支持的企业邮箱服务,为用户提供稳定、安全和高效的企业邮件通讯解决方案。作为温岭地区的阿里云企业邮箱代理商,我们将为您介绍如何在阿里云上搭建独享IP的企业邮箱服务。 优势: 稳定性高:阿里云拥有强大的服务器支持和技术团队,保证企业邮箱的稳定性和可靠性。 安全性强:阿里云企业邮箱采用…

    2024年2月26日
    52900
  • 绍兴阿里云代理商:阿里语音服务器

    绍兴的阿里云代理商可以提供阿里云语音服务器的销售和技术支持服务。阿里云语音服务器是阿里云提供的一种语音服务产品,可以实现语音识别、语音合成和语音转写等功能。 作为阿里云代理商,他们可以帮助客户选择适合的语音服务器配置,提供产品的销售和售后服务,解答客户的技术问题,并提供技术支持和升级服务。他们还可以根据客户的需求,为客户定制化开发和部署语音识别、合成和转写等…

    2023年12月23日
    46400
  • 阿里云物联网平台自定义面板

    阿里云怎么远程连接怎么调整桌面 之前连接正常,突然无法连接1这种情况经常遇到,无法连接没有办法,只能重启服务器。登陆阿里云账号,进入控制台。2选择实例——选择你服务所在的区域,单击实例后面的管理。3进入管理页面,直接重启阿里云服务器或者停止重新启动。4如果不重启,那么点击更多——连接到终端。就和连接远程桌面一样,可以通过这里直接连接。不过需要输入管理密码。E…

    2023年8月26日
    56400
  • 东营阿里云代理商:安全等保怎么弄

    东营阿里云代理商在提供安全等保服务时可以采取以下几个步骤: 了解安全等级要求:根据客户的安全等级要求,了解需要满足哪些安全标准和等级,比如GB/T 22239-2019《信息系统安全等保测评标准》等。 进行安全咨询:向客户提供咨询服务,对客户的信息系统进行安全分析和评估,帮助客户识别潜在风险和安全漏洞。 实施防护措施:根据客户的需求和咨询结果,采取相应的安全…

    2023年12月17日
    56800
  • 苏州阿里云代理商:阿里云企业网站定制

    苏州阿里云代理商提供阿里云企业网站定制服务,帮助企业搭建专属的企业网站。我们具有丰富的经验和专业的团队,能够根据客户的需求和要求,定制符合企业形象和品牌的网站。 我们的服务包括: 网站设计和UI/UX优化:我们提供专业的网站设计和用户界面优化,使网站外观美观、易于使用,提升用户体验。 网站开发和编码:我们拥有技术娴熟的开发团队,能够使用阿里云的技术平台,为客…

    2023年12月27日
    52200

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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