zoukankan      html  css  js  c++  java
  • Android:数据存储之SQLite

    Android在运行时集成了SQLite , 所以每个Android应用程序都可以使用SQLite数据库。

    我们通过SQLiteDatabase这个类的对象操作SQLite数据库,而且不需要身份验证。

    数据库存放的位置:data/data/<项目文件夹>/databases/,查看数据库>>

    实例:

    复制代码
    public class MainActivity extends Activity {
        private Button createDatabase, createTable, selectData, insertData,
                updateData, deleteDaata;
        private MySQLiteOpenHelper helper;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.demo);
    
            // 初始化按钮
            createDatabase = (Button) findViewById(R.id.createDatabase);
            createTable = (Button) findViewById(R.id.createTable);
            selectData = (Button) findViewById(R.id.selectData);
            insertData = (Button) findViewById(R.id.insertData);
            updateData = (Button) findViewById(R.id.updateData);
            deleteDaata = (Button) findViewById(R.id.deleteDaata);
            
            
            helper = new MySQLiteOpenHelper(MainActivity.this, "mydb.db",
                    null, 1);
            
            /*
             * 创建数据库
             */
            createDatabase.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    SQLiteDatabase sqlitedatabase = helper.getWritableDatabase();
                    Toast.makeText(MainActivity.this, "数据库创建成功", 1000).show();
    
                }
    
            });
    
            /*
             * 创建表
             */
            createTable.setOnClickListener(new OnClickListener() {
    
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    SQLiteDatabase sqlitedatabase = helper.getWritableDatabase();
                    // 创建表
                    sqlitedatabase
                            .execSQL("create table student(id INTEGER PRIMARY KEY autoincrement,name text)");
                    Toast.makeText(MainActivity.this, "表创建成功", 1000).show();
                }
            });
    
            /*
             * 插入数据
             */
    
            insertData.setOnClickListener(new OnClickListener() {
    
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    SQLiteDatabase sqlitedatabase = helper.getWritableDatabase();
                    sqlitedatabase
                            .execSQL("insert into student(name) values ('tinyphp')");
                    Toast.makeText(MainActivity.this, "插入数据成功", 1000).show();
                }
            });
    
            /*
             * 更新数据
             */
            updateData.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    SQLiteDatabase sqlitedatabase = helper.getWritableDatabase();
                    sqlitedatabase
                            .execSQL("update student set name='monkey' where id='1'");
                    Toast.makeText(MainActivity.this, "数据更新成功", 1000).show();
                }
            });
    
            /*
             * 查询数据
             */
    
            selectData.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    SQLiteDatabase sqlitedatabase = helper.getReadableDatabase();
                    
                    //参数:表名、查询的列、查询条件、查询参数、查询结果分组、分组结果限制、排序
                    Cursor cursor = sqlitedatabase.query("student", new String[] {
                            "id", "name" }, "id=?", new String[] { "1" }, null,
                            null, null);
                    String name=null;
                    while(cursor.moveToNext()){
                        name =cursor.getString(cursor.getColumnIndex("name"));                    
                    }
                    Toast.makeText(MainActivity.this, "查询结果name为:"+name, 1000).show();
                }
            });
    
            
            /*
             * 删除数据
             * */
                    
            deleteDaata.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    SQLiteDatabase sqlitedatabase =helper.getWritableDatabase();
                    sqlitedatabase.delete("student", "id=?", new String[]{"1"});
                    Toast.makeText(MainActivity.this, "数据删除成功", 1000).show();
                }
            });
            
        }
    }
    复制代码

     使用getWritableDatabase或getReadableDatabase的时候,数据库才会链接,通过execSQL执行SQL语句。

    实例下载>>>>>>>>

  • 相关阅读:
    python-生成器
    python—迭代器
    python—递归函数
    CentOS关闭防火墙
    OpenHCI
    USB电源管理
    USB相关的网络资料
    USB Packet Types
    USB描述符概述
    Core Java Volume I — 1.2. The Java "White Paper" Buzzwords
  • 原文地址:https://www.cnblogs.com/kluan/p/4826229.html
Copyright © 2011-2022 走看看