`

android之数据库的使用案例

 
阅读更多

Android中采用的数据库是一个轻量级的数据库SQLite,在使用这个数据库时不用再导包,

,使用SQLite数据库时,首先要继承SQLiteOpenHelper,SQLiteOpenHelper是一个用于数据库的创建和管理的类,子类通过实现onCrate来实现数据库的创建,通过实现onUpGrade来实现数据库版本的控制。

 

通过下面具体代码来了解一下如何创建一个数据库:

public classMyDBOpenHelper extends SQLiteOpenHelper{

     //这是构造方法,通过构造方法可以创建一个名为hello.db的数据库

//构造函数可以只传一个代表上下文的Context变量,也可以传入数据库名称,游//标工厂,数据库版本号。当然,后面这三个参数也可以通过调用父类的构造函数//时传入。第三个参数传入null时,默认使用默认的游标工厂。

    public MyDBOpenHelper(Contextcontext) {

       super(context, "hello.db",null,1);

      

    }

 

//数据库第一次创建时调用,在这里面可以在数据库名为hello.db下创建一张表。

  @Override

    public void onCreate(SQLiteDatabasedb) {

       System.out.println("数据库创建");

      

       db.execSQL("create table person (id INTEGER primary keyautoincrement,name varchar(20),balance varchar(20))");

      

      

    }

 

//onUpGrade是通过检查数据库版本是否改变,如果改变了则执行该方法,否则不执行

    @Override

    public voidonUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

       // TODO Auto-generated method stub

      

    }

 

}

 

 

通过实例化MyDBOpenHelper类可以对已经创建的数据库进行增删改查。

public classClassicPersonDAO {

 

    Contextcontext;

    MyDBOpenHelperdb;

 

    publicClassicPersonDAO(Context context) {

       this.context = context;

       db = newMyDBOpenHelper(context); // 创建dbopenHelper

    }

 

    // 插入

 

    public void insert(Person p) {

// 获得一个可写的数据库

SQLiteDatabasedataBase = db.getWritableDatabase(); 

// 向数据库中插入一条数据

 

    dataBase.execSQL("insert into person (name,balance)values(?,?)",

              new Object[] { p.getName(),p.getBalance() });

       dataBase.close();// 将数据库关闭

 

    }

 

    // 删除一条数据

 

    public void delete(int id) {

       SQLiteDatabasedatabase = db.getWritableDatabase();

 

database.execSQL("delete from person where id=?", newObject[] { id+ "" });

 

       database.close();

 

    }

 

    // 更新数据库中的某条记录

    public void update(Person p) {

 

       SQLiteDatabasedata = db.getWritableDatabase();

       data.execSQL("update person set name=?,balance=? where id=?",

              new Object[] { p.getName(),p.getBalance(), p.getId() });

 

       data.close();

 

    }

 

    // 根据id查询数据

    public Person query(int i) {

 

       SQLiteDatabasedata = db.getReadableDatabase();

 

       Cursorc = data.rawQuery("select * from person whereid=?",

              new String[] { i + "" });

       Personp = newPerson();

       while (c.moveToNext()) {

           Integerid = c.getInt(c.getColumnIndex("id"));

           Stringname = c.getString(c.getColumnIndex("name"));

           Stringbalance = c.getString(c.getColumnIndex("balance"));

 

           p.setId(id);

           p.setName(name);

           p.setBalance(balance);

       }

       db.close();

       return p;

 

    }

 

    // 查询全部

    public List<Person>queryAll() {

 

       SQLiteDatabasedata = db.getReadableDatabase();

       Cursorc = data.rawQuery("select * from person", null);

       List<Person>list = newArrayList<Person>();

       while (c.moveToNext()) {

           Integerid = c.getInt(c.getColumnIndex("id"));

           Stringname = c.getString(c.getColumnIndex("name"));

           Stringbalance = c.getString(c.getColumnIndex("balance"));

           Personp = newPerson();

           p.setId(id);

           p.setName(name);

           p.setBalance(balance);

           list.add(p);

 

       }

 

       return list;

    }

 

    // 分页查询

    public List<Person>queryPage() {

 

       SQLiteDatabasedata = db.getReadableDatabase();

       Cursorc = data.rawQuery("select * from person limit20,30", null);

       List<Person>list = newArrayList<Person>();

       while (c.moveToNext()) {

           Integerid = c.getInt(c.getColumnIndex("id"));

           Stringname = c.getString(c.getColumnIndex("name"));

           Stringbalance = c.getString(c.getColumnIndex("balance"));

           Personp = newPerson();

           p.setId(id);

           p.setName(name);

           p.setBalance(balance);

           list.add(p);

 

       }

 

       return list;

    }

 

}

 

0
0
分享到:
评论
1 楼 miebb 2014-02-08  
android开发数据库日常操作,学习了。

相关推荐

    android GridView数据库开发案例

    2. Android数据库开发,包括SQLiteOpenHelper的使用,创建和升级数据库。 3. CursorAdapter的使用,将数据库查询结果绑定到GridView。 4. 自定义CursorAdapter的实现,包括`newView()`和`bindView()`方法。 5. 设置...

    Android使用SQLite数据库进行增删改查详细案例

    本案例将详细介绍如何在Android应用中使用SQLite进行增(Create)、删(Delete)、改(Update)和查(Read)操作。 1. **创建SQLite数据库** 在Android中,我们需要创建一个继承自`SQLiteOpenHelper`的类,这个类...

    演示Android操作数据库例子

    在这个"演示Android操作数据库例子"中,我们将探讨如何使用Android的SQLite数据库以及DBHelper类来实现常见的数据库操作。 首先,Android中的SQLite数据库操作通常通过SQLiteOpenHelper这个辅助类进行。...

    安卓数据库操作案例

    在安卓开发中,数据库操作是不可或缺的一部分,尤其是在处理应用程序数据持久化时。本案例主要探讨了如何...通过学习和实践这个案例,开发者可以深入理解Android数据库操作的各个方面,并能够在自己的项目中灵活运用。

    android使用sqlite数据库实例(直接可运行)

    在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的数据。本实例"android使用...同时,这也是学习和实践Android数据库操作的绝佳示例。

    Android数据库SQLiteDataBase的使用

    所以,在数据库这一方面下了很大的功夫,终于掌握了基本的操作,包括建表和删除,对数据库的操作,“增删改查”基本操作,而且用了封装性来实现,是学习数据库的一个很不错的案例,我觉得!!

    android数据库的案例

    本案例将深入探讨如何在Android项目中使用SQLite数据库。 首先,我们需要创建一个SQLite数据库。在Android中,我们通常通过继承`SQLiteOpenHelper`类来实现。这个类提供了创建、升级和打开数据库的方法。例如,你...

    android数据库实例二

    本教程将深入探讨"android数据库实例二",帮助开发者系统地掌握Android中SQLite数据库的使用。 首先,我们要理解SQLite的基本概念。SQLite是一个轻量级的、嵌入式的、支持SQL的数据库引擎,它无需单独的服务进程,...

    Android 数据库 SQlite 范例 SQLiteOpenHelper

    在Android开发中,SQLite是一个轻量级的数据库引擎,它被集成到Android系统中,用于存储应用程序的数据。SQLiteOpenHelper是Android SDK提供的一种管理SQLite数据库的工具类,它可以帮助我们完成数据库的创建、升级...

    android demo,数据库操作的应用案例

    这个“android demo,数据库操作的应用案例”很可能包含了一个完整的示例项目,展示了如何在Android应用中有效地使用SQLite数据库。SQLite是Android内置的关系型数据库系统,轻量级且易于使用,适合大部分移动应用的...

    Android——LitePal操作数据库的案例.rar

    这个“Android——LitePal操作数据库的案例”提供了全面的学习材料,涵盖了从基本的数据库操作到更复杂的场景应用。 首先,我们要理解LitePal的核心功能。LitePal提供了一个快速、方便的方式来映射Java对象到SQLite...

    Android SQLite数据库开发教学案例设计.pdf

    本教学案例设计将深入探讨如何在Android环境中使用SQLite进行数据库开发。 首先,我们需要理解SQLite数据库的基本概念,包括数据库、表、字段、主键等。一个数据库可以包含多个表,每个表由一系列字段组成,这些...

    Android移动开发基础案例教程(第2版)_PPT.zip

    在实际案例中,会涉及到数据存储,Android提供了SQLite数据库、SharedPreferences、文件存储等多种方式。另外,网络编程也是现代应用不可或缺的部分,学习者需要理解HTTP协议,使用HttpURLConnection或OkHttp进行...

    Android_SQLite数据库使用范例

    本篇文章将详细探讨如何在Android中使用SQLite数据库,通过具体的使用范例进行讲解。 一、SQLite数据库的创建与初始化 在Android中,SQLite数据库通常是通过`SQLiteOpenHelper`类来创建和管理的。首先,我们需要...

    delphi 连接数据库简单案例

    在本文中,我们将深入探讨如何使用Delphi进行数据库连接,并通过一个简单的案例来演示如何执行数据库更新操作。Delphi是一款强大的RAD(快速应用程序开发)工具,它提供了丰富的组件和库,使得开发者可以轻松地与...

    火山安卓Android内置数据库+Sqlite.rar

    【标题】"火山安卓Android内置数据库+Sqlite.rar" 提供的是关于在安卓平台上使用SQLite数据库的相关资源。SQLite是一款轻量级的、嵌入式的、关系型数据库管理系统,广泛应用于移动设备,尤其是Android系统,因为它不...

    Android 绿豆通讯录【SQLite数据库】

    前情提要:Android 数据库(SQLite) 【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练)】 https://blog.csdn.net/weixin_44949135/article/details/105955663  Android ...

    Android 操作数据库案例详解(安卓开发)

    在Android应用开发中,数据库是存储和管理应用程序数据的关键组件。Android系统支持SQLite数据库,一个轻量级的关系型数据库,适合移动设备上的本地数据存储。本文将深入探讨如何在Android中进行数据库操作,包括...

    SQLite数据库案例完整解析

    这篇“SQLite数据库案例完整解析”将深入探讨SQLite的核心概念、操作方式以及在实际应用中的实例。 首先,我们来了解SQLite的基本结构。SQLite数据库由一个或多个数据库文件组成,每个文件都包含了完整的数据库。...

    Android spinner 案例

    本篇文章将详细探讨Android Spinner的使用、基本概念、API以及如何在实际项目中实现一个Spinner案例。 **Spinner的基本概念** Spinner是一个UI组件,它的外观类似一个单行输入框,但点击后会展开一个下拉列表,供...

Global site tag (gtag.js) - Google Analytics