设计模式--静态工厂设计模式在android中的使用
2023-09-14 08:59:01 时间
今天看到这篇文章:http://www.androiddesignpatterns.com/2012/05/using-newinstance-to-instantiate.html
public class MyFragment extends Fragment { public static MyFragment newInstance(int index) { MyFragment f = new MyFragment(); Bundle args = new Bundle(); args.putInt("index", index); f.setArguments(args); return f; } }
不要让客户端去调用默认的构造函数,然后手动地设置fragment的参数。我们直接为它们提供一个静态工厂方法。这样做比调用默认构造方法好,有两个原因:一个是,它方便别人的调用。另一个是,保证了fragment的构建过程不会出错。通过提供一个静态工厂方法,我们避免了自己犯错--我们再也不用担心不小心忘记初始化fragmnet的参数或者没正确设置参数。
总体而言,虽然两者之间的区别主要是只是设计的问题,这种差异是非常重要的因为它提供了一个抽象层,使代码更容易理解很多。
相关文章
- 谷歌从IBM购买千项专利 巩固Android专利防线
- [Android Pro] Android签名与认证详细分析之二(CERT.RSA剖析)
- [Android Pro] Android权限设置android.permission完整列表
- Android API之android.provider.ContactsContract
- Android API之android.os.AsyncTask
- Android开发学习---使用Intelij idea 13.1 进行android 开发
- 1、Android Studio集成极光推送(Jpush) 报错 java.lang.UnsatisfiedLinkError: cn.jpush.android.service.PushProtoco
- 《android开发艺术探索》读书笔记(十五)--Android性能优化
- Android写的一个设置图片查看器,可以调整透明度
- 1、Android Studio集成极光推送(Jpush) 报错 java.lang.UnsatisfiedLinkError: cn.jpush.android.service.PushProtoco
- 设计模式--静态工厂设计模式在android中的使用
- Android应用开发提高系列(3)——《Effective Java 中文版》读书笔记
- Android问题笔记 - 编译报错Task :app:compileDebugJavaWithJavac FAILED
- Android中的人脸检测的示例代码(静态和动态)
- 【Android笔记48】Android中几个常见的类(DisplayMetrics、WindowManager、LayoutInflater、LayoutParams)
- Android Device Monitor中File Explorer的db文件如何导出到桌面
- android 9.0 10.0 Launcher3添加负一屏(左一屏)功能
- Android android studio 项目放在源码中编译
- 【错误记录】Android Studio 编译时 lint 检查报错 ( WARNING: DSL element ‘android.dataBinding.enabled‘ is obsolet )
- Android开源client之LookAround学习(一)Application & 网络框架
- Android Studio多Module使用 aar 依赖包 丢包解决
- Android Studio的报错提示:android.content.res.Resources$NotFoundException: Resource ID #0xfffffe6c
- android开发,开发环境(Android Studio)安装