日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > SQLite實例――dummynote(記事本)

SQLite實例――dummynote(記事本)

來源:程序員人生   發布時間:2015-06-15 08:30:58 閱讀次數:3248次

DummyNote.java


package com.example.dummynote; import android.os.Bundle; import android.support.v4.widget.SimpleCursorAdapter; import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.R.bool; import android.app.ListActivity; import android.content.Intent; import android.database.Cursor; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListAdapter; import android.widget.ListView; public class DummyNote extends ListActivity { private static final String TAG = "notes"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getListView().setEmptyView(findViewById(R.id.empty));//設置列表為空時的顯示內容為 empty文本框 registerForContextMenu(getListView()); //調用 registerForContextMenu() 方法,為視圖注冊上下文菜單。 setAdapter(); } /* private String[] note_array={ "hangsome", "lushichuanshuo", "android", "library" }; */ private NotesDbAdapter mDbHelper ; private Cursor mNoteCursor; private void setAdapter(){ mDbHelper = new NotesDbAdapter(this); mDbHelper.open(); fillData(); } //fillData()刷新數據 private void fillData(){ mNoteCursor = mDbHelper.getall(); startManagingCursor(mNoteCursor); String[] from = new String[]{NotesDbAdapter.NOTE}; int[] to = new int[]{android.R.id.text1};//android.R.id.text1是Android 框架里面的TextView的1個標識符 //Now create a simple cursor adapter SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, mNoteCursor, from, to); setListAdapter(adapter); } //Add an entity private int mNoteNumber = 1; protected static final int MENU_INSERT = Menu.FIRST; protected static final int MENU_DELETE = Menu.FIRST+1; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. super.onCreateOptionsMenu(menu); menu.add(0, MENU_INSERT, 0, "新增記事"); menu.add(0, MENU_DELETE, 0, "刪除記事"); return super.onCreateOptionsMenu(menu); } public boolean onOptionsItemSelected(MenuItem item){ switch(item.getItemId()){ case MENU_INSERT: String noteName = "Note "+ mNoteNumber++; mDbHelper.create(noteName); fillData(); return true; case MENU_DELETE: mDbHelper.delete(getListView().getSelectedItemId()); fillData(); return true; } return super.onOptionsItemSelected(item); } //NoteEdit Activity的跳轉設置 private static final int ACTIVITY_EDIT = 0x1001; @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Intent intent = new Intent(this,NoteEdit.class); intent.putExtra(NotesDbAdapter.ROWID, id);//id代表綁定到這個“ListView”項目的“row ID” startActivityForResult(intent, ACTIVITY_EDIT); } //startActivityForResult()和onActivityResult()方法是配套使用。 //前者負責調用其他Activity //猴子負責處理從其他Activity返回的消息 @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, intent); fillData(); } //長按刪除 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { menu.add(0, MENU_DELETE, 0, "刪除記事"); menu.setHeaderTitle("要如何處理這筆記錄?"); super.onCreateContextMenu(menu, v, menuInfo); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); switch(item.getItemId()){ case MENU_DELETE: mDbHelper.delete(info.id); fillData(); break; } return super.onContextItemSelected(item); } }


NoteDbAdapter.java


package com.example.dummynote; import java.util.Date; import android.content.ContentValues; import android.content.Context; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.*; import android.util.Log; public class NotesDbAdapter { private static final String TAG = "notes"; private static final String DATABASE_NAME = "notes.db"; private static final int DATABASE_VERSION = 1 ; private static final String DATABASE_TABLE = "notes"; private static final String DATABASE_CREATE = "create table notes(" +"_id INTEGER PRIMARY KEY," +"note TEXT NOT NULL," +"created INTEGER" +");"; private static class DatabaseHelper extends SQLiteOpenHelper{ public DatabaseHelper(Context context) { super(context, DATABASE_NAME,null,DATABASE_VERSION); // TODO Auto-generated constructor stub } @Override//創建數據表 public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub try { db.execSQL(DATABASE_CREATE); Log.d(TAG, "onCreate !"); } catch (Exception e) { Log.d(TAG, e.toString()); } } @Override//更新數據表 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { try { // TODO Auto-generated method stub db.execSQL("DROP TABLE IF EXISTS "+DATABASE_TABLE); onCreate(db); Log.d(TAG, "inUpgrade!"); } catch (Exception e) { Log.d(TAG, "onUpgrade failure!"); } } } private Context mCtx = null; //抽象界面 private DatabaseHelper dbHelper; //數據庫工具類 private SQLiteDatabase db; //數據庫類 /** COnstructor**/ public NotesDbAdapter(Context ctx){ this.mCtx=ctx; } public NotesDbAdapter open () throws SQLException{ dbHelper = new DatabaseHelper(mCtx); db = dbHelper.getWritableDatabase();//數據庫不存在就創造1個,若存在就根據版本庫來決定是不是更新數據庫 return this; } public void close(){ dbHelper.close(); } public static final String ROWID = "_id"; public static final String NOTE = "note"; public static final String CREATED = "created"; //query single entry public Cursor get(long rowId)throws SQLException { Cursor mCursor = db.query(DATABASE_TABLE,//Which table to select new String[]{ROWID,NOTE,CREATED},//Which columns to return ROWID+"="+rowId, //Where clause null, //Where arguments null, //Group By clause null, //Having clause null //Order-by clause ); if(mCursor!=null){ mCursor.moveToFirst();//指針移到1開始 } return mCursor; } //query single entry public Cursor getall() { return db.query(DATABASE_TABLE,//Which table to select new String[]{ROWID,NOTE,CREATED},//Which columns to return null, //Where clause null, //Where arguments null, //Group By clause null, //Having clause null //Order-by clause ); } //add an entity public long create(String Note){ Date now = new Date(); ContentValues args = new ContentValues(); args.put(NOTE, Note); args.put(CREATED, now.getDate()); return db.insert(DATABASE_TABLE, null, args); } //remove an entity public boolean delete(long rowId){ return db.delete(DATABASE_TABLE,ROWID+"="+rowId,null)>0;//delete失敗返回0 } //update an entity public boolean update(long rowId,String note){ ContentValues args = new ContentValues(); args.put(NOTE, note); return db.update(DATABASE_TABLE, args, ROWID+"="+rowId, null)>0; } }


NoteEdit.java


package com.example.dummynote; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class NoteEdit extends Activity{ private NotesDbAdapter mDbHelper; @Override protected void onCreate(Bundle SavedInstanceState){ super.onCreate(SavedInstanceState); mDbHelper = new NotesDbAdapter(this); mDbHelper.open(); setContentView(R.layout.note_edit); findViews(); showViews(SavedInstanceState); } private EditText field_note; private Button button_confirm; private void findViews() { // TODO Auto-generated method stub field_note = (EditText) findViewById(R.id.note); button_confirm = (Button) findViewById(R.id.confirm); } private Long mRowId; private void showViews(Bundle savedInstanceState) { mRowId = savedInstanceState != null? savedInstanceState.getLong(NotesDbAdapter.ROWID) : null; /*saveInstanceState 這個“bundle”數據容器中,取出Activity上1次處于“stop”狀態是,鍵值為“_id”(NotesDbAdapter.ROWID)的內容值。如果這個ACtivity是 全新打開的或是之前的行程已被回收了,那末“mRouId”的值被設為“null”*/ if (mRowId == null) { Bundle extras = getIntent().getExtras(); mRowId = extras != null ? extras.getLong(NotesDbAdapter.ROWID) : null; } populateFields();//根據RowId查詢記錄,并顯示在EditText中 button_confirm.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { mDbHelper.update(mRowId, field_note.getText().toString()); setResult(RESULT_OK); finish(); } }); } private void populateFields() { if (mRowId != null){ Cursor note = mDbHelper.get(mRowId); startManagingCursor(note); field_note.setText(note.getString(note.getColumnIndexOrThrow(NotesDbAdapter.NOTE))); } } }



     
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产一区久久久 | 欧洲久久久久 | 国产日产久久高清欧美一区 | 麻豆一区二区 | 日韩一区二区成人 | 欧美日韩成人 | ww视频网站看禁片 | 国产视频久久久久 | 天堂男人av | 91免费网| 日本毛片在线观看 | 国产一区视频在线 | 在线观看视频一区 | 日韩一级片在线观看 | 99精品视频在线观看免费 | 亚洲国产精品va在线看黑人动漫 | 视频一区国产精品 | 成人免费黄网站 | 久久久久久久久久久久久女国产乱 | 精品国产精品三级精品av网址 | www.日韩精品| 久久久久久久久一区二区 | 欧美日韩国产在线 | 久久久精品一区二区 | 国产精品久久久久久久久久久久冷 | 亚洲国产中文字幕 | 久久com| 在线中文一区 | 免费的av | 一区二区三区高清不卡 | 国产精品久久久久久久久久久久午夜片 | 日韩精品一区二区三区免费视频 | 黄色一级片视频播放 | 日韩久久片 | 亚洲精品视频免费 | 国产成人在线看 | 国产在线精品一区二区 | 中文字幕一区在线观看视频 | 国产精品久久久久久久久久东京 | 懂色av成人一区二区三区 | 欧美一区二区三区电影 |