android之数据库SQLite(一)

创建数据库

首先定义SQLiteOpenHelper的子类

代码如下:

package com.example.myandroid;

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

public class MyDatabaseHelper extends SQLiteOpenHelper{
	private static final String DATABASENAME = "mldn.db";
	private static final int DATABASEVERSION = 1;
	private static final String TABLENAME = "mytab";
	public MyDatabaseHelper(Context context){
		super(context,DATABASENAME,null,DATABASEVERSION);
	}
	public MyDatabaseHelper(MainActivity context) {
		super(context,DATABASENAME,null,DATABASEVERSION);
	}
	public void onCreate(SQLiteDatabase db){
		String sql = "CREATE TABLE "+TABLENAME+"("+
		"id			INTEGER			PRIMARY KEY,"+
		"name		VERCHAR(50)		NOT NULL,"+
		"birthday	DATE			NOT NULL)";
		db.execSQL(sql);
	}
	public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
		String sql = "DROP TABLE IF EXITS "+TABLENAME;
		db.execSQL(sql);
		this.onCreate(db);
	}

}

  然后定义Activity类

代码如下:

package com.example.myandroid;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;

import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteOpenHelper;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupClickListener;
import android.widget.ExpandableListView.OnGroupCollapseListener;
import android.widget.ExpandableListView.OnGroupExpandListener;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SQLiteOpenHelper helper =  new MyDatabaseHelper(this);
        helper.getWritableDatabase();
    }

}

  运行后创建数据库,可以在DDMS中的data\data\包名\databases中看到相应的数据库

在启动虚拟机的情况下,可以通过命令行的方式进入数据库。

具体如下:

1.在命令行方式下输入adb shell,进入shell命令行方式,如图:

注:前两次是由于没有启动起来虚拟机

2.通过cd命令进入mldn.db所在的路径:data\data\包名\databases

3.通过ls命令,查找路径下的内容,可以发现相应的数据库mldn.db。

4.输入sqlite3 mldn.db命令,进入sqlite数据库

5.输入.schema命令,查询数据库当中的数据表。

此时采用sql语句可以进行对表的操作。

时间: 2024-10-12 07:31:58

android之数据库SQLite(一)的相关文章

【转】afinal来操作android的数据库sqlite

今天给大家介绍下#afinal#来操作android的数据库sqlite. #afinal#是一个android的orm.ioc快速开发框架,里面包含了四大功能:空间的id绑定和事件绑定功能:网络图片的显示功能(里面包含了强大的缓存框架):数据库sqlite的操作功能:http数据的读取功能(支持ajax方式读取): #afinal#开源网址:https://github.com/yangfuhai/afinal 这篇文章主要是介绍afinal的功能之一FinalDb组件,其他组件请关注我的博客

Android - 插入数据库(SQLite)错误

插入数据库(SQLite)错误 本文地址: http://blog.csdn.net/caroline_wendy Error: android.database.sqlite.SQLiteException: no such table: step (code 1): ,  while compiling: INSERT INTO step(duration,date,counter) VALUES (?,?,?). 错误:插入数据库错误,没有找到表,插入表的地方写入参数,而参数地方传入空值.

android 建数据库 SQLite 存储sd 卡或者内存

android 创建数据库调用SQLiteOpenHelper,一般不直接操作SQLiteDatabase . 是通过SQLiteOpenHelper来获取 public class DBOpenHelper extends SQLiteOpenHelper { private static final int VERSION = 1;// 定义数据库版本 private static final String PATH = Environment .getExternalStorageDire

android 本地数据库sqlite的封装

单机android   sqlite数据库的实现,这个数据库可与程序一起生成在安装包中 一.下载sqlite3.exe文件 二.运行 cmd 转到sqlite3.exe 所在目录  运行 sqlite3.exe 数据库名.db     然后会出现sqlite>的命令提示符 输入创建表的语句, create table 表名('列','列'...):(注意: 要在结束部分加  分号 )     此时会在sqlite3.exe 所在目录,出现所建数据库的文件 三.如果想在Android中运行的话,需

Android中数据库Sqlite的性能优化

1.索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率.(1). 优点大大加快了数据库检索的速度,包括对单表查询.连表查询.分组查询.排序查询.经常是一到两个数量级的性能提升,且随着数据数量级增长. (2). 缺点索引的创建和维护存在消耗,索引会占用物理空间,且随着数据量的增加而增加.在对数据库进行增删改时需要维护索引,所以会对增删改的性能存在影响. (3). 分类a. 直接创建索引和间接创建索引直

android学习——数据库SQLite的基本操作

 如果想要在android中使用数据库,使用SQLite是一个非常好的选择,因为它是android内置的数据库,提供了很多支持. 数据库的使用无非就是CRUD,也就是"Create,Read,Update,Delete"这四个基本操作. 一.Create Create就是创建表,而要想创建表,首先必须要创建或者打开数据库. 有两种方式可以做到这点: 1.手动创建或者打开数据库 SQLiteDatabase database = openOrCreateDatabase("St

Android获取数据库sqlite文件方法的命令(亲测无root手机上可行)

run-as com.example.railsetmonisysapp.app cat /data/data/com.example.railsetmonisysapp.app/databases/rail.db > /storage/sdcard0/Download/a.db run-as 程序的包名 cat /data/data/程序的包名/databases/数据库名称.db>取出后存放的位置

Unity3D在Android平台使用嵌入式数据库Sqlite,解决无法找到数据库文件的问题

做一个需要嵌入式数据库Sqlite 的unity3d项目,在pc机上运行良好,需要发布到Android平台上,于是,各种坑爹...会遇到找不到数据库文件的问题.当在pc机上使用sqlite时,当执行SqliteConnection dbConnection = new SqliteConnection("data source = test.db");语句时,如果有这个数据库文件则建立连接,如果没有则创建出这个文件,然后建立连接.当在Android平台上时,扯淡的事情就开始了,总之便不

android listview级联三菜单选择地区,本地数据库sqlite级联地区,item选中不变色

前言:因为找了N多网上的资源都没有好的解决方案,别人都是只给思路没给具体源码,真TMD纠结,干嘛求别人,自己动手才是真,最痛恨那些所谓大牛的作风,给了点点代码就让别人去想,你让我们这种小白情何于堪!!!!!!此例是基于listview来实现本地sqlite实现的! 二话不说,程序猿求的是有图有真相有源码!大家下载后有什么问题可以找到本人:QQ508181017 核心代码如下 1.数据库操作类 package com.icq.demo.db; import java.util.ArrayList;