小编Rup*_*esh的帖子

当 PRAGMA foreign_keys=ON 时,是否允许在 sqlite 中有空外键?

根据这个空外键是允许的,除非并且直到我们向模式添加适当的“NOT NULL”约束。

但我看到了一些不同的行为,

sqlite> PRAGMA Foreign_keys;
1
sqlite> create table proc (
sqlite>   pid integer,
sqlite>   name text,
sqlite>   ppid integer,
sqlite>   foreign key (ppid) references proc (id)
sqlite> );
sqlite> .schema proc
CREATE TABLE proc (
  pid integer,
  name text,
  ppid integer,
  foreign key (ppid) references proc (id)
);

sqlite> insert into proc (pid, name, ppid)
sqlite> values (0, "init", null);
Error: foreign key mismatch

sqlite> PRAGMA Foreign_keys=OFF;
sqlite> PRAGMA Foreign_keys;
0

sqlite> insert into proc (pid, …
Run Code Online (Sandbox Code Playgroud)

sqlite android-sqlite

6
推荐指数
1
解决办法
7719
查看次数

PDFBox:PDPageContentStream的追加模式行为不端

我正在其中一个PDF页面PDPageContentStream stream = new PDPageContentStream(doc, page);上绘制图像..当我用来绘制图像时,一切正常..请参见下图.

图片

但是当我使用构造函数PDPageContentStream(doc, page, true, true);来创建PDPageContentStream和绘制图像时,新添加的图像会颠倒倒置.

图片

没有弄到这里出了什么问题..

PS.我正在使用库PdfBox-Android

java android pdfbox

5
推荐指数
1
解决办法
2831
查看次数

旋转后重新创建ViewModel; 如果直接注射dagger2

可能重复

我正在用dagger2探索android注射api.所以,在我的示例应用程序中,我ViewModel直接注入了活动; 看看下面的代码片段.

class SampleApp : Application(), HasActivityInjector {

    @Inject
    lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Activity>

    override fun activityInjector(): AndroidInjector<Activity> =
            dispatchingAndroidInjector

    override fun onCreate() {
        super.onCreate()

        DaggerApplicationComponent.builder()
                .application(this)
                .build()
                .inject(this)
    }
}
Run Code Online (Sandbox Code Playgroud)
@Component(modules = [
    AndroidInjectionModule::class,
    ActivityBindingModule::class,
    AppModule::class
    /** Other modules **/
])
@Singleton
interface ApplicationComponent {

    @Component.Builder
    interface Builder {

        @BindsInstance
        fun application(application: Application): Builder

        fun build(): ApplicationComponent
    }

    fun inject(sampleApp: SampleApp)
}
Run Code Online (Sandbox Code Playgroud)
@Module
public abstract class ActivityBindingModule {

    @ContributesAndroidInjector(modules = MainModule.class)
    public abstract MainActivity contributeMainActivityInjector();
} …
Run Code Online (Sandbox Code Playgroud)

android kotlin dagger-2 android-mvvm android-architecture-components

2
推荐指数
1
解决办法
977
查看次数