通过之前两天对notepad的分析,大致了解到:
1. notepad源码大概有2200行(只是src下的)
2. 总共有一个包,六个java文件。其中三个是activity
1) NoteList.java
该类继承自ListActivity, 是整个app的入口acitivty,
该类的方法大都是重写父类的方法:
onCreate() --> 创建acitivity,完成相应的初始化工作。
onCreateOptionsMenu() --> 根据相应的xml文件创建主菜单,当第一次启动时执行。
onPrepareOptionsMenu() --> 在菜单显示之前被调用,然后更新主菜单。
onOptionsItemSelected() --> 当主菜单中的菜单项被触发时执行。
onCreateContextMenu() --> 创建弹出式菜单。
onContextItemSelected() -->当弹出式菜单的菜单项被触发时执行。
onListItemClick() --> 当ListActivity中的Item被触发时执行。
2) NoteEditor.java
该类继承自activity, 是用于显示编辑记事内容的。
LinedEditText -> 内部类 继承自Editext,用于更新视图,每多一行内容,在其下边画一条线。
onCreate() --> 根据action执行相应的操作,显示相应的内容。
onResume() -->
onPause() ->
onSaveInstanceState() -->
onCreateOptionsMenu() --> 同上
onPrepareOptionsMenu --> 同上
onOptionsItemSelected --> 同上
performPaste() --> 粘贴记事
updataNote() -->
deleteNote() -->
3) NotePad.java
该类是一个工具类,主要定义了一些常量,并且大都是String类型的,像路径啊,列明啊等等。。。
4) TitleEdit.java
顾名思义,该类是用于编辑记事名称的类,继承自Activity。
onCreate()
onPause()
onResume()
onClickOk()
5) NotesLiveFolder.java
小部件的实现
6) NotePadProvider.java
实现对数据的增删查改,包括创建数据库、数据表。
疑问的地方:cursor, projection, uri的实际作用。
576
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2013.02.14 am
Cursor 涉及到的方法:
managedQuery() -->
2013.02.14 pm
看的越来越糊涂。。。
只得重新开始看。
但重新开始看后发现,
好像有些清晰了。。。
心得:感觉不会的太多,就多看几遍。
如果在一条路上走一次留不下脚印,就多走几次。。。
加油吧,时间紧迫!!!