CriminalIntent项目总结(一)

一、应用功能及前期需求

功能:该应用可以详细记录各种办公室陋习,如随手将脏盘子丢在休息室水池里,或者自己打印完文件就走,全然不顾公共打印机里已缺纸。

需求:引入fragment,fragment是一种控制器对象,activity可委派它执行任务,通常就是管理用户界面,受管的用户界面可以是一整屛的一部分。fragment本身没有屏幕上显示视图能力,需要将它的视图放置在activity的视图层级结构中,fragment视图才能显示在屏幕上。


二、项目开发情况及重要代码展示

1、创建新项目

重要代码及过程

Crime类的新增代码及已生成的getter和setter方法(Crime.java)

UUID是Android框架里的Java工具类,在构造方法里,调用ndomUUID()产生一个随机唯一ID值

fragment的生命周期:fragment生命周期与activity生命周期的一个关键区别就在于,fragment的生命周期方法由托管activity而不是操作系统调用

activity托管UI fragment有如下两种方式:

(1) 在activity布局中添加fragment(简单但不灵活)

(2)在activity代码中添加fragment(唯一可以动态控制fragment的方式)

添加字符串资源(res/values/strings.xml)



fragment视图的布局文件(fragment_crime.xml)
fragment视图的布局文件(fragment_crime.xml)


预览CrimeFragment布局


覆盖onCreateView(...)方法(CrimeFragment.java)

fragment的视图是直接通过调用LayoutInflater.inflate(...)方法并传入布局的资源ID生成。第二个参数是视图的父视图,第三个参数告诉布局生成是否将生成的视图添加给父视图

生成并使用EditText组件(CrimeFragment.java)

在onTextChanged(...)方法中,调用charSequence(代表用户输入)的toString()方法


监听CheckBox的变化(CrimeFragment.java)

几乎每次新建activity都需要这样一段代码,为避免重复,将其封装成抽象类,改名为SingleFragmentActivity,设置超类为AppCompatActivity

FragmentManager类具体管理:

(1) fragment对列;

(2)fragment事务回退栈;


CrimeActivity托管的CrimeFragment视图

2、使用RecyclerView显示列表


crime列表

重要代码及过程


创建单例及可容纳Crime对象的List(CrimeLab.java)


是生成100个crime


声明CrimeListActivity为launcher activity(AndroidManifest.xml)


使用RecyclerView


添加Recycle让View依赖库


在布局文件中添加RecyclerView视图(fragment_crime_list.xml)


为CrimeListFragment配置试图(CrimeListFragment.java)



武装CrimeAdapter(CrimeListFragment.java)


设置Adapter(CrimeListFragment..java)

绑定列表项


实现bind(Crime)方法(CrimeLsitFragment.java)



调用bind(Crime)方法(CrimeLsitFragment.java)




显示有序号的列表

3、使用fragment argument


启动CrimeActivity(CrimeListFragment.java)



空白的CrimeFragment


创建newIntent方法(CrimeActivity.java)
Crime#4列表项的明细内容



编写newInstance(UUID)方法(CrimeFragment.java)


使用newInstance(UUID)方法(CrimeActivity.java)


4、使用ViewPager


创建ViewPager(CrimePagerActivity.java)



设置pager adapter(CrimePagerActivity.java)



创建newIntent方法(CrimePagerActivity.java)



设置厨师分页显示项(CrimePageActivity.java)


5、总结

因为这次7到11章虽然代码都能实现,也都能运行出来,但是总体感觉还是比较乱的,所以博客写的也有点无厘头的感觉,希望下次可以写的更好吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容