Sqlite   发布时间:2022-05-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SQLite实例——dummynote(记事本)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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的一个标识符
		
		//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,"新增记事");
		 menu.add(0,MENU_deletE,"删除记事");
		 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,ContextMenuInfo menuInfo) {
		menu.add(0,"删除记事");
		menu.setheadertitle("要如何处理这笔记录?");
		super.onCreateContextMenu(menu,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();//数据库不存在就创造一个,若存在就根据版本库来决定是否更新数据库
		
		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 curs@R_696_6356@(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();//指针移到一开始
			}
			return mcursor;
		}
		
		
	//query single entry
	public curs@R_696_6356@all() {
		return db.query(DATABASE_table,//Which table to SELEct
					new String[]{ROWID,//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,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,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上一次处于“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)));
		}
		
	}

}

大佬总结

以上是大佬教程为你收集整理的SQLite实例——dummynote(记事本)全部内容,希望文章能够帮你解决SQLite实例——dummynote(记事本)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: