• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

BasicSupportLayer: 这是一个可面向所有Android项目的支持库,提供一些基础、便捷的服 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

BasicSupportLayer

开源软件地址:

https://gitee.com/bvin_admin/BasicSupportLayer

开源软件介绍:

BasicSupportLayer

这是一个可面向所有Android项目的支持库框架,提供一些基础、便捷的服务

RequestActivity用法:

  1. Request可以用GsonRequest,如果需要自定义请求就需要自己去把服务器返回数据解析成对应的模型类,然后把Responces.Listener和ErrorListener设置成this,如果是RequestFragment则设置成getRequestActivity(),因为RequestFragment也是用RequestActivity代理请求.

  2. 一定要给RequestActiviy的mRequestHolderFragment赋值加载视图和出错视图等自动处理才会生效,mRequestHolderFragment可以作为一个独立的外部类方便重复利用,并且这个mRequestHolderFragment和RequestFragment是同处于RequestActivity中的。

  3. onRequestStart和onRequestFailure在RequestActivity父类中作了处理,无需特别之处不需要再做处理,只需要在onRequestSuccess方法里处理数据。

public class TestRequestActivity extends RequestActivity<TestRequestActivity.TestModel>{	String url;	Map<String, Object> params;		@Override	public void onCreate(Bundle savedInstanceState,			PersistableBundle persistentState) {		super.onCreate(savedInstanceState, persistentState);		parserIntent();		initData();		initViews();		startRequest();	}	@Override	public void parserIntent() {		super.parserIntent();		url = getIntent().getStringExtra("/...");		params.put(key, value)	}	@Override	public void initData() {		super.initData();	}	@Override	public void initViews() {		super.initViews();		//请求占位Fragment		mRequestHolderFragment = new AbstractRPFragment() {						@Override			public void initViews(View rootView) {				mLoadingFrame = rootView.findViewById(id)				mEmptyFrame = rootView.findViewById(id)				mErrorFrame = rootView.findViewById(id)				tvEmptyTips = rootView.findViewById(id)				tvErrorSceneTips = rootView.findViewById(id)				tvLoadTip = = rootView.findViewById(id)			}			@Override			public View onCreateView(LayoutInflater inflater,					ViewGroup container, Bundle savedInstanceState) {				View v = inflater.inflate(R.layout.activity_list_item, container);				initViews(v);				return v;			}								};	}	@Override	public void onRequestStart(Request<TestModel> resquest) {		super.onRequestStart(resquest);	}	@Override	public void onRequestSuccess(TestModel result) {		super.onRequestSuccess(result);	}	@Override	public void onRequestFailure(VolleyError error) {		super.onRequestFailure(error);	}	private void startRequest() {		GsonRequest<TestModel> request = new GsonRequest<>(url, params, TestModel.class, this, this);		addRequest(request);	}		//请求返回结果的模型	public class TestModel{			}}

标准的RequestHolderFragment示例

** *  * @ClassName: RequestHolderFragment  * @Description: 继承AbstractRPFragment,只需要继承实现initViews()方法和onCreateView, * 只需要在子类加载布局和绑定控件 * @author: Bvin * @date: 2015年2月2日 上午10:53:53 */public class RequestHolderFragment extends AbstractRPFragment{		@Override	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {		View rootView = inflater.inflate(R.layout.univ_request_place_holder,  container, false);		initViews(rootView);		return rootView;	}	@Override	public void initViews(View rootView) {		mLoadingFrame = rootView.findViewById(R.id.loading_frame);		mEmptyFrame = rootView.findViewById(R.id.empty_frame);		mErrorFrame = rootView.findViewById(R.id.error_frame);		//错误视图是可以去点击重新请求的		mErrorFrame.setOnClickListener(new OnClickListener() {						@Override			public void onClick(View v) {				getRequestActivity().reloadRequest();			}		});		tvLoadTip = (TextView) mLoadingFrame.findViewById(R.id.tvLoadTip);		tvEmptyTips = (TextView) mEmptyFrame.findViewById(R.id.tvEmptyTips);		tvErrorSceneTips = (TextView) mErrorFrame.findViewById(R.id.tvErrorSceneTips);		defaultLoadTips = ResourceFinder.findString(getActivity(), R.string.loading_tips);		defaultEmptyTips = ResourceFinder.findString(getActivity(), R.string.empty_tips);		defaultSceneError = ResourceFinder.findString(getActivity(), R.string.error_scene_tips);		defaultErrorSolution = ResourceFinder.findString(getActivity(), R.string.error_solution_click_retry);	}}

##License

Copyright 2014-2015 BvinLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License at   http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap