android 知识 sqllite (来自雨松MOMO)

ControlActivity.java

package cn.m15.xys;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
 * 
 * @author 宣雨松
 * email:xuanyusong@gmail.com
 * blog:http://blog.csdn.net/xys289187120
 */
public class ControlActivity extends Activity {
   
    Context mContext = null;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mContext = this;
        /**创建与删除数据库**/
        Button botton0 = (Button)findViewById(R.id.button0);
        botton0.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
         Intent intent = new Intent(mContext,NewSQLite.class); 
         startActivity(intent);
        }
    }); 
        /**创建与删除数据库中的元素**/
        Button botton1 = (Button)findViewById(R.id.button1);
        botton1.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
         Intent intent = new Intent(mContext,NewTable.class); 
         startActivity(intent);
        }
    }); 
       
        /**增 删 改 查 数据库表中的内容**/
        Button botton2 = (Button)findViewById(R.id.button2);
        botton2.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
         Intent intent = new Intent(mContext,Newdate.class); 
         startActivity(intent);
        }
    }); 
    }
}

DatabaseHelper.java

package cn.m15.xys;

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

public class DatabaseHelper extends SQLiteOpenHelper {
    private static DatabaseHelper mInstance = null;

    /** 数据库名称 **/
    public static final String DATABASE_NAME = "xys.db";

    /** 数据库版本号 **/
    private static final int DATABASE_VERSION = 1;

    /**数据库SQL语句 添加一个表**/
    private static final String NAME_TABLE_CREATE = "create table test("
        + "_id INTEGER PRIMARY KEY AUTOINCREMENT," + "name TEXT,"+"hp INTEGER DEFAULT 100,"+ "mp INTEGER DEFAULT 100,"
        + "number INTEGER);";

    DatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    
     /**单例模式**/
    static synchronized DatabaseHelper getInstance(Context context) {
    if (mInstance == null) {
        mInstance = new DatabaseHelper(context);
    }
    return mInstance;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
    /**向数据中添加表**/
    db.execSQL(NAME_TABLE_CREATE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    /**可以拿到当前数据库的版本信息 与之前数据库的版本信息   用来更新数据库**/ 
    }

    
    /**
     * 删除数据库
     * @param context
     * @return
     */
    public boolean deleteDatabase(Context context) {
    return context.deleteDatabase(DATABASE_NAME);
    }
}

创建或打开一个已有数据库

NewSQLite.java
package cn.m15.xys;


import android.app.Activity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class NewSQLite extends Activity {
    DatabaseHelper mDbHelper = null;
    SQLiteDatabase mDb = null;
    Context mContext = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.create_sql);
    mContext = this;
    //创建DatabaseHelper对象      
    mDbHelper = DatabaseHelper.getInstance(mContext);
    //调用getReadableDatabase方法如果数据库不存在 则创建  如果存在则打开
    mDb= mDbHelper.getReadableDatabase();  

    Button button0 = (Button)findViewById(R.id.createDateBase);
    button0.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {

        Toast.makeText(NewSQLite.this, "成功创建数据库", Toast.LENGTH_LONG).show();  
        }
    });
    Button button1 = (Button)findViewById(R.id.deleteDateBase);
    button1.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
        mDbHelper = DatabaseHelper.getInstance(mContext);
        // 调用getReadableDatabase方法如果数据库不存在 则创建 如果存在则打开
        mDb = mDbHelper.getReadableDatabase();
        // 关闭数据库
        mDbHelper.close();
        // 删除数据库
        mDbHelper.deleteDatabase(mContext);
        Toast.makeText(NewSQLite.this, "成功删除数据库", Toast.LENGTH_LONG).show();  
        }
    });
    
    
    
    super.onCreate(savedInstanceState);
    }

}

建表 NewTable.java

package cn.m15.xys;


import android.app.Activity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class NewTable extends Activity {
    DatabaseHelper mDbHelper = null;
    SQLiteDatabase mDb = null;
    Context mContext = null;
  
    /**创建一张表的SQL语句**/
    private static final String NAME_TABLE_CREATE = "create table gameInfo("
        + "_id INTEGER PRIMARY KEY AUTOINCREMENT," + "name TEXT,"+ "hp INTEGER DEFAULT 100,"+ "mp INTEGER DEFAULT 100,"
        + "number INTEGER);";
    
    
    /**删除一张表的SQL语句**/
    private static final String NAME_TABLE_DELETE = "DROP TABLE gameInfo";
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.create_table);
    mContext = this;
    mDbHelper = DatabaseHelper.getInstance(mContext);
    mDb= mDbHelper.getReadableDatabase();  
    
    Button button0 = (Button)findViewById(R.id.createTable);
    button0.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
        try {
            mDb.execSQL(NAME_TABLE_CREATE);
            Toast.makeText(NewTable.this, "成功添加数据表", Toast.LENGTH_LONG).show();  
        }catch(SQLiteException e) {
            Toast.makeText(NewTable.this, "数据库中已存此表", Toast.LENGTH_LONG).show();    
        }
        }
    });
    Button button1 = (Button)findViewById(R.id.deleteTable);
    button1.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
        try {
            mDb.execSQL(NAME_TABLE_DELETE);
            Toast.makeText(NewTable.this, "成功删除数据表", Toast.LENGTH_LONG).show(); 
        }catch(SQLiteException e) {
            Toast.makeText(NewTable.this, "数据库中已无此表", Toast.LENGTH_LONG).show();    
        }

        }
    });
    
    
    
    super.onCreate(savedInstanceState);
    }

}

数据操作

Newdate.java

package cn.m15.xys;


import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class Newdate extends Activity {
    DatabaseHelper mDbHelper = null;
    SQLiteDatabase mDb = null;
    Context mContext = null;

    
    /**数据库字段**/
   
    public final static String TABLE_NAME ="test";
    public final static String ID ="_id";
    public final static String NAME ="name";
    public final static String HP ="hp";
    public final static String MP ="mp";
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.create_date);
    mContext = this;
    //创建DatabaseHelper对象      
    mDbHelper = DatabaseHelper.getInstance(mContext);
    //调用getReadableDatabase方法如果数据库不存在 则创建  如果存在则打开
    mDb= mDbHelper.getReadableDatabase();  
    //初始化 给数据库表写入一些信息
    for(int i=0; i<10; i++) {
        insert(NAME,"雨松MOMO" + i); 
    }
       
    
    
    //增加
    Button button0 = (Button)findViewById(R.id.add);
    button0.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
        insert(NAME,"新添加小可爱"); 
         Toast.makeText(Newdate.this, "添加一条数据名称为小可爱", Toast.LENGTH_LONG).show();  
        }
    });
    //删除
    Button button1 = (Button)findViewById(R.id.delete);
    button1.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
        delete(ID,"1");
        Toast.makeText(Newdate.this, "删除一条_id=1的数据", Toast.LENGTH_LONG).show();  
        }
    });
    //修改
    Button button2 = (Button)findViewById(R.id.modify);
    button2.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
        update(NAME,"雨松MOMO3","小可爱3");
        Toast.makeText(Newdate.this, "更新名称雨松MOMO3 为小可爱3", Toast.LENGTH_LONG).show();  
        }
    });
    //查找
    Button button3 = (Button)findViewById(R.id.find);
    button3.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
        Cursor cursor = find(ID,"5");
        String name = cursor.getString(cursor.getColumnIndex(NAME));
        Toast.makeText(Newdate.this, "查找ID为5数据的名称是 " + name, Toast.LENGTH_LONG).show();  
        }
    });
    super.onCreate(savedInstanceState);
    }

    
    /**
     * 插入一条数据
     * @param key
     * @param date
     */
    public void insert(String key, String date) {
    ContentValues values = new ContentValues();
    values.put(key, date);
    mDb.insert(TABLE_NAME, null, values);
    }
    
    
    /**
     * 删除一掉数据
     * @param key
     * @param date
     */
    public void delete(String key, String date) {
    mDb.delete(TABLE_NAME, key+"=?", new String[] {date});
    }
    
    /**
     * 更新一条数据
     * @param key
     * @param oldDate
     * @param newDate
     */
    public void update(String key, String oldDate,String newDate) {
    ContentValues values = new ContentValues();
    values.put(key, newDate);
    mDb.update(TABLE_NAME, values, key+"=?", new String[] {oldDate});
    }
    
    /**
     * 查找一条数据
     * @param key
     * @param date
     * @return
     */
    public Cursor find(String key ,String date) {
    
    Cursor cursor = mDb.query(TABLE_NAME, null, key+"=?", new String[] {date}, null, null, null);
    if(cursor != null) {
        cursor.moveToFirst();
    }
    return cursor;
    }

}
posted on 2012-10-28 16:36  人的本质是什么? 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/PirateCaptain/articles/2743710.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值