日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

今日小结 4.1

發布時間:2024/4/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 今日小结 4.1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 數據庫 的創建,記錄的添加,修改,刪除 ?   OK
  • 生命周期,活動的創建、銷毀、跳轉

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()是最先執行的,在這個方法中完成活動的一些初始化操作(即只做一次的操作)

比如加載布局,綁定控件(實例化對象),開啟監聽事件,初始化設置等操作:

(1)加載布局

(2)綁定控件(實例化對象)

(3)開啟監聽事件(有點像單片機中的 開啟中斷)

(4)初始化設置

@Overrideprotected void onCreate(Bundle savedInstanceState) {//加載布局super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//綁定控件mTabAdd = (ImageButton) findViewById(R.id.ib_bottombar_add);mTabEdit= (ImageButton) findViewById(R.id.ib_bottombar_edit);//開啟監聽事件mTabEdit.setOnClickListener(this);mTabAdd.setOnClickListener(this);//設置默認的片段視圖Fragment setDefaultFragment();}

?

然后去寫初始化設置的具體方法

private void setDefaultFragment() {FragmentManager fragmentManager = getFragmentManager(); //取得和實例化Fragment管理器FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); //開啟Fragment事務mAdd = new ContentFragment(); //實例化Fragment類(即Fragment的控制器)fragmentTransaction.replace(R.id.framelayout_displayFragment, mAdd); //更新布局,在容器FrameLayout中更新fragmentfragmentTransaction.commit(); //提交事務}

?

最后寫監聽事件里的具體方法,(相當于寫中斷函數,讓機子反復監聽、執行的操作)

/*覆寫這個類中(已經實現了 View.OnClickListener 接口)單擊事件的方法*/@Overridepublic void onClick(View v) {FragmentManager fragmentManager = getFragmentManager(); //取得和實例化Fragment管理器FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); //開啟Fragment事務switch (v.getId()) {case R.id.ib_bottombar_add:if (mAdd == null) { //如果ContentFragment還沒有創建(對象)則創建(即實例化ContentFragment類)mAdd = new ContentFragment();}fragmentTransaction.replace(R.id.framelayout_displayFragment, mAdd); //更新布局break;case R.id.ib_bottombar_edit:if(mEdit == null){mEdit = new ContentEditFragment();}fragmentTransaction.replace(R.id.framelayout_displayFragment,mEdit);break;default:break;}fragmentTransaction.commit(); //提交事務(提交更改)}

?

?

在SQLiteOpenHelper的子類中,onCreate()并不是在實例化對象:

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

后執行,而是要在

mdbhelper.getWritableDatabase()

方法后,也就是創建數據庫后執行。

因此,可以在這個onCreate()方法中,寫入sql 語句去創建數據表

?

6.SQLite數據庫使用注意事項:

(1)String 書寫SQL語句 注意空格

創建數據表:

String sql = "CREATE TABLE " + TBNAME_MYCLOTHES //SQL語句,創建數據表+ "(id INTEGER PRIMARY KEY,"+ "name VARCHAR(50) NOT NULL,"+ "category VARCHAR(50) NOT NULL,"+ "warmindex INTEGER NOT NULL,"+ "occasion VARCHAR(50) NOT NULL,"+ "time VARCHAR(50) NOT NULL)";

插入一條記錄

public void insert(String name, String category, Integer warmindex, String occasion, String time){Log.d("mylog","進入了 插入記錄到數據表");String sql = "INSERT INTO " + this.TBNAME+ "(name,category,warmindex,occasion,time) VALUES(?,?,?,?,?)";Object[] args = new Object[]{name,category,warmindex,occasion,time}; //對象數組this.db.execSQL(sql,args);this.db.close(); //關閉數據表Log.d("mylog","完成了 插入記錄到數據表");}

?

(2)SQLite數據庫寫入SD卡中

  1)數據庫所在目錄不會自動創建,需要File類先判斷再創建目錄

  2)記得添加權限

轉載于:https://www.cnblogs.com/Chongger/p/5343999.html

總結

以上是生活随笔為你收集整理的今日小结 4.1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。