今日小结 4.1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了今日小结 4.1相关的知识,希望对你有一定的参考价值。

  • SQLite一章 
  • 生命周期,活动的创建、销毁、跳转

1.面向对象的程序设计的代码执行顺序好比是 数据结构中图的广度优先遍历

比如:

            public void onClick(View v) {
                Log.d("mylog","onClick");
                Intent it = new Intent (MainActivity.this,SubActivity.class);
                it.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                Log.d("mylog","CLEAR_TOP");
                startActivity(it);
                Log.d("mylog","startActivity(it)");
            }

onClick事件(对象)的代码中会从上到下执行每一条代码,这一层(onClick事件)的代码遍历完成后再往下,即 再去执行startActivity那一层的代码

so, log.d 的输出信息依次是:

04-01 09:29:43.281 10291-10291/? D/mylog: onClick      //这一层
04-01 09:29:43.283 10291-10291/? D/mylog: CLEAR_TOP
04-01 09:29:43.325 10291-10291/? D/mylog: startActivity(it)
04-01 09:29:43.351 10291-10291/? D/mylog: onCreate SubActivity    //下一层

 

2.销毁前一个活动

3.ContentValues 方式 把记录写入数据表

// ContentValues 其实就是一个哈希表HashMap, key值是字段名称,
     // Value值是字段的值。然后 通过 ContentValues 的 put 方法就可以
     // 把数据放到ContentValues中,然后插入到表中去

 

4.对象数组

    public void update(int id, String name, String birthday){
        String whereClause = "id=?";            //更新哪一个,用占位符的形式表示
        String whereArgs[] = new String[]{String.valueOf(id)};      //填入占位符
        ContentValues cv = new ContentValues();
        cv.put("name",name);
        cv.put("birthday",birthday);
        this.db.update(TABLENAME, cv, whereClause, whereArgs);
        this.db.close();
    }

 

5.构造函数是在实例化对象的时候执行,但是 onCreate() 方法不一定是在实例化对象时候执行

在Activity的子类当中,onCreate()是最先执行的,在这个方法中完成活动的初始化操作,比如加载布局,绑定监听事件,实例化对象等操作

而在SQLiteOpenHelper的子类中,onCreate()并不是在实例化对象:

mdbhelper = new DBHelper(SQLiteActivity.this);     //实例化SQLiteOpenHelper

后执行,而是要在

mdbhelper.getWritableDatabase()

方法后,也就是创建数据库后执行。

因此,可以在这个onCreate()方法中,写入sql 语句去创建数据表

 

6.占位符?

        //SQL语句方式,使用占位符
        String sql = "INSERT INTO" + TABLENAME +
                "(name,tempeindex)VALUES(?,?)";
        Object args[] = new Object[]{name,tempeindex};
        this.db.execSQL(sql,args);
        this.db.close();

 

以上是关于今日小结 4.1的主要内容,如果未能解决你的问题,请参考以下文章

今日小结 4.6

今日小结 4.2

今日小结 4.3

今日小结 4.4

今日小结

2019.3.13今日面试题小结