期中实验:记事本实现时间戳、搜索、正文缩略显示

(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移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。

还有 高级架构技术进阶脑图、高级进阶架构资料 帮助大家学习提升进阶,也可以分享给身边好友一起学习。

一起互勉~

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

进阶架构资料** 帮助大家学习提升进阶,也可以分享给身边好友一起学习。

[外链图片转存中…(img-gJrWpnhj-1713672676721)]

[外链图片转存中…(img-WHPxEO8j-1713672676723)]

一起互勉~

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值