`
antkingwei
  • 浏览: 41938 次
  • 性别: Icon_minigender_1
  • 来自: 日照
社区版块
存档分类
最新评论

Android 数据库 SQLite

阅读更多

今天正式要写博客了,这些天会把我在新浪里写的复制过来,希望大家多交流

开发中我们难免要用到数据库,今天来看一下SQLite,它是一个短小精悍的数据库,为了更好的掌握和管理数据库我们这里借助了SQLiteOpenHelper这个封装类,先写一个继承于SQLiteOpenHelper的数据库操作类

public class mydaHelper extends SQLiteOpenHelper{

//构造函数,这个是必须有的包括四个参数,分别是容器,数据库的名字,CursorFactory暂时不用管,版本号

 public mydaHelper(Context context, String name, CursorFactory factory,
   int version) {
  super(context, name, factory, version);
  
 }

// 自己写的一个含有三个参数的构造函数,它其实就是调用上面的构造函数
 public mydaHelper(Context context, String name,
   int version) {
  this(context, name, null, version);
  
 }

//同样这是自己写的一个含有两个参数的构造函数,来自于对上面的调用
 public mydaHelper(Context context, String name) {
  this(context, name,1);
  
 }

//创建数据库时调用,会建立一个表
 public void onCreate(SQLiteDatabase db) {
  
  System.out.println("create database");
  db.execSQL("create table user(id int,name text)");
 }

 //更新数据库时被调用
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  System.out.println("update a Database");
  
 }

}

接下来再写一个对数据库操作的类

public class Activity01 extends Activity {
private Button button1;
private Button button2;
private Button button3;
private Button button4;
private Button button5;
private TextView textview;
private EditText  editText1;
private EditText editText2;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

//实例化按钮和文本以及编辑框
        textview = (TextView) this.findViewById(R.id.textView1);
        button1 = (Button) this.findViewById(R.id.button1);
        button1.setText("create");
        button2 =(Button) this.findViewById(R.id.button2);
        button2.setText("insert");
        button3 =(Button) this.findViewById(R.id.button3);
        button4 =(Button) this.findViewById(R.id.button4);
        button3.setText("更新");
        button4.setText("查询");
        button5 = (Button) this.findViewById(R.id.button5);
        editText1 = (EditText) this.findViewById(R.id.editText1);
        editText2 = (EditText) this.findViewById(R.id.editText2);
        editText1.setText("");
        editText2.setText("");
        editText1.setEnabled(true);
        editText2.setEnabled(true);
      
        button1.setOnClickListener(new Button.OnClickListener(){
         public void onClick(View v){

//调用SQLiteOpenHelper构造函数
          mydaHelper dbh = new mydaHelper(Activity01.this,"my database");

 //通过对mydaHelper的调用创建数据库并来执行CreateTable方法创建一个user表
          SQLiteDatabase db = dbh.getReadableDatabase();
         }
        });
       button2.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){

 //通过ContentValues来向数据库里写数据
         ContentValues contentValues = new ContentValues();
         contentValues.put("id", editText1.getText().toString());
         contentValues.put("name", editText2.getText().toString());
         mydaHelper dbh = new mydaHelper(Activity01.this,"my database");

得到一个可写入的数据库
         SQLiteDatabase db = dbh.getWritableDatabase();

将数据写入
         db.insert("user", null, contentValues);
        }
       });
       button3.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){
         mydaHelper dbh= new mydaHelper(Activity01.this,"my database");
         ContentValues contentValues = new ContentValues();
         contentValues.put("name", editText2.getText().toString());
         SQLiteDatabase db= dbh.getWritableDatabase();

更新数据库通过"id=?",new String[]{editText1.getText().toString()}确定要更新的位置
         db.update("user", contentValues, "id=?",new String[]{editText1.getText().toString()} );
        }
       });
       button4.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){
         String n = "";
         mydaHelper dbh = new mydaHelper(Activity01.this,"my database");
         SQLiteDatabase db=  dbh.getReadableDatabase();

   查询数据库几个参数分别是数据库的名字,要返回的内容,确定内容的标志比如id,标志内容,其他的不做介绍
         Cursor cursor = db.query("user", null, null,  null, null,null, null
           );

//通过指针的移动来确定是不是查询完毕
         while(cursor.moveToNext()){
         得到内容
          int id = cursor.getInt(cursor.getColumnIndex("id"));
          String name = cursor.getString(cursor.getColumnIndex("name"));
          n += id+"  :  "+name+"\n";
               
         }
     显示内容
         textview.setText(n);
        
        }
       });
       button5.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){
         mydaHelper dbh = new mydaHelper(Activity01.this,"my database");
         SQLiteDatabase db = dbh.getWritableDatabase();

删除表中的内容几个参数分别是数据库名字,要删除的列,列的内容来确定那一列
         db.delete("user", "id=?", new String[]{editText1.getText().toString()});
        }
       });
        }
}

分享到:
评论

相关推荐

    Android数据库SQLite详解

    在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的数据。SQLite具有高效、可靠且易于集成的特点,使得它成为Android应用数据...

    Android数据库SQLite手动建库适合小白学习的代码清晰易懂

    Android数据库SQLite手动建库的代码页,适合小白学习分析Android代码。即便是刚刚接触的Android的学生,看里面的两行注释也能明白。 程序运行效果,在File Explore里面的Date/Date/<packageName>/database下会看到...

    Android数据库Sqlite的基本用法及升级策略

    **Android数据库SQLite的基本用法** SQLite是Android系统中默认的轻量级数据库,它支持标准的关系型数据库操作,如创建、查询、更新和删除数据。SQLite数据库文件存储在应用程序的私有目录下,保证了数据的安全性。...

    Android数据库SQLite基本操作工程

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

    Android 数据库SQLite.rar

    本资料包"Android 数据库SQLite.rar"包含了关于使用SQLite在Android应用中的基础知识。 首先,`readme.md`文件可能是对SQLite在Android应用中使用方法的概述或指南,通常包含步骤、注意事项和常见问题解答。由于...

    android数据库SQLite学习笔记.pdf

    android数据库SQLite学习笔记.pdf

    Android 数据库SQLite.zip项目安卓应用源码下载

    Android 数据库SQLite.zip项目安卓应用源码下载Android 数据库SQLite.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考

    Android数据库SQLite.zip

    本资源包“Android数据库SQLite.zip”(实际文件名为“Android 数据库SQLite.rar”)可能包含了关于如何在Android应用中集成和操作SQLite数据库的相关教程、代码示例和资料。 SQLite数据库的主要特性包括: 1. **轻...

    加解密android数据库sqlite

    本文将围绕"加解密Android数据库SQLite"这一主题,详细介绍如何实现这一功能。 首先,理解SQLite数据库的基本原理。SQLite是一个轻量级的、自包含的、关系型数据库引擎,它允许开发者在Android应用中存储和管理结构...

    android数据库sqlite查看器

    android数据库sqlite查看器,简单的6M的软件实现数据库查看

    Android 数据库SQLite.zip

    本资源“Android 数据库SQLite.zip”很可能包含了一些关于如何在Android应用中使用SQLite的教程、示例代码以及相关的文档。 SQLite数据库的主要特点包括: 1. **轻量级**:SQLite是文件级别的数据库,不需要服务器...

    Android 数据库SQLite 详细介绍

    在Android开发中,SQLite是一个至关重要的组件,它是一个轻量级的、开源的、关系型数据库,被广泛用于存储和管理应用程序中的结构化数据。SQLite支持标准的关系数据库特性,如SQL语法、事务处理和预编译语句,使得在...

    Android程序研发源码Android 数据库SQLite.zip

    Android程序研发源码Android 数据库SQLite.zip

    Android数据库sqlite存储

    在Android开发中,SQLite是一个重要的组成部分,它是轻量级的数据库系统,被广泛用于本地数据存储。SQLite数据库在Android应用中扮演着至关重要的角色,它允许开发者创建、修改和管理数据库,无需用户干预,提供了...

    android 数据库sqlite的小程序

    本小程序“android 数据库sqlite的小程序”旨在帮助初学者理解如何在Android环境中利用SQLite进行数据操作。 SQLite数据库的核心特性包括: 1. **轻量级**:SQLite数据库引擎不作为一个单独的进程运行,而是作为...

    安卓SQLite数据库相关-实现对没填的工时记录操作android数据库sqlite.zip

    本项目“安卓SQLite数据库相关-实现对没填的工时记录操作android数据库sqlite.zip”主要探讨了如何在Android应用中使用SQLite数据库来管理工时记录。 SQLite数据库在Android中被广泛用于数据持久化,它允许开发者...

    android数据库SQLite3详细讲解

    以下是对“android数据库SQLite3详细讲解”的核心知识点的阐述: 1. **SQLite3数据库创建**: 在Android中,首先需要在SQLiteOpenHelper的子类中重写`onCreate()`方法,该方法会在首次创建数据库时调用。在这里,...

    Android 数据库 SQlite 范例 SQLiteOpenHelper

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

Global site tag (gtag.js) - Google Analytics