CriminalIntent项目的迭代

      这个阶段的项目任务有一下几块:

      1.对话框的实现

      2.工具栏的设计

      3.SQLite数据库的运用

      

    在第一块的实现中,首先我们要创建DialogFragment实例,其中的关系图如下

    

       字符串资源中添加

      

     接下来是DatePickerFragment类的创建,这边要注意的是DialogFragment超类要设置为支持库中的android.support.v4.app.DialogFragment类,导入AlertDialog时,也要确认AppCompat库中的版本是:android.support.v7.app.AlertDialog

   代码如下

    

   这边的话我们已经给了一个onCreateView()方法,为mDateButton按钮添加监听器接口就能实现点击日期按钮展现DatePickerFragment界面了

   

  

  我们在DatePickerFragment类中添加一个newInstance方法

  

   实现对DatePickerFragment传递数据的功能

   为了能使用Date里面的信息初始化DatePicker对象,我们要创建Calendar对象

    

    

    我们需要刷新日期显示,所以我们要覆盖onActivityResult()方法

   

   有一个高亮选取设置显示文字功能,在这里我们右键单击Refactor->Extract->Method...,设置已有方法并将其命名updateDate,点OK就能实现此功能了。

    

   第二块,工具栏的设计

   字符串资源

   

   覆盖onCreateOptionsMenu(Menu,MenuInflater)方法,实例化选项菜单

   

   调用setHasOptionsMenu方法

   

   接下来的是响应菜单项选择

    

    实现菜单项标题与子标题的联动

    

    显示最新状态

    

 

    第三块,SQLite数据库的运用

   我们先定义一个CrimeTable内部类

    

    接下来定义数据表字段

    

   创建CrimeBaseHelperlper类

    

    写入数据库操作中涉及到ContentValues的使用,插入和更新记录

     创建ContentValues

     

    插入记录操作

   

  更新记录

  

   返回crime列表

   

   

   getCrime(UUID)方法的重写

    

    在项目的敲写过程中,出现报错情况的时候,习惯性的alt+enter会出现不必要的麻烦,所以需要仔细看代码,找出错的具体原因再去修改是最明智的做法。

posted @ 2017-10-15 23:47  黑色咖啡  阅读(131)  评论(0编辑  收藏  举报