setting_layout.xml里面找找。 部分删除 全部删除 UI美化 更改记事本的背景 导出笔记,笔记的云备份和恢复 支持多种资源,如保存图片、语音、视频等(参考印象笔记)Android记事本NotePad应用功能拓展
一、实现功能
1.NoteList中显示条目增加时间戳显示
2.添加笔记查询功能(根据标题查询)
3.设置功能(初步实现)
4.优化删除功能
二、项目代码分析以及源码
首先贴出大家最想要的源码吧!
源码(C币为防伸手党….认真阅读相关资料,细心的你会发现免费下载的途径)
1.NoteList中显示条目增加时间戳显示
public boolean onKeyDown(int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_HOME){ return true; } else if (keyCode == KeyEvent.KEYCODE_BACK){ autoSetMessage();//自动保存 setResult(RESULT_OK, intent); finish(); return true; } return super.onKeyDown(keyCode, event); } public void autoSetMessage(){ if(openMode == 4){ if(et.getText().toString().length() == 0){ intent.putExtra("mode", -1); //nothing new happens. } else{ intent.putExtra("mode", 0); // new one note; intent.putExtra("content", et.getText().toString()); intent.putExtra("time", dateToStr());//保存时间 intent.putExtra("tag", tag); } } else { if (et.getText().toString().equals(old_content) && !tagChange) intent.putExtra("mode", -1); // edit nothing else { intent.putExtra("mode", 1); //edit the content intent.putExtra("content", et.getText().toString()); intent.putExtra("time", dateToStr()); intent.putExtra("id", id); intent.putExtra("tag", tag); } } } public String dateToStr(){ Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return simpleDateFormat.format(date); }
2.添加笔记查询功能(根据标题查询)
@Override public View getView(int position, View convertView, ViewGroup parent) { SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext); mContext.setTheme(R.style.DayTheme); View v = View.inflate(mContext, R.layout.note_layout, null); TextView tv_content = (TextView)v.findViewById(R.id.tv_content); TextView tv_time = (TextView)v.findViewById(R.id.tv_time); //Set text for TextView String allText = noteList.get(position).getContent(); /*if (sharedPreferences.getBoolean("noteTitle" ,true)) tv_content.setText(allText.split("n")[0]);*/ tv_content.setText(allText); tv_time.setText(noteList.get(position).getTime()); //Save note id to tag v.setTag(noteList.get(position).getId()); return v; } @Override public Filter getFilter() { if (mFilter ==null){ mFilter = new MyFilter(); } return mFilter; } class MyFilter extends Filter { //我们在performFiltering(CharSequence charSequence)这个方法中定义过滤规则 @Override protected FilterResults performFiltering(CharSequence charSequence) { FilterResults result = new FilterResults(); List<Note> list; if (TextUtils.isEmpty(charSequence)) {//当过滤的关键字为空的时候,我们则显示所有的数据 list = backList; } else {//否则把符合条件的数据对象添加到集合中 list = new ArrayList<>(); for (Note note : backList) { if (note.getContent().contains(charSequence)) { list.add(note); } } } result.values = list; //将得到的集合保存到FilterResults的value变量中 result.count = list.size();//将集合的大小保存到FilterResults的count变量中 return result; } //在publishResults方法中告诉适配器更新界面 @Override protected void publishResults(CharSequence charSequence, FilterResults filterResults) { noteList = (List<Note>)filterResults.values; if (filterResults.count>0){ notifyDataSetChanged();//通知数据发生了改变 }else { notifyDataSetInvalidated();//通知数据失效 } }
3.设置功能(初步实现)
4.优化删除功能
@Override public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()){ case R.id.delete: new AlertDialog.Builder(EditActivity.this) .setMessage("您确定删除吗?") .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (openMode == 4){ // new note intent.putExtra("mode", -1); setResult(RESULT_OK, intent); } else { // existing note intent.putExtra("mode", 2); intent.putExtra("id", id); setResult(RESULT_OK, intent); } finish(); } }).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).create().show(); break; } return super.onOptionsItemSelected(item); }
@Override public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()){ case R.id.menu_clear: new AlertDialog.Builder(MainActivity.this) .setMessage("您确定删除全部吗?") .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dbHelper = new NoteDatabase(context); SQLiteDatabase db = dbHelper.getWritableDatabase(); db.delete("notes", null, null); db.execSQL("update sqlite_sequence set seq=0 where name='notes'"); refreshListView(); } }).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).create().show(); break; } return super.onOptionsItemSelected(item); }
三、后期计划
添加代办功能
记事本的设置的功能
笔记分类
语音搜索?
笔记便签四、参考资料
1.彩色笔记
2.印象笔记
3.数据存储的基本知识
使用SQLite数据库进行数据存储
4.ContentProvider: ContentProvider用于数据共享,如果你不提供数据共享机制,可以不使用
https://developer.android.google.cn/guide/topics/providers/content-provider-basics
https://developer.android.google.cn/guide/topics/providers/content-provider-creating
作者GitHub下载链接:https://github.com/KangKangBigWorld/Android/tree/master/Mid_Test
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算