Android · SQLiteOpenHelper实例PrivateContactsDBHelper

package privatecontact;

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

public class PrivateContactsDBHelper extends SQLiteOpenHelper {

    public static final String DATABASE_NAME = "pContacts.db";
    public static final int DATABASE_VERSION = 1;
    public static final String TABLE_NAME = "pcontacts";
    public final static String ID = "_id";
    public final static String NAME = "name";
    public final static String MOBILE = "mobile";
    public final static String EMAIL ="email";

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "CREATE TABLE " + TABLE_NAME + " (" + ID
                + " INTEGER primary key autoincrement, " + NAME
                + " text, " + MOBILE + " text, " + EMAIL + " text);";
        db.execSQL(sql);
    }

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

    public Cursor select() {
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db
                .query(TABLE_NAME, null, null, null, null, null, null);
        return cursor;
    }

    public long insert(String arg1, String arg2, String arg3) {
        SQLiteDatabase db = this.getWritableDatabase();
        /* ContentValues */
        ContentValues cv = new ContentValues();
        cv.put(NAME, arg1);
        cv.put(MOBILE, arg2);
        cv.put(EMAIL, arg3);
        long row = db.insert(TABLE_NAME, null, cv);
        return row;
    }

    public void delete(int id) {
        SQLiteDatabase db = this.getWritableDatabase();
        String where = ID + " = ?";
        String[] whereValue = { Integer.toString(id) };
        db.delete(TABLE_NAME, where, whereValue);
    }

    public void update(int id, String arg1, String arg2, String arg3) {
        SQLiteDatabase db = this.getWritableDatabase();
        String where = ID + " = ?";
        String[] whereValue = { Integer.toString(id) };

        ContentValues cv = new ContentValues();
        cv.put(NAME, arg1);
        cv.put(MOBILE, arg2);
        cv.put(EMAIL, arg3);
        db.update(TABLE_NAME, cv, where, whereValue);
    }

}
时间: 2024-10-18 18:37:25

Android · SQLiteOpenHelper实例PrivateContactsDBHelper的相关文章

【Android 开发实例】时间管理APP开发之数据库设计

当然也可以先写界面什么的,但是,总觉得先把数据库后台写好在写界面比较放心. 对于数据库的设计,我一开始没什么概念,甚至不知道如何下手,一开始想着设计成几个表?有哪些字段? 最后用了两天时间,还是一无所获. 最后参照着数据库系统概论课的一些东西以及查看别的项目的源码,才大概的确定数据库. 因为这个APP的类别被我确定只能是二级类别.所以我设计成三个表: 总类表,子类表,详细记录表. (程序代码中出现的Log语句仅为我自己测试输出使用的) 代码如下: package suool.net.timesu

Android ExpandableListView实例Demo

前几篇文章介绍了Listview,但在实际开发中也经常会用到多层的Listview来展示数据,比如qq中的好友展示,所以这张来了解一下ExpandableListview,基本思想与Listview大致是相同的,所以用起来会比较方便. 实现效果图: 程序代码: 布局文件: activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools

Android ListFragment实例Demo(自定义适配器)

上一篇文章介绍了ListFragment,其中的ListView并没有自定义适配器,实际上在实际开发中常会用到自定义适配器,是实现更复杂的列表数据展示.所以这篇文章增加了自定义适配器,来进行ListView数据的展示. 实现效果图: 左边是Activity中的一个按钮,点击按钮会出现右边的Fragment相应的数据列表. 代码展示: 布局文件: activity_main: <LinearLayout xmlns:android="http://schemas.android.com/ap

Ubuntu下编译Android JNI实例全过程

第一步:保证make和gcc可用 在shell中输入make-v,不报错就是对的.(可参考http://wenku.baidu.com/view/d87586c24028915f804dc24a.html.) 在shell中输入gcc-v,不报错就是对的. 第二步:安装NDK 下载NDK后,设置环境变量: 将android-ndk的路劲加到环境变量PATH中:sudogedit /etc/environment 然后再让这个更改的环境变量立即生效:source /etc/environment

【转】 Android常用实例—Alert Dialog的使用

Android常用实例-Alert Dialog的使用 AlertDialog的使用很普遍,在应用中当你想要用户做出"是"或"否"或者其它各式各样的选择时,为了保持在同样的Activity和不改变用户屏幕,就可以使用AlertDialog. 代码地址 https://github.com/JueYingCoder/AndroidUsefulExample_AlertDialog 这篇文章主要讲解如何实现各种AlertDialog,文章比较长,如果能认真读完,Aler

第7章 Android HAL实例解析

第7章 Android HAL实例解析 通过本章介绍Android的HAL知道HAL是为了一些硬件提供商提出的保护专利的驱动程序而产生的,是为了避开Linux的GPL束缚.HAL主要的存储目录有:1.libhardware_legany  2.libhardware:3.ril   4.msm7k.主要包含以下一些模块:Gps.Vibrator.Wifi.Copybit.Audio.Camera.Lights.Ril.Overlay等.大概了解了Android  HAL. 第1中方法 直接调用s

Android ListFragment实例Demo

该篇文章是一个ListFragment的一个实例,通过了解该实例,更能了解比较常用的ListFragment的用法,以及各Fragment之间的数据传递. 实现效果图: 该MainActivity中包括1个Button+2个Fragment(右边两个),点击Button,出现中间的list列表,点击列表中的任一项,相应item数值,会传递到右边的Fragment中并显示. 源代码: activity_main: <LinearLayout xmlns:android="http://sch

Android开发实例之miniTwitter登录界面的实现

原文: http://www.jizhuomi.com/android/example/134.html 本文要演示的Android开发实例是如何完成一个Android中的miniTwitter登录界面,下面将分步骤讲解怎样实现图中的界面效果,让大家都能轻松的做出美观的登录界面. miniTwitter登录界面效果图 先贴上最终要完成的效果图: miniTwitter登录界面的布局分析 首先由界面图分析布局,基本可以分为三个部分,下面分别讲解每个部分. 第一部分是一个带渐变色背景的LinearL

Android常用实例—Alert Dialog的使用

Android常用实例-Alert Dialog的使用 AlertDialog的使用很普遍,在应用中当你想要用户做出"是"或"否"或者其它各式各样的选择时,为了保持在同样的Activity和不改变用户屏幕,就可以使用AlertDialog. 这篇文章主要讲解如何实现各种AlertDialog,文章比较长,如果能认真读完,AlertDialog的各种用法应该就能掌握了,下面是我们今天要实现的最终效果: 乍一看,在应用中我们见过很多千奇百怪的对话框,但仔细分析,它还是有