首页 > 其他分享 >Android-单例模式

Android-单例模式

时间:2023-07-28 10:00:43浏览次数:41  
标签:Singleton 对象 模式 static private 单例 new Android public

单例模式

  意图:这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

   public class Singleton {     private static Singleton instance = new Singleton();        private Singleton (){}     public static Singleton getInstance() {        return instance;     }   }   1. 私有静态的对象实例   2. 私有构造方法   3. 静态获取方法  
public class RetrofitManager {
    private static HashMap<String,List<Cookie>> hashMap = new HashMap<>();
    private static OkHttpClient httpClient = new OkHttpClient.Builder().cookieJar(new CookieJar() {
        @Override
        public void saveFromResponse(@NonNull HttpUrl httpUrl, @NonNull List<Cookie> list) {
            hashMap.put(httpUrl.host(), list);
        }

        @NonNull
        @Override
        public List<Cookie> loadForRequest(@NonNull HttpUrl httpUrl) {
            List<Cookie> cookies = hashMap.get(httpUrl.host());
            return cookies == null ? new ArrayList<>() : cookies;
        }
    }).build();

    private static Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https://r87bkar939.execute-api.us-west-2.amazonaws.com/")
            .callFactory((Call.Factory) httpClient)
            .addConverterFactory(GsonConverterFactory.create())
            .addCallAdapterFactory(RxJava3CallAdapterFactory.create())
            .build();
    private RetrofitManager (){

    }

    public static Retrofit getInstance(){
        return retrofit;
    }
}

注意:当生成对象需要其他对象时候,其他对象必须也是类的。

  类方法里不能实例非静态对象

  

 

标签:Singleton,对象,模式,static,private,单例,new,Android,public
From: https://www.cnblogs.com/remix777/p/17586795.html

相关文章

  • 掌握 Python RegEx:深入探讨模式匹配
    动动发财的小手,点个赞吧!什么是正则表达式?正则表达式通常缩写为regex,是处理文本的有效工具。本质上,它们由一系列建立搜索模式的字符组成。该模式可用于广泛的字符串操作,包括匹配模式、替换文本和分割字符串。历史数学家StephenColeKleene在20世纪50年代首次引入正则......
  • 八、Web应用模式
    8.1、web应用模式在开发Web应用中,有两种应用模式:前后端不分离[客户端看到的内容和所有界面效果都是由服务端提供出来的。前后端分离【把前端的界面效果(html,css,js分离到另一个服务端,python服务端只需要返回数据即可)】前端形成一个独立的网站,服务端构成一个独立的网......
  • Android studio id 'org.jetbrains.kotlin.android' version '1.7.20' apply fals
    如何实现"Androidstudioid'org.jetbrains.kotlin.android'version'1.7.20'applyfalse"在Android开发中,AndroidStudio是一个常用的集成开发环境(IDE),用于开发Android应用程序。在AndroidStudio中,我们可以使用Kotlin作为一种更现代化的编程语言。本文将向刚入行的开发者介绍......
  • Android studio JavaVersion.VERSION_1_8
    在AndroidStudio中配置Java版本为1.8作为一名经验丰富的开发者,我将指导你如何在AndroidStudio中配置Java版本为1.8。下面是整个流程的步骤:步骤操作1打开项目2打开ProjectStructure3配置Java版本4应用更改现在,让我们一步一步地详细说明每个步骤需要......
  • Android studio DerInputStream.getLength(): lengthTag=109, too big.Failed to
    AndroidStudio:解决DerInputStream.getLength():lengthTag=109,toobig.Failedto的问题简介在使用AndroidStudio开发Android应用程序时,你可能会遇到DerInputStream.getLength():lengthTag=109,toobig.Failedto的错误。该错误通常发生在尝试使用包含较大数据的......
  • Android shell模拟物理按键
    Androidshell模拟物理按键在Android开发中,有时候我们需要模拟物理按键的操作,例如模拟点击返回键、Home键等。Android提供了一个能够在命令行中模拟按键操作的工具——input。input命令简介input命令是Android系统中的一个工具,用于模拟按键事件。通过使用不同的参数,我们可以模拟......
  • Android setColorFilter
    AndroidsetColorFilter详解在Android开发中,我们经常需要对图片进行处理以实现特定的效果。其中,setColorFilter函数是一个非常常用的方法之一,可以用来改变图片的颜色以及应用各种滤镜效果。本文将详细介绍setColorFilter方法的用法和示例代码,帮助读者了解如何使用该方法。setColo......
  • Keepalived非抢占模式配置
    Keepalived非抢占模式配置1、前言非抢占模式,这种模式主要是针对主机崩溃,集群已经重新选出新的主机,并且原来的主机重新上线后并不争夺主机的情况。这种模式适合那些倾向于认为崩溃的主机即便上线还是会出现崩溃的场景。这种模式的核心思想是将所有节点的优先级(priority)值设为相......
  • 手把手叫你用android 调研web services
    StepbyStepMethodtoAccessWebservicefromAndroidByMihiraPrasanna|24Sep2010JavaMobileAndroidHowtoaccesswebservicefromAndroidmobileapplication PartofTheMobileZoneSeeAlsoMorelikethisMoreby......
  • Android开发笔记:屏幕适配
    这几天刚刚接触了新的项目,做一个android客户端。本周的工作是完成客户端的UI界面和功能实现,但是对于Android开发最头疼的部分,即是对于纷杂的屏幕做适配的工作现在来说是最棘手的!图像显示所需的概念:像素:一幅图片的显示就是由许多显示着不同颜色的小方格组成的,这样的小方格就被称......