转载请注明来源:http://blog.csdn.net/jmheart/
baseActivity
package com.cainiao.nursingrelease.base;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import com.cainiao.nursingrelease.R;
import com.cainiao.nursingrelease.intertace.LoadNetDate;
import com.cainiao.nursingrelease.intertace.LoadNetingIntertace;
import com.cainiao.nursingrelease.intertace.LoadSuce;
import com.jmheart.base.BaseActivity;
import com.jmheart.net.NetworkUtil;
import com.loopj.android.http.AsyncHttpResponseHandler;
/**
* 基类
* 项目:NursingRelease
* @author liujie
* 日期:2015-11-25下午3:17:40
*/
public class NurActivity extends BaseActivity {
public static LoadNetingIntertace loadintertace;
public static LoadSuce loadSuce;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
loadintertace= new LoadNetingIntertace() {
@Override
public void onloadSucces(String content) {
// TODO Auto-generated method stub
//成功后回调 ,如果清楚数据结构的,可以在这一步做解析
loadSuce.onsucess(content);
}
@Override
public void onloadNoNet() {
// TODO Auto-generated method stub
//无网络后回调
setContentView(R.layout.load_nonet);
settitle("没有网络连接");
}
@Override
public void onloadFial() {
// TODO Auto-generated method stub
//加载失败后回调
setContentView(R.layout.load_fial);
settitle("服务器没有响应");
}
@Override
public void onloadEmpty() {
// TODO Auto-generated method stub
//没有数据后回调
setContentView(R.layout.load_empty);
settitle("没有数据");
}
@Override
public void onload() {
// TODO Auto-generated method stub
//加载中界面
setContentView(R.layout.load_ing);
settitle("加载中...");
inint();
}
};
//loadintertace.onload();
}
/**
* 初始化
*/
private void inint()
{
if (NetworkUtil.isOnline(this)) {
loadSuce.pdate(new AsyncHttpResponseHandler()
{
@Override
public void onSuccess(String content) {
// TODO Auto-generated method stub
//把数据传回去
loadintertace.onloadSucces(content);
}
@Override
public void onFailure(Throwable error) {
// TODO Auto-generated method stub
loadintertace.onloadFial();
}
});
}
else {
loadintertace.onloadNoNet();
}
}
/**
* 进入界面加载网络数据
* @param loadSuce
*/
public void oncreateView(LoadSuce loadSuce)
{
this.loadSuce=loadSuce;
}
/**
* 网络请求
*/
public void loadNetDate(final LoadNetDate lDate)
{
if (NetworkUtil.isOnline(this)) {
showDialog("加载中...");
lDate.pdate(new AsyncHttpResponseHandler(){
@Override
public void onSuccess(String content) {
// TODO Auto-generated method stub
dissDialog();
lDate.onsucess(content);
}
@Override
public void onFailure(Throwable error) {
dissDialog();
showToast("服务器连接超时");
};
});
}
else
{
showToast("无网络连接");
}
}
/**
* 标题
* @param msg
*/
public void settitle(String msg)
{
((TextView)findViewById(R.id.tv_title)).setText(""+msg);
}
/**
* 回退
* @param view
*/
public void back(View view)
{
finish();
}
/**
* 封装log
* @param msg
*/
public void showlog(String msg)
{
if (NursingApplication.getInstance().isdebug) {
Log.i("nuring", "打印:"+msg);
}
}
}
接口
package com.cainiao.nursingrelease.intertace;
import com.loopj.android.http.AsyncHttpResponseHandler;
public interface LoadNetDate {
public void pdate(AsyncHttpResponseHandler handler);
public void onsucess(String content);
}
package com.cainiao.nursingrelease.intertace;
/**
* 页面加载抽象类
* 项目:NursingRelease
* @author liujie
* 日期:2015-11-25下午3:20:16
*/
public interface LoadNetingIntertace {
public void onload();
/**
* 加载成功
*/
public void onloadSucces(String content);
/**
* 加载失败
*/
public void onloadFial();
/**
* 空白页面
*/
public void onloadEmpty();
/**
* 无网络
*/
public void onloadNoNet();
}
package com.cainiao.nursingrelease.intertace;
import com.loopj.android.http.AsyncHttpResponseHandler;
public interface LoadSuce {
public void pdate(AsyncHttpResponseHandler handler);
public void onsucess(String content);
}
页面是要方法
package com.cainiao.nursingrelease.ui.task;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.cainiao.nursingrelease.R;
import com.cainiao.nursingrelease.base.NurActivity;
import com.cainiao.nursingrelease.intertace.LoadSuce;
import com.cainiao.nursingrelease.net.TaskApi;
import com.loopj.android.http.AsyncHttpResponseHandler;
/**
* 任务发布
* 项目:NursingRelease
* @author liujie
* 日期:2015-11-20下午3:46:52
*/
public class TaskActivity extends NurActivity {
Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
mContext=this;
oncreateView(new LoadSuce() {
@Override
public void pdate(AsyncHttpResponseHandler handler) {
// TODO Auto-generated method stub
//发送网络请求
TaskApi.getdate(handler);
}
@Override
public void onsucess(String content) {
// TODO Auto-generated method stub
//接受到数据
showlog(content);
setContentView(R.layout.task_activity);
settitle("任务发布");
inintView();
}
});
loadintertace.onload();//开始加载中
}
/**
* 初始化控件,绑定数据
*/
private void inintView()
{
((Button)findViewById(R.id.btn_see)).setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
switch (v.getId()) {
case R.id.btn_see:
startActivity(new Intent(mContext,ReleaseTaskSeeActivity.class));
break;
default:
break;
}
}
}