Android知识点汇总(3)

前言:在前两个星期我们进行了CriminalIntent应用的一些基础性的框架的编写,在这一部分基础性的东西的编写过程之中,我们学会了一些新的知识——UI fragment、fragment。这两个新知识我已经在Android知识汇总二里面进行了较为详细地阐述,有需要的朋友可以前往此随笔去查看呦!(有什么不足的十分欢迎大家指出来,我会在之后的随笔之中加以改进?)好了好了,你们也可能觉得烦了,我们接下来进入今天随笔的正题……

正言:在这两个星期之内我们需要完成的是CriminalIntent应用的对话框内容、工具栏以及SQLite数据库这三个部分的编写。大家应该很容易看出这三部分是CriminalIntent应用的核心组成部分,所以这三部分也肯定会遇到好多我们此前没有接触过的知识。接下来我会总结出这之中我个人认为比较重要的一些知识点。

CriminalIntent应用对话框

对话框的作用:我们添加CriminalIntent对话框的目的是为了便于用户修改crime记录日期。

对话框的操作方式:用户只要点击CrimeFragment中的日期按钮,应用就会弹出对话框,具体的操作过程如下图。

在对话框设计这个章节中,我们主要完成的是两部分的内容:日期对话框和Fragment数据传输。

日期对话框

在日期对话框的完成过程中我们使用的依然是Fragment知识,大概步骤如下:

(1)创建DialogFragment

(2)显示DialogFragment

(3)设置对话框的内容

Fragment数据传输

此部分的内容主要是完成完成两部分的内容:

(1)将数据传输给DatePickerFragment

要传递crime日期给DatePickerFragment,需要将他保存在DatePickerFragment的argument bundle中。创建和设置fragment argument通常是在newInstance中完成的,所以我们要在                 DatePickerFragment中添加newInstance方法,方法代码如下:

接下来我们在CrimeFragment中也添加newInstance方法:  

把原来CrimeFragment中onClick中的DatePckerFragment dialog = new DatePickerFragment();改为DatePickerFragment dialog   =DatePickerFragment.newIntstance(mCrime.getDate());

最后我们就要获取Date对象并且初始化DatePicker,实现代码如下:

 

(2)返回数据给CrimeFragment

首先我们设置目标Fragment,这个比较简单就是在CrimeFragment中加入一句代码:private static final int REQUEST_DATE = 0;

接下来我们加入高亮选取日期按钮更新代码,代码如下图:

   

最后我们设置一个私有方法upDate,把这个私有方法添加到代码CrimeFragment中,代码如下图:

工具栏

工具栏的作用:工具栏可以放置菜单选项、提供应用导航,还能帮助统一设计风格、塑造品牌形象。

工具栏的样式及其使用方法:工具栏给出了crime记录的菜单项,并且还有向上的功能,具体如下图。

                           

在这个章节中我们要完成的是三部分内容:工具栏、菜单以及层级式导航。

菜单工具栏

(1)首先我们要在strings.xml中添加一些字符串(有一些现在还用不到,不过没关系我们先添加进去),如下图:

 

(2)定义菜单,为了创建菜单资源我们需要在fragment_crime_list.xml中写入如下代码:

 

(3)创建菜单

首先我们要覆盖onCreateOptionsMenue方法,实现实例化fragment_crime_list.xml中定义的菜单,代码如下:

 

然后调用setHasOptionsMenu方法实现菜单的回调,代码如下:

 

(4)响应菜单项选择

首先删除CrimeLab中随机crime记录的代码;

然后在CrimeListFragment中添加响应菜单项选择事件,如下:

 

SQL数据库

数据库作用:持久化保存数据

数据库的完成过程:

(1)定义schema

(2)创建初始数据库

(3)修改CrimeLab

(4)写入数据库

 

小结:这几个单元的代码编写让我明白了代码编写需要十分的严谨,要边写边运行不能等到编写了好多之后再测试,这样如果错了将会很头疼。希望大家也能养成边写代码边测试的好习惯!

 

 

 

 

 

 

   

 

转载于:https://www.cnblogs.com/971456121qw/p/7652763.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值