【问题标题】:Splash screen using MVP design pattern in Android在 Android 中使用 MVP 设计模式的启动画面
【发布时间】:2019-06-29 13:59:17
【问题描述】:

我正在对 Android 中的 MVP 设计模式进行一些研究,并遇到了一个关于启动画面的问题。我正在使用 MVP 设计模式开发的应用程序在启动屏幕的活动上没有特定的行为。

在这种情况下,我应该考虑使用MVP设计模式来构建启动屏幕的活动,还是简单地制作没有MVP模式的启动屏幕活动?

你能给我一些建议吗?

提前致谢。

【问题讨论】:

    标签: java android design-patterns


    【解决方案1】:

    MVP、MVVM、MVC所有这些设计模式都用于以系统的方式维护代码并用于分离事物。由于您的 Splash screen 不会有很多代码,因此创建演示者类并实现它不是一个好主意。我会说只是跳过那个活动。并遵循其他活动的设计模式

    【讨论】:

    • 我的想法与您的建议相同,但还不够确定。谢谢你的建议。
    【解决方案2】:

    关注OOPS SOLID principle

    开闭原则

    软件实体...应该对扩展开放,但对修改关闭。

    即使您的启动画面没有特定的行为,您也应该考虑使用 MVP。

    此外,您应该考虑使用您的特殊主题,而不是为其创建布局。

    创建一个名为backgroundDrwable.xmldrawable,内容如下(根据需要更改颜色和drawable):

    <item android:drawable="@color/mycolor" />
    
    <item>
        <bitmap android:src="@drawable/app_logo"
            android:gravity="center" />
    
    </item>
    

    styles.xml

    中创建新主题
     <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
            <item name="android:windowBackground">@drawable/backgroundDrwable</item>
    </style>
    

    您不需要在onCreate 方法中提供任何布局,这个主题将呈现一个背景,您的app_logo 居中。是的,不要忘记在 AndroidManifest.xml

    中将您的主题分配给您的 SplashActivity
     <activity android:name=".SplashActivity" android:theme="@style/SplashTheme">
    

    【讨论】:

    • 感谢您的建议和解决方案。我会考虑两者。
    【解决方案3】:

    为什么不创建启动画面而不弄乱您的代码?

    创建样式:

    <style name="splashScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@mipmap/app_icon</item>
    </style>
    

    将此样式添加到清单中的活动

     <activity android:name=".Activity"
            android:theme="@style/splashScreenTheme">
    

    【讨论】:

    • 是的,我也认为不要乱用你的评论这样的代码是个好主意。
    猜你喜欢
    • 2018-07-18
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多