(3)修改NoteEditor中的updateNote方法。
long now = System.currentTimeMillis();
Date date = new Date(now);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String dateFormat = simpleDateFormat.format(date);
values.put(NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE, dateFormat);
(4)修改NotesList中的PROJECTION。
private static final String[] PROJECTION = new String[] {
NotePad.Notes._ID, // 0
NotePad.Notes.COLUMN_NAME_TITLE, // 1
NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE,//添加修改时间
};
(5)修改NoteList中的dataColums与viewIDs。
String[] dataColumns = { NotePad.Notes.COLUMN_NAME_TITLE, NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE,NotePad.Notes.COLUMN_NAME_NOTE} ;//加入修改时间
int[] viewIDs = { android.R.id.text1, R.id.text2};//加入修改时间
2.搜索功能的实现。
(1)修改list_options_menu.xml增加搜索组件。
<item
android:id=“@+id/search”
android:icon=“@android:drawable/ic_search_category_default”
android:title=“Search”
android:actionViewClass=“android.widget.SearchView”
android:showAsAction=“always” />
(2)在NoteList中的onCreateOptionsMenu方法中添加SearchView。
//搜索
MenuItem mSearch = menu.findItem(R.id.search);
SearchView mSearchView = (SearchView)mSearch.getActionView();
mSearchView.setQueryHint(“搜索”);
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
Cursor cursor = managedQuery(
getIntent().getData(), // Use the default content URI for the provider.
PROJECTION, // Return the note ID and title for each note.
NotePad.Notes.COLUMN_NAME_TITLE+" like ? or “+NotePad.Notes.COLUMN_NAME_NOTE+” like ?", // No where clause, return all records.
new String[]{“%”+s+“%”,“%”+s+“%”}, // No where clause, therefore no where column values.
NotePad.Notes.DEFAULT_SORT_ORDER // Use the default sort order.
);
String[] dataColumns = { NotePad.Notes.COLUMN_NAME_TITLE, NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE,NotePad.Notes.COLUMN_NAME_NOTE} ;
int[] viewIDs = { android.R.id.text1, R.id.text2, R.id.text3 };//加入修改时间
SimpleCursorAdapter adapter
= new SimpleCursorAdapter(
NotesList.this, // The Context for the ListView
R.layout.noteslist_item, // Points to the XML for a list item
cursor, // The cursor to get items from
dataColumns,
viewIDs
);
setListAdapter(adapter);
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
注意:
1.mSearchView.setOnQueryTextListener设置监听器
2.onQueryTextSubmit当搜索框的文本提交时调用此函数,由于我们的搜索要求是实时的,所以不管它。
3.onQueryTextChange当搜索框的文本改变时调用此函数,正好符合我们的要求。我们需要在这里重新写一个cursor和adapter。
4.cursor和adapter可以直接复制粘贴onCreate方法中的cursor和adapter,然后更改cursor中的selection与selectionArgs。
3.正文缩略显示功能的实现。
(1)修改noteslist_item.xml代码新增显示正文缩略的组件。
<TextView
android:id=“@+id/text3”
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:gravity=“center_vertical”
android:textSize=“20dp”
android:ellipsize=“end”
android:paddingLeft=“5dip”
android:singleLine=“true” />
(3)修改NotesList中的PROJECTION。
private static final String[] PROJECTION = new String[] {
NotePad.Notes._ID, // 0
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。
还有 高级架构技术进阶脑图、高级进阶架构资料 帮助大家学习提升进阶,也可以分享给身边好友一起学习。
一起互勉~
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
进阶架构资料** 帮助大家学习提升进阶,也可以分享给身边好友一起学习。
[外链图片转存中…(img-gJrWpnhj-1713672676721)]
[外链图片转存中…(img-WHPxEO8j-1713672676723)]
一起互勉~
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!