我正在构建4种不同风格的Android应用程序.
我有一个类Customization.java,其中3个相同,1个不同.
由于我不能在主文件夹和flavor文件夹中放置相同的类,因此我现在必须为这3种风格维护3个完全相同类的副本.
有没有办法只保留这个类的两个版本?
到目前为止我考虑过的事情:
我想知道是否有更清洁的东西开箱即用.
我的gradle文件中有两种风格:flavor1和flavor2.与构建类型一起,它们创建以下构建变体:
flavor1-debug
flavor1-release
flavor2-debug
flavor2-debug
Run Code Online (Sandbox Code Playgroud)
假设我希望每个变体都有不同的drawable,我应该把它放在哪里?
我的文件夹结构是
src
|__ main
|__ flavor1
|__ flavor2
|__ debug
|__ release
Run Code Online (Sandbox Code Playgroud)
我知道,根据这个那个
所有资源(Android资源和资产)都使用覆盖优先级,其中构建类型会覆盖产品风格,后者会覆盖主要的sourceSet.
然而,这意味着,如果我把它的生成类型文件夹,然后调试变体将具有相同的调试绘制和释放变体将具有相同的发行绘制.
我想我可以从一开始就创造出更多特定的口味,例如flavor1release,flavor1debug,flavor2release,flavor2debug,但我最终会得到8个变种.我可能不会根据这个构建一些构建类型,但这似乎不是很干净.
在Android文档中,它表示服务在主线程中运行.
如果我在一个单独的线程中启动我的服务会怎样?它仍然在主线程上运行吗?
我不是android:process在清单文件中使用,而是说:
Thread thread = new Thread(new Runnable() {
public void run() {
// Start service
}
}).start();
Run Code Online (Sandbox Code Playgroud)
别担心,我不会那样做,我只是好奇.
我正在阅读关于quicksort的内容,看看不同的实现,我正试图绕过一些东西.
在该实现中(当然可以工作),选择枢轴作为中间元素,然后左右指针相应地向右和向左移动,交换元素以围绕枢轴分区.
我正在尝试阵列[4,3,2,6,8,1,0].
在第一个分区上,pivot为6,所有左侧元素都已小于6,因此左指针将停在枢轴上.在右侧,我们将交换0与6,然后是1和8,因此在第一次迭代结束时,数组将如下所示:
[4,3,2,0,1,8,6].
然而,我的印象是,在快速排序的每次迭代之后,枢轴最终会在其合适的位置,因此它应该最终位于阵列的位置5.
因此,有可能(并且确定)枢轴不会以正确的迭代结束,或者是否是我遗漏的明显事物?
是否有一个Activity生命周期的方法可以保证在我的应用程序崩溃时被调用?
我把日志放在所有方法中并使我的应用程序崩溃,但我没有看到任何内容.
我在文档中也找不到任何东西.
我基本上想要保存数据库中的更改,但理想情况下我不想在每次更新时都这样做,而是在onPause或onStop等方法中.