- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 Android 应用程序有两种不同的风格,lite 和 pro。在应用程序中,我有一个名为 customFragment.java 的类,它包含在 main 中(不同风格之间没有区别)并且还包含以下代码:
import haibison.android.lockpattern.LockPatternActivity;
private void showLockPattern() {
if (BuildConfig.IS_VERSION_PRO) {
Intent intent = new Intent(LockPatternActivity.ACTION_VERIFY_CAPTCHA, null, this, LockPatternActivity.class);
startActivityForResult(intent, PATTERN_ID);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PATTERN_ID && resultCode == Activity.RESULT_OK) {
Log.i("App", "OK!");
}
}
在 app.gradle 中,我只包含了专业版的 LockPattern 库:
dependencies {
proCompile 'com.github.haibison:android-lockpattern:6.0.0'
}
我为两种风格(在主文件夹中)描述的类相同,因为它很大,我不想在两种风格中重复代码。 pro 风格构建成功,但 lite 风格显示错误,因为我也没有导入 lite 风格的依赖项。
我看到的一个解决方案是将 lockpattern 库添加到两种风格,然后使用 proGuard 将其从 lite 风格中删除。虽然我相信这可能有效,但它可能不是最顺利的选择。当然,我也可以简单地忽略 lite 风格中未使用的库的开销。
您将如何解决这个问题?我在 stackoverflow 上搜索了很长时间,但没有找到任何答案,所以几年来我第一次决定注册并提出问题。
最佳答案
Lite 版本未编译,因为 java 找不到 LockPatternActivity。为此,您可以使用以下解决方案。
你需要有一个 flavor 类pro
public final class LockPatternHelper {
private LockPatternHelper() {}
public static void showLockPattern() {
Intent intent = new Intent(LockPatternActivity.ACTION_VERIFY_CAPTCHA, null, this, LockPatternActivity.class);
startActivityForResult(intent, PATTERN_ID);
}
}
在 lite 风格中,它应该是具有空方法 showLockPattern() 的同一个类。
public final class LockPatternHelper {
private LockPatternHelper() {}
public static void showLockPattern() {}
}
在此之后,您可以从您的 customFragment.java 调用 LockPatternHelper.showLockPattern()
每个 flavor 都会使用它的 helper,lite 版本不会包含不必要的库。
关于具有不同依赖项和相同类文件的 Android 风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33368163/
所以我有这个 UltraTicTacToe 游戏,我正在用 HTML/CSS/JS 编码。它由表中表中的表组成。当您单击 X 或 O 时,我想要突出显示您应该进入的下一个 TicTacToe 牌 ta
Some text Some more text 如何让每个 .example 的 .whatever 包含其 .test 的内容? 例如,如果代码是这样的: Som
我是一名优秀的程序员,十分优秀!