安卓记事本程序源代码(Android Notepad program source code)_第1页
安卓记事本程序源代码(Android Notepad program source code)_第2页
安卓记事本程序源代码(Android Notepad program source code)_第3页
安卓记事本程序源代码(Android Notepad program source code)_第4页
安卓记事本程序源代码(Android Notepad program source code)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安卓记事本程序源代码(AndroidNotepadprogramsourcecode)1、MainActivity01.packagecn.dccssq;02。03.importandroid.app.listactivity;04.importent;05.importandroid.database.cursor;06.importandroid.os.bundle;07.importandroid.util.log;08.importandroid.view.menu;09.importandroid.view.menuitem;10.importandroid.view.view;11.importandroid.widget.listadapter;12.importandroid.widget.listview;13.importandroid.widget.simplecursoradapter;14。15.publicListActivity16。17。私有静态最后insert_id=18。19。私有静态最后delete_id=menu.first+20。21。私有静态最后activity_create=22。23。私有静态最后activity_edit=24。25。私人diarydbadapter26。27。私人光标光标;28。/**的时候调用首次创建。*/29。@Override30。publicvoidonCreate(Bundlesavedinstancestate){31。超级onCreate(savedinstancestate);32。setContentView(r.layout。主);33。34。diarydbdiarydbadapter(本35。diarydb。open();36。37。}。39。showlistview(){private40。diarydbgetallnotes(42。字符串[]=新的字符串[]{diarydbadapter。key_title,diarydbadapterkey_body};43。int[]=新的int[]{r.id.text1,r.id.created};44。45。listadapterCursorAdapter=新simplecursoradapter(这r.layout。diary_row,光标,到);46。setlistadapter(CursorAdapter);47。}48。49。@Otectedvoidonlistitemclick(ListView视图V,L,int的位置,长的ID){51。//待办事项自动生成方法存根52onlistitemclick(L,V,地位,身份53。C=光标光标;C。(位置);55(这activitydiary。类);56。意图。putExtra(diarydbadapter.key_rowid,ID);57。意图。putExtra(diarydbadapter.key_title,c.getstring(C58。。getcolumnindexorthrow(diarydbadapter。key_title)));59。意图。putExtra(diarydbadapter.key_body,c.getstring(C60。。getcolumnindexorthrow(diarydbadapter。key_body)));61。startActivityForResult(意图,activity_edit);62。}。65。protectedvoidonActivityResult(int,intrequestCode,ResultCode,意图数据){66。//待办事项自动生成方法存根67。超。onActivityResult(requestCode,ResultCode,数据);68。showlistview();69。}70。71。@Override72。公共布尔onCreateOptionsMenu(菜单){73。//待办事项自动生成方法存根74。超级onCreateOptionsMenu(菜单);75。菜单添加(0,0,insert_id,menu_insertR.string。);76。菜单添加(0,0,delete_id,menu_deleteR.string。);77。返回true;78。}79。80。@Override81。公共布尔onmenuitemselected(intfeatureid,菜单项){82。//待办事项自动生成方法存根83。开关(项目。getitemid()){84。案例insert_id:85。日志。我(“插入”,字符串值(insert_id));86。creatediary();87。返回true;88。案例delete_id:89。日志。我(“delete_id:”字符串表示形式。(getlistview()。getselecteditemid()));90。diarydb。deletediary(getlistview()。getselecteditemid());91。showlistview();92。返回true;。}onmenuitemselected(featureid,项95。}。97。creatediary(){private98。99。意图意图=新intent();100setClass(这activitydiary。类);101。startActivityForResult(意图,activity_create);102。}103。}2activitydiary01.package02。03.importandroid.app.activity;04.importent;05.importandroid.os.bundle;06.importandroid.util.log;07.importandroid.view.view;08.importandroid.widget.button;09.importandroid.widget.edittext;10。11.public类activitydiary12。13。//标题编辑14。编辑titletxt;15。//体编辑16。EditTextbodyTxt;17。//保存按钮18。全选按钮;19。//行ID20。长的rowid;21。私人diarydbadapterdiarydb;22。23。@OtectedvoidonCreate(Bundlesavedinstancestate){25。//待办事项自动生成方法存根26。超级onCreate(savedinstancestate);27。setContentView(r.layout。记事本);28。29。//初始化diarydbadapter。30。diarydbdiarydbadapter(本31.//getthescreencontroltitletxt=(edittext)findviewbyid(r.id.title);bodytxt=(edittext)findviewbyid(r.id.body_text);btn=(button)findviewbyid(r.id.button);rowid=37.//getdatafromthefrontpagebundlebundle=getintent().getextras40.if(bundle!=null){log.i("bottom",bundle.tostring43.//seendatatwopagestringtitle=bundle.getstring(diarydbadapter.keytitle);stringbody=bundle.getstring(diarydbadapter.keybody);rowid=bundle.getlong(diarydbadapter.key_rowid);if(title!==null)49.{50.titletxt.settext(title);51.}52.if(body!==null)53.{54.bodytxt.settext(body);55.}56.57.58.btn.setonclicklistener(newview.onclicklistener()59.publicvoidonclick(viewarg0){//todoautogeneratedmethodstubstringtitle=titletxt.gettext().tostring();stringbody=bodytxt.gettext().tostring();if(checkinput(title,body)){diarydb.open();if(rowid!=null){diarydb.updatediary(rowid,title,body);}else{diarydb.creatediary(title,body);70.}71.diarydb.close();72.theintentmintent=newintent();setresult(result_ok,mintent);75.finish();77.}78.}79.});80.}81.82./***validatetheinput.*@paramtitle*@parambody*@87.*/88.publicbooleancheckinput(stringtitle,stringbody){89.if(null==title||title.trim().length()==0){titletxt.seterror("pleaseinputthetitle!");returnfalse;93.}94.if(null==body||body.trim().length()==0){bodytxt.seterror(“请输入内容97。返回false;98。}99。返回1001013、diarydbadapterDB操作类,提供了两种增删查改的功能代码01.packagecn.dccssq;02。03.importjava.util.calendar;04。05.importandroid.content.contentvalues;06.importandroid.content.context;07.importandroid.database.cursor;08.importandroid.database.sqlexception;09.importandroid.database.sqlite.sqlitedatabase;10.importandroid.database.sqlite.sqliteexception;11。12.public类diarydbadapter{13。publicstaticfinalStringkey_title=“标题”;14。publicstaticfinalStringkey_body=“身体”;15。publicstaticfinalStringkey_rowid=“_id”;16。public17。staticfinalStringkey_created=“创造”;18。私人databasehelperdatabasehelper;19。20。私有上下文上下文;。22。私人SQLiteDatabasesqliteDatabase;23。24。公共diarydbadapter(语境){25。this.context=语境;26。}27。28。/**29。*打开数据库30。*/31。open(){publicvoid32。databasehelper=新databasehelper(背景);33。34。尝试。{。=databasehelpergetwritabledatabase()SQLite37。}catch(sqliteexceptione){38。=databasehelpergetreadabledatabase()SQLite39。}40。}41。42。/**43。*关闭数据库44。*/45。公共无效()46。{47。SQLite数据库。();48。}49。50。/**51。*插入数据52。*@param53。*@param54。*归55。*/56。公共长creatediary(字符串名称,柱体){57。58。内容内容=新contentvalues();59。内容。把(key_title,标题);60。内容。把(key_body,体);61。日历日历日历getinstance()=;62。创造=日历字符串。得到(日历年)+“/”63。+日历。获取(日历月)+/“/”64。+日历。得到(日历。day_of_month)+”65。+日历。得到(日历。hour_of_day)+“:”66。+日历。获取(日历分钟);67。内容。把(key_created,创建68。。返回的SQLite数据库,插入(databasehelper.databse_table,null,内容);70。}71。72。/**73。*删除记录74。*@param75。*归76。*/77。公共布尔deletediary(长78。79。字符串wherestring=key_rowid+“=”+rowid;80。返回的SQLite数据库,删除(databasehelper.databse_table,wherestring,null)>0;81。}82。83。/**84。*获取所有记录*归86。*/87。公共getallnotes()光标88。{89。字符串[]SearchResult={key_rowid,key_title,key_body,key_created};90。返回的SQLite数据库,查询(databasehelper.databse_tableSearchResult,空,空,空,空,空,);91。}92。93。/**94。*95。*@paramrowid96。*归97。*@抛出98。*/99。公共光标getdiary(长rowid)抛出SQLException{100。101。字符串[]SearchResult={key_rowid,key_title,key_body,key_created};102。字符串wherestring=key_rowid+“=”+rowid;103。104。光标mcursor=SQLite数据库,查询(真的,databasehelper.databse_tableSearchResult,wherestring,空,空,空,空,空的);105。如果(mcursor!=NULL){106。mcursor。movetofirst();107108。返回109110。111。公共布尔updatediary(长的rowid,字符串标题,柱体){112。113。内容价值=新的contentvalues();114。值。把(key_rowid,标题);115。值。把(key_body,体);116。117。日历日历日历getinstance()=;118。创造=日历字符串。得到(日历年)+“/”119。+日历。获取(日历月)+/“/”120(day_of_month)+”(hour_of_day)+“:”122(日历分钟);123。值。把(key_created,创建);124。字符串wherestring=key_rowid+“=”+rowid;125。126。返回的SQLite数据库,更新(databasehelper.databse_table,价值观,wherestring,null)>0;127。}128。129。公共无效xinjiandiary(字符串名称,柱体130。131。日历日历=日历。getinstance();(日历)+“/”133(日历月)+/“/”134(day_of_month)+”(hour_of_day)+“:”136。+日历。获取(日历分钟);137。138。字符串insertsql=“插入”+databasehelper.databse_table139。+“(”+key_rowid+“,”+key_title+“,”+key_body+“,”+key_created+“)”140。+值(?,?,?“?”;141。对象[]args={零},标题,主体,创造;142SQLiteexecsql(insertsql,args);143144。145。公共无效bianjidiary(长的rowid,字符串标题,柱体){146。日历日历日历getinstance()147(日历)+“/”148(日历月)+/“/”149(day_of_month)+”(hour_of_day)+“:”151。+日历。获取(日历分钟);152。153。字符串updatesql=“更新”+databasehelper.databse_table154。+“”+key_title+=?,“+key_body+=?,“+key_created+=?”155。+“”+key_rowid+=?”;156args={标题,主体,创建,rowid157SQLiteexecsql(updatesql,args);158159。160。公共无效shanchudiary(长161。字符串deletesql=“删除”+databasehelper.databse_table+“”+key_rowid+=?”;162。对象[]args={rowid};163SQLiteexecsql(deletesql,args);164165。166。公共qudeallnotes()光标167。{168。字符串searchsql=“选择_id,标题,主体,创造了“+databasehelper.databse_table;169。返回SQLiterawquery(searchsql,null);1701714、databasehelper01.packagecn.dccssq;02。importandroid.content.context;importandroid.database.sqlite.sqlitedatabase;05.importandroid.database.sqlite.sqliteopenhelper;06。07.public类databasehelper扩展SQLiteOpenHelper{08。09。私人最终静态字符串databse_name=“记事本”;10。私人最终静态变量database_version=1;11。公共最终静态字符串databse_table=“日记”;12。13。私人最终静态字符串database_create=“创建表”+databse_table+”(_id整型主键递增,”14。+“标题文本不为空,正文文本不为空,创建的文本不为空”;15。公共databasehelper(语境){16。超(上下文,databse_name,null,database_version);17。}18。19。@Override20。publicvoidonCreate(SQLite数据库DB){21。分贝。execsql(database_create);22。}23。24。@Override25。publicvoidonupgrade(SQLite数据库DB,int,intarg1,arg2){26。分贝。execsql(“如果表下降存在“+databse_table);27。onCreate(dB);28。}29。30。}5、main.xml01<<xmlversion=“1”encoding=“utf-8”?>02。<LinearLayoutxmlns:Android=“/apk/res/android”03。Android:方向=垂直04。安卓:layout_width=“fill_parent”05。安卓:layout_height=“fill_parent”06。>07。<ListView08。Android:id=“09。安卓:layout_width=“wrap_content”10。安卓:layout_height=“wrap_content”/>11。<TextView12。Android:id“=”:“空”13。安卓:layout_width=“wrap_content”14。安卓:layout_height=“wrap_content”15。安卓:文本=“您还没有开始写日记呢!点击下边的菜单按钮开始写日记吧:)”/>16。</元素>6、diary_row.xml01<<xmlversion=“1”encoding=“utf-8”?>02。<相对布局03。android:id“=id/行”04。xmlns:Android=“/apk/res/android”05。安卓:layout_width=“fill_parent”06。安卓:layout_height=“fill_parent”>07<<TextView。08。安卓:ID=“”+“身份证”09。安卓:layout_width=“wrap_content”10。安卓:layout_height=“30px”11。安卓:最大=“200dip”12。安卓:文字大小=“22sp”13。安卓:layout_margintop=“10dip”14。安卓:文本=“第一组第一项”/>15<<TextView。16。android:id“=id/创建”17。安卓:layout_width=“wrap_content”18。安卓:layout_height=“35px”19。安卓:layout_alignparentright=“true”20。安卓:layout_marginleft=“10dip”21。安卓:layout_margintop=“10dip”22。安卓:文本=“1999123”/>23。</RelativeLayout>7、notepadxml01<<XML版本=“1。0”encoding=“utf-8”?>02。<LinearLayoutxmlns:Android=“/apk/res/android”03。Android:方向=垂直04。安卓:layout_width=“fill_parent”05。安卓:layout_height=“fill_parent”06。>07<<TextView。08。安卓:文本=“@字符串/notepad_title”09。安卓:layout_width=“fill_parent”10。安卓:layout_height=“wrap_content”></TextView>11。<编辑12。android:id“=”13。安卓:layout_width=“fill_parent”14。安卓:layout_height=“wrap_content”></编辑>15<<Text

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论