Android Builder模式浅试

安卓下Builder模式解析+自定义Dialog实战演练 **本文将从一下几个方面展开: 1Bulider模式的原理和使用 2系统Dailog的调用 3自定义Dailog 4自定义Dailog的一些小坑**本文Github代码链接 https://github.com/AndroidMsky/AirDialog自定义Dailog效果: 1Bulider模式的原理和使用当你看到这样的一串代码是不是觉得很炫酷? airDialog = new A 阅读详情
public class AutoUser {

    private final String myGirl;//带有final修饰的是必须填的
    private String myBoy;       //选填 通过
    private int mAge;

    /**
     * 私有的构造函数
     * 只能通过内部类Builder给其属性赋值
     * @param builder
     */
    private AutoUser(Builder builder) {
        myGirl = builder.myGirl;
        myBoy = builder.myBoy;
        mAge = builder.mAge;
    }

    /**
     * 相当于 整个AutoUser类本身自己不能通过:构造参数,set方法给属性赋值
     * new AutoUser.Builder("林青霞").myBoy("刘德华").build();
     * 外部类.内部类的构造函数(参数).各种赋值方法将外边的值传递给Builder,
     * 而Builder.build()方法中返回的是new AutoUser(this);
     * 调用外部类的构造函数,将Builder传递给外部类,然后进行赋值
     *
     */
    public static class Builder {
        private final String myGirl;
        private String myBoy;
        private int mAge;

        public Builder(String myGirl) {
            this.myGirl = myGirl;
        }

        public Builder myBoy(String myBoy) {
            this.myBoy = myBoy;
            return this;
        }

        public Builder mAge(int mAge) {
            this.mAge = mAge;
            return this;
        }

        /**
         * build()的时候,返回AutoUser对象;
         *
         * @return new AutoUser(this);
         * this指的是:这个Builder对象!
         * private AutoUser(Builder builder) {...}
         * 因为AutoUser类 构造函数 的参数是一个Builder,所以将这个builder传给AutoUser;
         */
        public AutoUser build() {
            return new AutoUser(this);
        }
    }

    public String getMyGirl() {
        return myGirl;
    }

    public String getMyBoy() {
        return myBoy;
    }

    public int getAge() {
        return mAge;
    }


}

使用方法

        AutoUser autoUser = new AutoUser.Builder("王祖贤")//必传参数
                .myBoy("刘德华") //选传参数
                .mAge(11)       //选传参数
                .build();
//          类似OkHttpUtils...addParams("","").addParams("","").build().exite(...);
//          OkHttpUtils.post().url(url)
//                .addParams( "..." , "..." )
//                .addParams( "..." , "..." )
//                .addParams( "..." , "..." )
//                .addParams( "..." , "..." )
//                .build().execute(new StringCallback() {....});
        autoUser.getAge();
        autoUser.getMyBoy();
        autoUser.getMyGirl();



Android设计模式之Builder模式在实际项目的运用 Builder模式是一种设计模式,Android源码中AlertDialog就是使用 Build 设计模式,这种模式的主要特点就是链式的,方便使用者的调用,使用者无需关心内部如何实现就可以方便调用。 为什么要用? 首先了解一下定义: 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过... 阅读详情

相关推荐

MoveIt2项目想换掉KDL求解器?试试这个trac_ik插件(附源码编译避坑指南)

本文详细介绍了如何在MoveIt2项目中用trac_ik插件替代KDL求解器,提升机械臂运动学求解的效率和成功率。内容涵盖环境准备、源码编译避坑、项目集成及性能调优,特别适合需要高精度控制的协作机械臂应用场景。通过实测数据对比,trac_ik在求解时间和奇异点处理上显著优于传统KDL求解器。

weixin_30730053的博客 697

Android开发中无处不在的设计模式——Builder模式

上一篇文章介绍了单例模式,这一篇继续介绍一个常见的模式——Builder模式。那么什么是Builder模式呢。你通过搜索,会发现大部分晚上的定义都是 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 但是看完这个定义,并没有什么卵用,你依然不知道什么是设计模式。在此个人的态度是学习设计模式这种东西,不要过度在意其定义,定义往往是比较抽象的,学习它最好的例子就是通过样例代码

区长的专栏 7451

Vivado实战:UltraScale/UltraScale+器件eFUSE寄存器配置与安全编程全解析

本文详细解析了Xilinx UltraScale/UltraScale+器件中eFUSE寄存器的配置与安全编程方法。从芯片唯一身份标识到加密密钥烧录,再到用户寄存器的灵活应用和安全控制寄存器的配置技巧,全面介绍了如何利用eFUSE功能提升硬件安全性。文章还提供了JTAG接口安全管理和NKZ文件备份方案,帮助开发者避免常见陷阱,确保安全编程的可靠性。

