基于Andriod平台的安卓记事本程序源码Word格式文档下载.docx
- 文档编号:20834023
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:24
- 大小:20.39KB
基于Andriod平台的安卓记事本程序源码Word格式文档下载.docx
《基于Andriod平台的安卓记事本程序源码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于Andriod平台的安卓记事本程序源码Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
//创建表
db.execSQL(sql);
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
}
DatabaseManage.java
importjava.util.Date;
importandroid.content.ContentValues;
importandroid.database.Cursor;
importandroid.database.sqlite.SQLiteException;
importandroid.util.Log;
publicclassDatabaseManage{
privateSQLiteDatabasemSQLiteDatabase=null;
//用于操作数据库的对象
privateDatabaseHelperdh=null;
//用于创建数据库的对象
privateStringdbName="
notepad.db"
privateintdbVersion=1;
publicDatabaseManage(Contextcontext){
mContext=context;
/**
*打开数据库
*/
publicvoidopen(){
try{
dh=newDatabaseHelper(mContext,dbName,null,dbVersion);
if(dh==null){
Log.v("
msg"
"
isnull"
);
return;
}
mSQLiteDatabase=dh.getWritableDatabase();
//dh.onOpen(mSQLiteDatabase);
}catch(SQLiteExceptionse){
se.printStackTrace();
}
*关闭数据库
publicvoidclose(){
mSQLiteDatabase.close();
dh.close();
//获取列表
publicCursorselectAll(){
Cursorcursor=null;
Stringsql="
select*fromrecord"
cursor=mSQLiteDatabase.rawQuery(sql,null);
}catch(Exceptionex){
ex.printStackTrace();
cursor=null;
returncursor;
publicCursorselectById(intid){
//Stringresult[]={};
select*fromrecordwhere_id='
"
+id+"
'
//插入数据
publiclonginsert(Stringtitle,Stringcontent){
longdatetime=System.currentTimeMillis();
longl=-1;
ContentValuescv=newContentValues();
cv.put("
title"
title);
content"
content);
time"
datetime);
l=mSQLiteDatabase.insert("
null,cv);
//Log.v("
datetime"
datetime+"
+l);
l=-1;
returnl;
//删除数据
publicintdelete(longid){
intaffect=0;
affect=mSQLiteDatabase.delete("
_id=?
newString[]{id+"
});
affect=-1;
returnaffect;
//修改数据
publicintupdate(intid,Stringtitle,Stringcontent){
Stringw[]={id+"
};
affect=mSQLiteDatabase.update("
cv,"
w);
ListViewAdapter.java
importjava.util.HashMap;
importjava.util.List;
importandroid.text.format.DateFormat;
importandroid.view.LayoutInflater;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.BaseAdapter;
importandroid.widget.TextView;
publicclassListViewAdapterextendsBaseAdapter{
privateList<
String>
listItems;
listItemTimes;
//privateHashMap<
String,String>
privateLayoutInflaterinflater;
publicListViewAdapter(Contextcontext,List<
listItems,List<
times){
this.listItems=listItems;
this.listItemTimes=times;
inflater=(LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
*往列表添加条目
*@paramitem
publicvoidaddListItem(Stringitem,Stringtime){
listItems.add(item);
listItemTimes.add(time);
*删除指定位置的数据
*@paramposition
publicvoidremoveListItem(intposition){
listItems.remove(position);
listItemTimes.remove(position);
*获取列表的数量
publicintgetCount(){
returnlistItems.size();
*根据索引获取列表对应索引的内容
publicObjectgetItem(intposition){
returnlistItems.get(position);
publiclonggetItemId(intposition){
returnposition;
*通过该函数显示数据
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
if(convertView==null){
convertView=inflater.inflate(R.layout.notepad_list_item,null);
TextViewtext=(TextView)convertView.findViewById(R.id.listItem);
text.setText(listItems.get(position));
TextViewtime=(TextView)convertView.findViewById(R.id.listItemTime);
Stringdatetime=DateFormat.format("
yyyy-MM-ddkk:
mm:
ss"
Long.parseLong(listItemTimes.get(position))).toString();
time.setText(datetime);
returnconvertView;
NotepadActivity.java
importjava.util.ArrayList;
importandroid.app.Activity;
importandroid.app.AlertDialog;
importandroid.app.ListActivity;
importandroid.content.DialogInterface;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.ContextMenu;
importandroid.view.ContextMenu.ContextMenuInfo;
importandroid.view.MenuItem;
importandroid.view.View.OnClickListener;
importandroid.view.View.OnCreateContextMenuListener;
importandroid.widget.AbsListView;
importandroid.widget.AbsListView.OnScrollListener;
importandroid.widget.AdapterView;
importandroid.widget.AdapterView.OnItemClickListener;
importandroid.widget.Button;
importandroid.widget.ListView;
publicclassNotepadActivityextendsListActivityimplementsOnScrollListener{
/**Calledwhentheactivityisfirstcreated.*/
//用于表示当前界面是属于哪种状态
publicstaticfinalintCHECK_STATE=0;
publicstaticfinalintEDIT_STATE=1;
publicstaticfinalintALERT_STATE=2;
privateListViewlistView;
privateListViewAdapteradapter;
//数据源对象
privateViewRecordView;
///列表布局
privateViewlongClickView;
///长按弹出的布局
privateButtonaddRecordButton;
//新增
privateButtondeleteRecordButton;
//删除
privateButtoncheckRecordButton;
//查看
privateButtonmodifyRecordButton;
//修改
privateDatabaseManagedm=null;
//数据库管理对象
privateCursorcursor=null;
privateintid=-1;
//被点击的条目
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RecordView=getLayoutInflater()
.inflate(R.layout.footer,null);
//获取条目列表的布局
longClickView=getLayoutInflater()
.inflate(R.layout.long_click,null);
//获取按钮对象
addRecordButton=(Button)
RecordView.findViewById(R.id.addRecordButton);
deleteRecordButton=(Button)
longClickView.findViewById(R.id.deleteRecordButton);
checkRecordButton=(Button)
longClickView.findViewById(R.id.checkRecordButton);
modifyRecordButton=(Button)
longClickView.findViewById(R.id.modifyRecordButton);
dm=newDatabaseManage(this);
//数据库操作对象
listView=getListView();
//获取id为list的对象
listView.addFooterView(RecordView);
//设置列表底部视图
initAdapter();
//初始化
//this.startManagingCursor(cursor);
//将cursor交给Activity管理
setListAdapter(adapter);
//自动为id为list的ListView设置适配器
//设置滑动监听器
listView.setOnScrollListener(this);
listView.setOnCreateContextMenuListener(newmyOnCreateContextMenuListener());
//设置按钮监听器
addRecordButton.setOnClickListener(newAddRecordListener());
deleteRecordButton.setOnClickListener(newDeleteRecordListener());
checkRecordButton.setOnClickListener(newCheckRecordListener());
modifyRecordButton.setOnClickListener(newModifyRecordListener());
//初始化数据源
publicvoidinitAdapter(){
dm.open();
//打开数据库操作对象
cursor=dm.selectAll();
//获取所有数据
cursor.moveToFirst();
//将游标移动到第一条数据,使用前必须调用
intcount=cursor.getCount();
//个数
ArrayList<
items=newArrayList<
();
times=newArrayList<
for(inti=0;
i<
count;
i++){
items.add(cursor.getString(cursor.getColumnIndex("
)));
times.add(cursor.getString(cursor.getColumnIndex("
cursor.moveToNext();
//将游标指向下一个
//cursor.close();
dm.close();
//关闭数据操作对象
adapter=newListViewAdapter(this,items,times);
//创建数据源
protectedvoidonDestroy(){//销毁Activity之前,所做的事
cursor.close();
//关闭游标
super.onDestroy();
//滑动事件
publicvoidonScrollStateChanged(AbsListViewview,intscrollState){
publicvoidonScroll(AbsListViewview,intfirstVisibleItem,
intvisibleItemCount,inttotalItemCount){
//--------------------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Andriod 平台 记事本 程序 源码