android之support 支持者模式

文章总结自袭烽博客的xmpp中地址为:http://blog.csdn.net/shimiso/article/details/11225873


大家写android程序会发现,不同的activity之间经常需要调用一些公共的资源,这里的资源不仅包括android自身的,还有我们自己的管理服务类,甚至相互之间传递一些参数,这里我仿照struts2的设计,提炼出一个ActivitySupport类,同时抽取一个接口,让所有的Activity都集成这个类,因为有了接口,我们便可以采用回调模式,非常方便的传递数据和使用公共的资源,这种好处相信大家使用之后都能有深刻的体会,通过接口回调传递参数和相互调用的方式无疑是最优雅的,spring和hibernate源码中曾经大量使用这种结构。

例如:
public interface IActivitySupport {
/**

* 获取用户配置.

* @param loginConfig
* @author sujingbo
* @update 2013 -7 -6 上午9:59:49
*/
public LoginConfig getLoginConfig();
}

public class ActivitySupport extends Activity implements IActivitySupport {

@Override
public LoginConfig getLoginConfig() {
LoginConfig loginConfig = new LoginConfig();
String a = preferences.getString(Constant. XMPP_HOST, null);
String b = getResources().getString(R.string. xmpp_host);
loginConfig.setXmppHost( preferences.getString(Constant. XMPP_HOST,
getResources().getString(R.string. xmpp_host)));
loginConfig.setXmppPort( preferences.getInt(Constant. XMPP_PORT,
getResources().getInteger(R.integer. xmpp_port)));
loginConfig.setUsername( preferences.getString(Constant. USERNAME, null));
loginConfig.setPassword( preferences.getString(Constant. PASSWORD, null));
loginConfig.setXmppServiceName( preferences.getString(
Constant.XMPP_SEIVICE_NAME ,
getResources().getString(R.string. xmpp_service_name)));
loginConfig.setAutoLogin( preferences.getBoolean(Constant. IS_AUTOLOGIN,
getResources().getBoolean(R.bool. is_autologin)));
loginConfig.setNovisible( preferences.getBoolean(Constant. IS_NOVISIBLE,
getResources().getBoolean(R.bool. is_novisible)));
loginConfig.setRemember( preferences.getBoolean(Constant. IS_REMEMBER,
getResources().getBoolean(R.bool. is_remember)));
loginConfig.setFirstStart( preferences.getBoolean(
Constant. IS_FIRSTSTART, true));
return loginConfig;
}

}



public class LoginActivity extends ActivitySupport {

private LoginConfig loginConfig;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. login);
loginConfig = getLoginConfig();
}

}

你可能感兴趣的:(学习总结,Android框架,Android设计模式,支持者模式)