weixin_42535703的博客 428

Android常用设计模式之Builder模式理解

设计模式之Builder模式

qq_36639105的博客 1608

从PCB走线到天线:用史密斯圆图搞定2.4GHz频段的阻抗匹配陷阱

本文深入探讨了2.4GHz频段PCB设计中阻抗匹配的挑战与解决方案,重点介绍了史密斯圆图在射频和天线阻抗匹配中的应用。通过实战案例和详细步骤,帮助工程师有效解决高频信号传输中的阻抗失配问题,提升物联网设备的通信性能。

uuu88的博客 721

软考中级信息系统监理师(第二版)-第21章基础设施工程监理

由于网络信息技术的飞速发展,变化日新月异,网络设计不但要保证目前网络传输容量的要求,也要考虑今后网络的发展,满足当前以及今后相当一段时间内的网络需求,便于向新技术的升级和衔接,同时又需要保护原有的投资。通用布缆系统工程中,承建单位的竣工文档主要包括以下内容:承建合同,招标文件,投标文件,设计方案,工程实施组织设计方案,工程施工报告,隐蔽工程记录,变更记录,自测报告,信息点分布图(表),园区、楼宇、水平配线表,楼层平面图及无线设备点位图,无线设备信息表,竣工图纸等。多排安装时,列间距不应小于1200mm。

2301_78583973的博客 1400

Android中的构建者(Builder)模式

