zoukankan      html  css  js  c++  java
  • 浅谈SQLiteOpenHelper之onCreate例子

    哈喽大家好!如果你感觉SQLiteOpenHelper不懂的可以看一下。

     onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。

    直接上代码:

    新建一个QqlText类

    package com.example.sjk;
    
    import android.content.Context;
    import android.database.sqlite.SQLiteCursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.util.Log;
    
    public class SqlText extends SQLiteOpenHelper{
        private static final String DB_NAME = "mydata.db"; //数据库名称
        private static final int version =1; // 数据库版本
        
    //调用父类构造器 public SqlText(Context context) { super(context, DB_NAME, null, version); //context 注意一下 } @Override public void onCreate(SQLiteDatabase db) { //新安装的软件从这里开始 String sql_message = "create table t_message (id int primary key,name varchar(50),age varchar(50))"; db.execSQL(sql_message); Log.i("hi", "创建表成功"); String sql_up1 = "insert into t_message values(1,'小白','18')"; db.execSQL(sql_up1); Log.i("hi", "版本1.0插入数据成功了"); } @Override //在原来的软件上更新会从这里开始,不卸载在线更新 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
     public void onCreate(SQLiteDatabase db) //本人理解为:新安装的软件从这里开始 ,其他的都不关事;

    这个时候我们的数据库已经创建好了,并且建立表,插入了数据

    选择导出:

     数据库有数据了,小白乱码了;但还是插入了数据。

    //增加点查询功能 MainActivity.java

    package com.example.sjk;
    import android.app.Activity;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.widget.TextView;
    
    
    public class MainActivity extends Activity {
    		private SqlText st; //得到SqlText这个类的context
    		private TextView tv;	
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
             tv = (TextView) findViewById(R.id.TextView);//找到这个TextView组件
             st = new SqlText(MainActivity.this);
             
             String text = query();//调用查询这个方法
             tv.setText("id 	"+"name	"+"age
    "+text);//显示
        }
        
        public String query(){//查询数据库的数据
    		String result = "";
        	//获取数据库对象
    		SQLiteDatabase db = st.getReadableDatabase();//只读:ReadableDatabase;读写:WritableDatabase
        	//查询数据库中的数据
    		Cursor cursor = db.query("t_message", null, null, null, null, null, null);
    		//结果集
    		for(int i=0;i<cursor.getCount();i++) {
    			cursor.moveToNext();
    			result +=  cursor.getInt(cursor.getColumnIndex("id"));
    			result +=  cursor.getString(cursor.getColumnIndex("name"));
    			result +=  cursor.getString(cursor.getColumnIndex("age"));	
    		}
    		cursor.close();//关闭结果集
    		db.close();//关闭数据库对象
    		return result;
        	
        }
    
    }
    

      

    结果:

  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    leetcode 213. 打家劫舍 II JAVA
    leetcode 48. 旋转图像 java
    leetcode 45. 跳跃游戏 II JAVA
    leetcode 42. 接雨水 JAVA
    40. 组合总和 II leetcode JAVA
    24. 两两交换链表中的节点 leetcode
    1002. 查找常用字符 leecode
    leetcode 23. 合并K个排序链表 JAVA
  • 原文地址:https://www.cnblogs.com/896240130Master/p/6119616.html
Copyright © 2011-2022 走看看