1.Context的理解
Context 上下文,语境
Context是程序运行的大环境
Context定义了一套实现基本功能的规范,
Activity和Service是实现这套规范的子类,也就是继承和有选择性的重写了(Override)某些规范的实现。
e.g.
(1)在Toast 中的
由于活动本身就是一个Context对象,因此直接传入 活动类.this 即可
Log.d("mylog", "完成了数据库的创建"); //一定注意:属性mdb前一定要加所属对象, Toast.makeText(SQLiteActivity.this,"完成了数据库的创建",Toast.LENGTH_LONG).show(); // 因为这是在另一个类中 单击监听类。否则编译不报错但是运行会出错
(2)DBHelper的构造函数中
public DBHelper(Context context){ //构造函数 super(context,DBNAME,null,DBVERSION); }
实例化的时候传入的就是活动对象 ,即 context 对应 this
mdbhelper = new DBHelper(SQLiteActivity.this); //实例化SQLite辅助类SQLiteOpenHelper
2.单击监听事件是一个类,私有属性前一定要加所属对象 ***.this.mdb
(其中 this 指代对象,mdb是此对象的私有属性)
btn_newDB.setOnClickListener(new View.OnClickListener() { //单击事件:创建数据库文件 @Override public void onClick(View v) { SQLiteActivity.this.mdb = SQLiteActivity.this.mdbhelper.getWritableDatabase(); //利用Helper辅助类来创建数据库文件 Log.d("mylog", "完成了数据库的创建"); //一定注意:属性mdb前一定要加所属对象, // 因为这是在另一个类中 单击监听类。否则编译不报错但是运行会出错 } });
3.读写SD卡要加权限
4.没有root的手机是无法访问应用程序的私有数据库的,不能访问/data/data
5.Android 文件夹的含义
6.Linux 命令,目录结构,路径格式
/mnt 挂载
文件路径格式 正斜杠 /
public class DBHelper extends SQLiteOpenHelper { public static final int DBVERSION = 1; //数据库版本号 public static final String DBNAME = "/mnt/sdcard/LiChongDB1/Chongger.db"; //数据库文件名,存储在SD卡 public static final String TABLENAME = "mytag"; //数据表名
adb shell
7.onCreate() 的作用,何时启动 (生命周期,是否在构造函数之后立即启动)
在实例化的时候会调用构造函数