Android Builder模式实践练习

Android Builder模式实践练习1 Builder 模式介绍 Builder 模式是一种创建型模式 Builder 使用链式调用来一步一步地组装一个复杂的对象 2

欢迎大家来到IT世界,在知识的湖畔探索吧!

1.Builder模式介绍

Builder模式是一种创建型模式。Builder使用链式调用来一步一步地组装一个复杂的对象。

2. Android中的AlertDialog的创建应用的就是Builder模式

public class AlertDialogActivity extends Activity {

private AlertDialog alertDialog;

private Button btn;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.alert_dialog_activity);

btn=(Button)findViewById(R.id.btn);

// Builder使用链式调用一步一步的构建AlertDialog实例

alertDialog=new AlertDialog.Builder(this)

.setTitle(“AlertDialog使用Builder模式创建”)

.setMessage(“Android 中使用AlertDialog的通用方法”)

.setPositiveButton(“确定”, new
DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Alert.alertMsg(“AlertDialog已关闭”);

//AlertDialog消失

dialog.dismiss();

}

}).create();

btn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//AlertDialog显示

alertDialog.show();

}

});

}

}

3.应用Builder模式自己创建一个实例对象

//定义类AppProgrammerController,构造方法私有,

定义内部类Builder,用于构建AppProgrammerController的对象

public class AppProgrammerController {

String pLanguage;//掌握的编程语言

String pAndroid;//Android基础

String pDb;//数据库

String pAlg;//算法

String pDs;//数据结构

String pProject;//练习的项目

//构造方法 private

private AppProgrammerController(){}

public boolean canProgramAndroidApp(AppProgrammerController apc){

if(apc!=null && apc.pLanguage.equals(“JAVA”)

&& apc.pAndroid.equals(“Android”) && apc.pDb.equals(“SQLite”)

&& apc.pAlg.equals(“算法基础”) &&

apc.pDs.equals(“数据结构”) && apc.pProject.equals(“桌球”)){

return true;

}else{

return false;

}

}

public static class Builder{

//实例化外部类AppProgrammerController

private AppProgrammerController appProgrammerController;

public Builder(){

appProgrammerController=new AppProgrammerController();

}

//set方法返回this 用于链式调用

public Builder setpLanguage(String pLanguage) {

appProgrammerController.pLanguage = pLanguage;

return this;

}

public Builder setpAndroid(String pAndroid) {

appProgrammerController.pAndroid = pAndroid;

return this;

}

public Builder setpDb(String pDb) {

appProgrammerController.pDb = pDb;

return this;

}

public Builder setpAlg(String pAlg) {

appProgrammerController.pAlg = pAlg;

return this;

}

public Builder setpDs(String pDs) {

appProgrammerController.pDs = pDs;

return this;

}

public Builder setpProject(String pProject) {

appProgrammerController.pProject = pProject;

return this;

}

//创建AppProgrammerController

public AppProgrammerController create(){

return appProgrammerController;

}

}

}

// 在Activity中测试效果

buildeBtn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//使用Builder模式构建对象appProgrammerController

AppProgrammerController appProgrammerController=

new AppProgrammerController.Builder()

.setpLanguage(“JAVA”)

.setpAndroid(“Android”)

.setpAlg(“算法基础”)

.setpDb(“SQLite”)

.setpDs(“数据结构”)

.setpProject(“桌球”)

.create();

if(appProgrammerController.canProgramAndroidApp(appProgrammerController)){

Alert.alertMsg(“掌握了Android开发的基础知识,可以开发Adroid APP了”);

}

}

});

4.测试效果

视频加载中…


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/142864.html

(0)
上一篇 26分钟前
下一篇 11分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信