便签小项目总结

这一个月,自己开发了一个android小项目,xin便签的管理,它可以添加、删除、修改便签,同时还可以给便签设置相应的铃声,也可以添加删除文件夹,将便签移入或移出文件夹,通过小项目的开发,对自己之前学的android基础知识进行了一个小小的总结,基本上用到了Activity、Service、Content provider、BroadcastReceiver四大组件,以及数据库的操作SQLiteDatabase、Handler使用、ListView和自定义适配器的灵活运用、AlarmManager、Activity生命周期的深入理解、自定义组件、AndroidManifest.xml中的一些配置等基础知识,让我对这些知识点又有了一个更为清晰的理解!

便签功能图:


系统采用android自带的数据库保存数据,开发模式采用MVC模式,开发设计思路及实现:

一、主页面:MainActivity,主要包括便签或文件夹的列表展示,单击Menu菜单,即可进行相应的功能操作:添加、删除便签或文件夹,根据相应的数据条数动态显示Menu菜单,其中的主要几个函数:

onCreate(Bundle savedInstanceState);生命周期函数,一般完成Activity的初始化操作;

onSaveInstanceState(Bundle outState):当出现特殊情况,例如突然来电或者按home键回到主页面的时候,会触发的生命周期函数,用于保存数据;

onRestoreInstanceState(Bundle savedInstanceState):重新启动后,取出所保存的信息;

onBackPressed();单击返回按键所触发的函数,我们可以在这里对程序关闭进行程序控制,例如连续单击两次返回键即可退出程序;

onCreateOptionsMenu(Menu menu);创建菜单,通过menu.add方法进行,其中add方法接收四个参数,1:组别,如果不分组的话就写Menu.NONE,2:Id,android根据这个ID来确定不同的菜单,3:顺序:哪个菜单在前面由这个参数决定,4:菜单显示的文本。一般还会给菜单项添加一个图标以示美观,例如.setIcon(R.drawable.new_note)

onPrepareOptionsMenu(Menu menu);该方法也可用于创建菜单,与上面不同的是,onCreateOptionsMenu:在activity创建的时候只执行一次,onPrepareOptionsMenu:每次点击menu都会重新调用,如果菜单需要更新,就用该方法,所以创建动态菜单一般在该方法中进行相应的程序控制;

onOptionsItemSelected(MenuItem item);给Menu菜单添加单击事件;

onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo);长时间单击ListView中某一项后出现的Menu列表项,我们可以调用如下方法获得该ListView的ID:我们需要实现OnCreateContextMenuListener接口

AdapterView.AdapterContextMenuInfo info=(AdapterView.AdapterContextMenuInfo)menuInfo;

int positionId=info.position;

onContextItemSelected(MenuItem item);单击列表项中的某一项操作,同样我们可以使用下面方法获得某一项Menu的信息:AdapterContextMenuInfo menuInfo=(AdapterContextMenuInfo)item.getMenuInfo();

onCreateDialog(int id, Bundle bundle);根据ID创建本Activity页面对话框,我们可以调用Activity中的showDialog(int id)方法来显示对应ID的对话框;

onItemClick(AdapterView<?> parent, View view, int position, long id):ListView中的单击事件,我们需要在Activity中实现OnItemClickListener接口;

onClick(View v);Activity页面控件的单击事件;

主页面中的ListView运用十分灵活,所以我们需要给ListView自定义适配器继承自BaseAdapter,然后重写里面的getView方法,在里面控制我们需要显示的控件;

二、闹铃设置的实现:闹铃需要的设置包括设置规范合理的时间、日期、以及是否震动、系统铃声的选择,当这些都设置完成后,点击开启闹铃,即会调用AlarmManager并通知广播设置闹铃,在广播中我们会启动一个Activity来显示设置闹铃通知后显示给用户的信息界面,并在该显示给用户的Activity页面中国调用Service来播放我们的闹铃!

三、数据操作实现:系统使用android自带数据库操作,通过DBOpenHelper继承自SQLiteOpenHelper,在ManagerImpl类中通过DBOpenHelper和SQLiteDatabase对便签数据库进行增删查改操作

四、查询实现:系统提供Contentprovider来共享便签数据,并对便签信息提供相应的查询

五、其他实现:

1、系统提供开机广播,来操作设置便签闹钟提示方面的信息;

2、在AndroidMainfest.xml中配置查询信息,点击操作菜单查询按钮,即可对根据标题或内容对便签信息进行查询:

在Activity中设置查询:

   <activity
            android:name=".EditNoteActivity"
            android:configChanges="keyboardHidden|orientation|screenLayout|locale"
            android:launchMode="singleTop"
            android:windowSoftInputMode="stateVisible|adjustResize" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            
            <!-- 配置Activity中搜索 -->
            <meta-data
             android:name="android.app.searchable"
             android:resource="@xml/searchable" />
        </activity>
设置全局搜索:

        <!-- 配置全局搜索 -->
        <meta-data android:name="android.app.default_searchable"
         	android:value=".EditNoteActivity"/>
执行搜索会调用Activity中相应的onNewIntent(Intent intent)方法,在其中执行我们的查询操作;

3、系统相应权限的配置;

从项目中学习,从学习中不断加油进步,项目第一版源代码下载:

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值