2.3项目编码注意事项

来源:互联网 发布:java缓存过程面试 编辑:程序博客网 时间:2024/06/14 04:43

2.3项目编码注意事项

1,基类增加了
baseListfargment 适用于这个fragment就是一个数据展示列表区域
basepullfragment = 可下拉刷新的baseFragment
basepullScrollviewfragment = 可下拉刷新的baseFragment + 整体是一个Scrollview

2,彻底不再使用ListView,GirdView,全部使用RecyclerView

3,普通布局的adapter使用BaseSimpleRecyclerAdapter
多布局的adapter使用BaseRecyclerAdapter

4,PtrRecyclerView是封装的一层RecyclerView,支持连续添加多个headerView和footerView(按添加顺序展示)

5,彻底不再使用noScrollListView,
为解决scrollview嵌套recyclerview的问题,请使用widget包中提供的FullGridLayoutManager和FullLinearLayoutManager
替代原来的GridLayoutManager和LinearLayoutManager(RecyclerView设置layoutManager时使用)

6,关于RecyclerView的分割线,可item布局中实现。也可以使用base包下的DividerGridItemDecoration和DividerItemDecoration
,分别对应GridView和ListView展示形式的分割线,使用参见HomeFragment

7,Activity布局以activity_打头
fragment布局以fragment_打头
RecyclerView的item布局以item_打头
自定义view的布局以widget_打头
inflater方式去加载的布局以view_打头(item布局还是以item打头)
除了特殊意义的颜色,其他所有的颜色值以color_打头,比如,color_33,color_ccff99

8,baseListfargment,缓存数据默认开启,下拉刷新和上拉加载更多,默认都支持,如果需要关闭,请覆写基类的提供的方法。

9,basepullfragment和basepullscrollviewfragment 下拉刷新默认关闭,如果需要打开,请覆写基类的提供的方法。

10,关于baselistFragment的readList( )说明:
因为从缓存的是一个Serializable,所以,把整个缓存取出来填充到adapter时,要指示list里面的具体对象元素T
所以用整个方法来指定T。方法中 T 就是data代表的List里面的对象元素,seri 就是整个result对象,缓存的就是返回的整个json所代表的result对象

11,toast提示用snackbar替换,工具类的主要有两个方法。调用showmsg,传入的参数为activity,会在状态栏下弹出提示。传入的参数如果是指定的view,则在该view的下方弹出提示。如果用系统的snackbar,请使用工具类下的其他方法,系统的snackbar都是在页面底部弹出提示

PtrRecyclerView的使用,被封装在基类了,你们不需要理会怎么用,下拉刷新上拉加载更多,可以查看我写的demo,用法极端简单。复写请求方法,然后拿到数据就 调用这两句代码就行。

requestDataSuccess(res对象);//获取到数据后调用该语句,进行数据缓存setDataResult(res.getData());//设置数据   

getCacheKeyPrefix()定义数据缓存的key的前缀组成部分,一般return 类名 就行。
考虑到一个基类,可能会有多个页面共有。
比如预付款列表和全付款列表。都是一个Fragment,所以可以通过Bundle指定mCatalog参数来组合key值。即getCacheKeyPrefix() return “类名“ + mCatalog

对象缓存的时候存的是Serializable,所以取的时候要告诉它转为data所表示的是什么对象。对此我提供了readList方法,参见demo里面的SimpleListDemoFragment.java。

复写needAutoRefresh(),指定是否需要自动刷新,默认需要
复写getAutoRefreshTime(),指定自动刷新的时间,默认是半天
复写setupMode(),指定当前时候支持下拉刷新,下拉加载更多。默认都支持。

0 0
原创粉丝点击