Android开发当中SQLite数据库的应用

这个应该算是小型数据库了。

我在DJANGO开发中已不怎么用它啦。

APP中,试一下用法吧。

package com.tw.flag.ch15_sqlite;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    static final String db_name="testDB";
    static final String tb_name="test";
    SQLiteDatabase db;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE, null);
        String createTable="CREATE TABLE IF NOT EXISTS " +
                tb_name +
                "(name VARCHAR(32), " +
                "phone VARCHAR(16), " +
                "email VARCHAR(64))";
        db.execSQL(createTable);

        Cursor c = db.rawQuery("SELECT * FROM " + db_name, null);
        if (c.getCount() == 0) {
            addData("Flag Publishing Co.", "02-23423433", "service@flag.com.tw");
            addData("PCDIY Magzine", "02-33267979", "service@pcdiy.com.tw");
            c = db.rawQuery("SELECT * FROM " + db_name, null);
        }

        if (c.moveToFirst()) {
            String str = "总共有 " + c.getCount() + " 项数据\n";
            str += "-------------";
            do {
                str += "name: " + c.getString(0) + "\n";
                str += "phone: " + c.getString(1) + "\n";
                str += "email: " + c.getString(2) + "\n";
                str += "-------------";
            } while (c.moveToNext());
            TextView txv = (TextView) findViewById(R.id.txv);
            txv.setText(str);
        }
        db.close();
    }
    private void addData(String name, String phone, String email) {
        ContentValues cv = new ContentValues(3);
        cv.put("name", name);
        cv.put("phone", phone);
        cv.put("email", email);
        db.insert(tb_name, null, cv);
    }
}

时间: 2024-09-23 06:10:24

Android开发当中SQLite数据库的应用的相关文章

app-关于android APP开发中SQLITE数据库的问题

问题描述 关于android APP开发中SQLITE数据库的问题 代码如下,首先请问我写的这段创建数据库的代码有没有错误?然后把这个类的文件放在哪里才对啊,目前程序一打开就是程序已经停止运行,APP的第一个ACTIVITY我设置的就是判断这个库中的某个表中有没有数据.我现在感觉就是程序打开,这个库还没有创建,是不存在的,所以运行不了.请大神指教下我.或者说怎么让APP一开始运行的第一步就是运行以下的代码来创建这个数据库.求指教. //数据库创建类 package com.captain.dao

android开发之sqlite数据库升级

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/39151617 在上一篇文章中,我们学习了LitePal的基本用法,体验了使用框架来进行创建表操作的便利.然而大家都知道,创建表只是数据库操作中最基本的一步而已,我们在一开始创建的表结构,随着需求的变更,到了后期是极有可能需要修改的.因此,升级表的操作对于任何一个项目也是至关重要的,那么今天我们就一起来学习一下,在Android传统开发当中升级表的方式,以及使用LitePal来进行

android开发中sqlite的使用

问题描述 android开发中sqlite的使用 请问在开发中sqlite的使用广泛吗?求举个例子使用sqlite完成什么功能,学了知识点不知什么情况会用到,各位前辈们求指点啊! 解决方案 使用数据库实现对数据的存储. 下面上一个小例子,写日记. 效果如下: ? ? ?? ?? 当LIstView中没有数据显示时,我们需要告诉用户没有数据. 方法有二: 1. activity继承ListActivity,在布局文件中如下编写: android:id="@id/android:empty"

Android开发使用 SQLite 存储数据

一.创建SQLite数据库和表 我们可以通过SQLiteDatabase.openOrCreateDatabase()来创建一个数据库实例. SQLiteDatabase db = openOrCreateDatabase(dbName, MODE_PRIVATE, null);// openOrCreateDatabase(String name, int mode, CursorFactory factory)// 第一个参数为创建数据库的名称// 第二个参数为创建数据库的权限,其权限同内部

Android编程之SQLite数据库操作方法详解

本文实例讲述了Android SQLite数据库操作方法.分享给大家供大家参考,具体如下: SQLite and Android SQLite简介 SQLite是一个非常流行的嵌入式数据库,它支持SQL语言,并且只利用很少的内存就有很好的性能.此外,它还是开源的,任何人都可以使用它. SQLite由以下几个组件组成:SQL编译器.内核.后端以及附件.SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使调试.修改和扩展SQLite的内核变得更加方便. SQLite支持的数据类型包括: 1.

Android中的SQLite数据库简介

SQLite简介: SQLite是Android系统采用的一种开源的轻量级的关系型的数据库,Android中允许每个应用程序都拥有自己独立的数据库,每个应用程序的数据库的位置一般在/data/data/<package_name>/databases中.为了方便开发人员的使用,Android的API对增删查改实现了封装,通过SQLiteOpenHelper类可以方便的实现对数据库的创建和管理操作.不过正式的使用数据库之前,我们还要知道两个基本知识点. Content Values 和Curso

android开发 短信数据库的问题

问题描述 android开发 短信数据库的问题 类似于12306的分开两条发过来的短信,在数据库中会以哪种方式存储?是一条记录还是两条记录? 解决方案 你说的是,很长的那种短信被截取成两条的情况吧,一般都是存一整条的,可以参考下: 解决方案二: 一般都是一整条的,主要看你客户需求 解决方案三: 一条好些,不然你是不是还得记录两条的关系? 解决方案四: 数据库里面存的是一条 解决方案五: 记录的是一条,但是分两条显示给你

您是怎么看待服务器端数据库和android应用本地sqlite数据库

问题描述 您是怎么看待服务器端数据库和android应用本地sqlite数据库 一个线上的应用(比如说网易新闻)肯定是要跟服务器打交道的,但是当用户处于网络离线情况下,还能继续观看新闻(就是所谓的离线新闻),那么这些新闻数据肯定要保存在本地数据库(也有人说用json保存到文件里),那现在就有这样一个事情了.是不是有网就去服务器取数据,然后将取到的数据保存到本地的数据库(含数据更新),有些设置得更人性化的应用,还分是否2G/3G/wifi状态下读取服务器的数据. 服务器端数据库和本地数据库频繁的切

http协议在android开发当中应用广泛么

问题描述 http协议在android开发当中应用广泛么 http协议在android开发当中应用广泛么 大概有什么应用get方法和post方法还有dopost方法有什么区别和联系,都是抽象方法吗,属于什么类的 解决方案 后台服务器都是提高http API 一般都是get和post两个动作 解决方案二: iOS开发中HTTP协议的应用 解决方案三: 这些安卓中都要用到,他们的用法区别网上有很多写的很好的,你搜搜,手机打字不方便. 解决方案四: 后台都要用http 不过人家都给你封装好了 不用自己