`
chenshengzun
  • 浏览: 115054 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

sqlite一些基本的操作

阅读更多
sqlite属于一种嵌入式的数据库,并不像其他数据库要安装服务器端,只要安装android模拟器就可以对sqlite操作了。
首先写一个数据库的工具类

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

public class DataBaseHepler extends SQLiteOpenHelper {

private static final String NAME = "sharp.db";

private static final int version = 1;

public DataBaseHepler(Context context) {
super(context, NAME, null, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table person(personid integer primary key autoincrement,name varchar(20),age integer)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}
只需要在里面添加表就可以了
然后添加一个对象

public class Person {
private Integer id;
private String name;
private Integer age;

public Person(Integer id, String name, Integer age) {
super();
this.id = id;
this.name = name;
this.age = age;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}

public Person(String name, Integer age) {
super();
this.name = name;
this.age = age;
}

public Person() {
super();


public String toString(){
return "id = " + id + " name = " + name + " age = " + age;
}
}
之后写一个service类,里面包含数据库的一些基本的操作

import java.util.ArrayList;
import java.util.List;

import com.sharpandroid.domain.Person;

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

public class PersonService {
private Context context;

private DataBaseHepler dataBaseHepler;

public PersonService(Context context) {
this.context = context;
dataBaseHepler = new DataBaseHepler(context);
}

public void save(Person person){
SQLiteDatabase database = dataBaseHepler.getWritableDatabase();
database.execSQL("insert into person(name,age) values(?,?)",new Object[]{person.getName(),person.getAge()});
}

public void update(Person person){
SQLiteDatabase database = dataBaseHepler.getWritableDatabase();
database.execSQL("update person set name=?,age=? where personid=?",new Object[]{person.getName(),person.getAge(),person.getId()});
}

public Person find(Integer id){
SQLiteDatabase database = dataBaseHepler.getWritableDatabase();
Cursor cursor = database.rawQuery("select personid,name,age from person where personid=?", new String[]{String.valueOf(id)});
if(cursor.moveToNext()){
Person person = new Person();
person.setId(cursor.getInt(cursor.getColumnIndex("personid")));
person.setName(cursor.getString(1));
person.setAge(cursor.getInt(2));
return person;
}
cursor.close();
return null;
}

public void delete(Integer id){
SQLiteDatabase database = dataBaseHepler.getWritableDatabase();
database.execSQL("delete from person where personid=?",new Object[]{id});
}
public long getCount(){
SQLiteDatabase database = dataBaseHepler.getWritableDatabase();
Cursor cursor = database.rawQuery("select count(*) from person", null);
cursor.moveToFirst();
long count = cursor.getLong(0);
cursor.close();
return count;
}
}

在AndroidManifest.xml添加测试类
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.activity"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <uses-library android:name="android.test.runner"/>
        <activity android:name=".PersonActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.sharpandroid.activity" android:label="Test for My App"/>
</manifest>

之后写一个测试单元就可以进行测试了

public class PersonServiceTest extends AndroidTestCase {
public void testSave() throws Throwable{
PersonService personService = new PersonService(this.getContext());
Person person = new Person("Tom",21);
personService.save(person);
}
}
要想看执行之后生成的数据库可以用File Explorer视图就可以看到生成之后的数据库文件,可以把生成之后的数据库导出来导入到sqlite可视化工具,就可以查看里面的数据,也可以用adb命令查看表中的数据
分享到:
评论

相关推荐

    sqlite3基本操作

    ### SQLite3基本操作详解 #### 一、简介与特点 SQLite是一种轻量级的数据库引擎,它被设计成内嵌式数据库系统,适用于资源有限的环境。SQLite的主要优点包括: - **无需安装**:与其他数据库管理系统(如MySQL或...

    SQLite3基本数据库操作

    这篇内容将深入探讨SQLite3的基本数据库操作,包括其API的使用和C语言接口。 在SQLite3中,数据库操作主要通过C语言的API接口进行,这些接口提供了创建、打开、关闭数据库,执行SQL语句,以及处理结果集等功能。...

    android Sqlite基本操作

    接下来,我们将详细讨论Android SQLite的基本操作。 一、SQLite数据库的初始化 在Android应用中,SQLite数据库的初始化通常在`SQLiteOpenHelper`的子类中进行。首先,你需要创建一个继承自`SQLiteOpenHelper`的类,...

    sqlite的基本操作

    根据给定的文件信息,以下是对SQLite基本操作的知识点详细说明: ### SQLite基本操作:iPhone应用中的数据库管理 SQLite是一种轻量级的数据库引擎,它被广泛用于移动应用开发,尤其是像iPhone这样的设备上,因为它...

    Android数据库SQLite基本操作工程

    在这个"Android数据库SQLite基本操作工程"中,我们将深入探讨如何在Android应用中进行最基础的数据库操作:增、删、改、查。 1. **创建SQLite数据库** - 在Android中,我们通常通过继承`SQLiteOpenHelper`类来创建...

    Android SQLite的基本操作Demo

    本教程将详细介绍Android SQLite的基本操作,包括创建数据库、创建表、插入数据、查询数据、更新数据和删除数据。 首先,我们需要在Android应用中创建一个SQLiteOpenHelper的子类,这个类是管理SQLite数据库生命...

    iOS源生SQLite3基本操作(OC版)

    本篇文章将详细讲解如何在OC中进行SQLite3的基本操作,包括数据库的创建、打开、关闭、表的创建与查询、数据的插入、更新和删除。 1. **安装SQLite3库** 在iOS项目中使用SQLite3,首先需要在Xcode项目中导入SQLite...

    SQlite3基本命令

    3. **基本操作**: - **显示帮助**:在SQLite3命令行界面输入`.help`可查看所有可用的命令。 - **退出**:输入`.quit`或`exit`退出SQLite3。 - **清除屏幕**:输入`.clear`清空当前屏幕。 4. **创建表**: 使用...

    c# 对sqlite基本操作,带批量插入(百万级秒插)

    在本文中,我们将深入探讨如何使用C#进行SQLite的基本操作,特别是关注批量插入功能,这在处理大量数据时尤其有用,如标题所述,可以实现百万级数据的秒级插入。SQLite是一个轻量级的数据库引擎,它允许在无需服务器...

    android基本SQLite数据库操作的增删改查demo

    综上所述,"android基本SQLite数据库操作的增删改查demo"涵盖了Android应用中SQLite数据库的基本操作,这对于构建需要本地数据存储功能的应用至关重要。开发者不仅需要理解SQL语句,还要熟悉Android的数据库API和UI...

    Sqlite数据库基本操作示例

    本示例将详细介绍如何在Android环境中进行SQLite数据库的基本操作。 一、创建SQLite数据库 在Android中,我们通常通过`SQLiteOpenHelper`类来创建和管理SQLite数据库。首先,我们需要创建一个继承自`...

    IOS sqlite数据库操作

    以下将详细介绍iOS环境下SQLite数据库的基本操作,以及如何在iPhone应用中实现这些操作。 1. **SQLite数据库安装与集成** 在iOS项目中,SQLite无需额外安装,因为它是iOS系统的一部分。开发者可以通过Objective-C...

    iOS数据库SQLite3基本操作并将内容显示在tableView中

    本教程将深入探讨SQLite3的基本操作,并演示如何将查询到的数据展示在UITableView上,这是iOS开发中常见的数据呈现方式。 一、SQLite3基本操作 1. **安装SQLite3**: iOS SDK已经内置了SQLite3库,因此无需额外安装...

    iOS SQLite的基本操作以及在数据库保存保图片

    ### SQLite基本操作 1. **创建数据库**:首先,我们需要创建一个SQLite数据库。在iOS中,通常在应用的沙盒目录下创建数据库文件。这可以通过调用FMDB的`[FMDatabase databaseWithPath:]`方法完成。 2. **打开/关闭...

    安卓开发Sqlite数据库基本操作

    以下是对安卓开发中SQLite数据库基本操作的详细说明: 一、创建数据库 在Android中,SQLite数据库通常通过SQLiteOpenHelper类的子类来创建。你需要重写onCreate()方法,在这里执行创建数据库表的SQL语句。例如: ...

    sqlite数据库基本操作+无限级别树型框

    在本资源中,“sqlite数据库基本操作”涵盖了创建数据库、表,插入、查询、更新和删除数据等核心操作。这些操作是任何SQLite使用者都需要掌握的基础技能。例如: 1. **创建数据库**:你可以通过`CREATE DATABASE`...

    c# SqLite操作类库

    该类库主要由一个类`SqliteBaseClass`组成,该类提供了SqLite数据库的基本操作接口,包括数据的增删改查、事务处理、错误处理等。 类库成员变量 该类库中定义了多个成员变量,包括: * `sqliteConn`:SqLite...

    Sqlite基本操作,历史记录大于10条自动删除

    Sqlite基本操作,历史记录大于10条自动删除 String sql = "delete from user where" + " (select count(id) from user )&gt; 9 and " + " id in (select id from user order by id desc limit " + " (select count...

    JavaScript操作SQLite数据库Demo

    在JavaScript中操作SQLite数据库,我们可以利用Web SQL API,这是一个已弃用但仍在一些旧版浏览器中可用的API。虽然它不被推荐用于新项目,但这个Demo仍然可以作为理解客户端数据库操作的基础。 首先,你需要创建一...

Global site tag (gtag.js) - Google Analytics