先讲一个小笑话 呵呵
一个富翁想娶媳妇(只能选一个),有三个美女候选,于是富翁给了三个美女一人一千万,让她们买东西添满房间谁最另他满意就娶谁,
第一个美女买了一大堆棉花添满了房间,
第二个美女买了一堆气球充满了房间,
第三个美女买了蜡烛让烛光充满房间 。最后富翁选了谁?看完文章就知道。
通过对Diary程序的练习在整个过程中学到了不少东西总结一下。
一、SQLiteOpenHelper的认识、
主要负责 构造方法创建数据库、智能判断是否有数据库、没有则创建
OnCreate方法负责创建数据表、智能判断是否有数据表、没有则创建
onUpgrade方法负责数据库升级、一般用不到
二、 SQLiteOpenHelper负责对数据库数据表的操作、对数据表的增删改查
则需要自己用SQLiteDatabase封装
**查询数据表的全部数据
**查询数据表的某一条记录
**往数据表里插入一条记录
**更新展示的某一条记录
**删除展示的某一条记录 蛋疼的OnSelectItem在真机上无法测试.
//如果mCursor里面有内容请把指针执行第一条记录
//网上查资料所得一个mCursor初始化的时候 指针指向第一条记录的前面
if(mCursor!=null){
mCursor.moveToFirst();
}
把数据装入ListView 很简单啦
int[] to = new int[] { R.id.text1, R.id.created };
SimpleCursorAdapter notes = new SimpleCursorAdapter(this,
R.layout.diary_row, mDiaryCursor, from, to);
setListAdapter(notes);
数据查询回来的游标在装入List的Adapter之前让startManagingCursor(cur);管理其生命周期。
startManagingCursor(返回的游标)
//启动一个Activity是有返回结果的。比如点击进去编辑然后保存回主界面 回传数据。
startActivityForResult(intent, ACTIVITY_EDIT);
有startActivityForResult就要有对返回结果进行处理的方法、可以在这里面进行返回的后续处理
onActivityResult
//得到日历对象
Calendar cal = Calendar.getInstance();
//把现在的时间装入到日历对象
cal.setTime(new Date());
year = cal.get(Calendar.YEAR);
//得到当前时间的微秒
long totalMilliseconds = System.currentTimeMillis()%1000;
//ListView为空是执行
<TextView android:id="@+id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您还没有开始写日记呢!点击下边的Menu按钮开始写日记吧:)" />
富翁选了胸部最大的那个....故事告诉我们【了解客户操蛋的真实需求非常重要】.