最近在使用Retrofit和OkHttp框架的过程中发现创建相关对象时频繁使用到了Builder模式,链式调用的方式让代码变得简洁、易懂,但自己也只是知其然而不知其所以然,所以决定做个笔记加深下印象。一、场景分析在实际开发中,往往会遇到需要构建一个复杂的对象的代码,像这样的: public class User { private String name; // 必传

守望君的自留地 995

保姆级教程:用STM32CubeMX HAL库搞定ESP8266连接,附串口printf调试全流程

本文提供了一份详细的STM32CubeMX HAL库教程,指导开发者如何实现ESP8266无线模块的连接与调试。从开发环境搭建、串口配置到AT指令通信解析,涵盖了物联网开发中的关键步骤和常见问题解决方案,帮助开发者快速掌握STM32与ESP8266的集成技术。

weixin_28273593的博客 504

Android : Builder模式 详解及学习使用

在此声明:以下内容由书籍 《Android高级进阶》学习而来。Builder模式是一种设计模式,最初被介绍于《设计模式:可复用面向对象软件的基础》,目前在Java及Android中用处更是十分广泛,因此基本的了解与学习应当掌握。一. Builder模式介绍首先从它的定义开始介绍:Builder模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一般而言,Builder模式

lemonGuo的大脑皮层、小脑、海马体、杏仁核..... 3648

乐企增值税及附加税费预缴申报表填报能力说明文档V1.004

申报表填报,是指企业在自有业务系统中将算税结果数据按预填规则要求加工汇总后,进行申报表填报的过程。申报表填报前对纳税申报所需的前提条件进行校验。校验通过后,应用前序算税结果数据及预填规则进行纳税申报表预填,生成申报表数据。申报表数据通过申报业务规则校验后,经纳税人确认即完成申报表填报业务。

记录点滴 355

OpenAI最强编程助手Codex:下载安装、使用指南(含使用方式、提示技巧、趋势)

OpenAI最近上线了最强编程Agent——Codex,一起来看看吧!

Code_流苏:在代码中寻诗意,在实践中觅真知 1万+

Android-Build模式(建造者模式)

网上的Build模式的定义是: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 看到这句话的第一眼(这是什么东西,一点都看不懂啊),最能理解的还是写一个例子来了解,下面动手写一个例子来学习Build设计模式。 首先来看一下Buils模式的经典案例(对话框)。 AlertDialog dialog = new AlertDialog.Builder(this) ...

weixin_44059750的博客 789

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android Builder模式

对应了Build模式的定义。我参考了很多文章对Build模式的理解,大部分都从构造方法有4个参数,可以考虑使用做为出发点。我一开始也是从这里从发,写着写着发现和定义不同了。我只会去考虑去使用Build来解决参数的问题,而这个问题set方法也可解决,只是没有build看的舒服和好用而已。

光临天下 2484

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

创建型设计模式之Builder模式

1 Builder模式概念 1.1 介绍   Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。   Builder模式,在于分工明确,一个抽象建造者,一个具体的建造者,一个指挥者,当然还需要具体的产品。那么我们以一个软件产品为...

chenliguan的博客 9231

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android Dialog中的Builder设计模式

1.Builder设计模式的定义 Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体构建细节。Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反复使用中才能体会到。 2.使用Builde

carlwang100的专栏 1995

Android设计模式——Builder模式

Android设计模式——Builder模式1.Builder模式介绍2.Builder模式使用场景3.Builder模式和链式调用的区别4. 手动实现一个导航栏5.总结5.1 优点5.2 缺点 1.Builder模式介绍   Builder模式又称建造者模式,将复杂对象的构建过程和表示过程进行分离,让其(参数)构建过程变得更加的简单和直观。 2.Builder模式使用场景   1.一个复杂的对象...

weixin_45468727的博客 793

带你轻松了解Android 设计模式——Builder模式

引入在Android开发中,我们一定运用到Android的Dialog,如下:AlertDialog.Builder builder=new AlertDialog.Builder(this); AlertDialog dialog=builder.setTitle("Simon") .setIcon(android.R.drawable.dialog_alert)

Simon_Crystin的博客 4274

当Android遇上设计模式之建造者(Builder)模式

转载请声明出处:https://blog.youkuaiyun.com/AndrExpert/article/details/79665082 众所周知,无论是大部分书籍还是博客,对设计模式的介绍也仅表现在简单的java举例层面,虽然是看懂了,但是在开发的过程中就是不知道如何应用到项目中,时间久了也容易忘记。因此从今天开始,我计划从Android开发者角度写一些关于设计模式系列文章,希望通过这个系列的...

老蒋也疯狂 2211

android设计模式—建造者(Builder,Android开发必须要会

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。面试过程一定要有礼貌!

m0_57473261的博客 984

Android设计模式学习之Builder模式

可以看到,通过Builder来设置AlertDialog中的title, message, button等参数, 这些参数都存储在类型为AlertController.AlertParams的成员变量P中,AlertController.AlertParams中包含了与之对应的成员变量。1.相同的方法,不同的执行顺序,产生不同的事件结果时;在Android源码中,我们最常用到的Builder模式就是AlertDialog.Builder, 使用该Builder来构建复杂的AlertDialog对象。

老皮的博客 830

Android中的Builder模式

Builder模式:将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。 什么时候可以使用builder模式: 1、一个类中有很多个属性,并且很多属性都有可能在创建对象的时候初始化。 2、相同的方法,不同的执行顺序,产生不同的事件结果时 3、多个部件或零件,都可以装配到一个对象中,但是产生的运行效果又不相同时 4、产品类非常复杂,或者产品类中的调用顺序不同产生了不同的作用,这个时候使用建造者模式非常合适 Android builder模式的特点: 1、Android builder模式

androdi__LT的博客 1854

Android设计模式之Builder模式

1.Builder类将AlertDialog相关参数放到AlertController.AlertParams成员变量P中,Builder类调用create方法创建AlertDialog对象,在create里通过P.apply方法将变量P传入AertDialog的mAlert对象中。1.参数多且可选,需要构建不同的实例,如网络请求,图片加载,复杂的配置对象。一、定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。优点:参数灵活,代码可读性高,对象不可变性,构建过程可控。

lqw_qgf的博客 668

builder android,结合Android浅谈Builder模式

Android前言Builder模式,对象创建型的设计模式。说起设计模式,可能会觉得有点高深莫测,其实不然,我们每天写代码都在多多少少的和各种各样的设计模式接触,只是没有察觉而已。这里就来说一说Builder模式。Android中的Builder模式在Android开发中,什么时候会用到Builder模式呢?其实很简单,就是当你想使用一个控件时或者是一个对象时,没有办法直接把他New 出来;那么这...

weixin_36354817的博客 515

Android设计模式—建造者模式builder

1.builder模式(建造者模式) builder模式的目的是为了将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 使用场景: ①相同方法,不同的执行顺序,产生不同的事件结果时; ②多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时; ③产品类非常复杂,或者产品类中的调用顺序不同产生了不同效能,这个时候使用建造者模式非常合适。 优点:使用灵活,易于扩展;不用关心内部实现细节,只注重结果。 缺点:产生多余的Builder对象,消耗内存。 2.举例说明 如果我们有一

zenmela2011的专栏 1436

android builder模式 插件,Android Builder模式

前言Builder模式是创建一个复杂对象的一种模式,此模式,用户不用知道内部构建细节,可以更好的控制构建流程。一个复杂对象可以有很多参数、部件,Builder模式就是为了将创建这个复杂对象的过程和对象的众多参数部件分开,已达到解耦的目的。这样构建过程和部件都可以自由扩展,两者之间的耦合也降到最低。Builder模式将一个复杂对象的构建与对象的参数或部件的创建分离,使得同样的创建过程可以有不同的结果...

weixin_36002475的博客 292
下一篇: 关于Android studio签名打包Warning:jks密钥库使用专用格式…
大大欧小文
博客等级 码龄11年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值