小编xar*_*g89的帖子

Room - Schema导出目录未提供给注释处理器,因此我们无法导出架构

我正在使用Android数据库组件室

我已经配置了所有内容,但是当我编译时,Android Studio会给我这个警告:

模式导出目录未提供给注释处理器,因此我们无法导出模式.您可以提供 room.schemaLocation注释处理器参数或将exportSchema设置为false.

据我所知,它是DB文件所在的位置

它怎么会影响我的应用程序?这里的最佳做法是什么?我应该使用默认位置(false值)吗?

java database android android-room

310
推荐指数
10
解决办法
8万
查看次数

如何让Fragment自行删除,即它相当于finish()?

我正在使用兼容性库转换应用程序以使用片段.现在我有许多活动(ABCD)相互链接,D有一个按钮'OK',当按下调用完成然后冒泡onActivityResult()到另外销毁C和B.

对于我的前Honycomb片段版本,每个活动实际上是片段Af Bf Cf Df的包装器.所有活动都是通过每个片段发起的,startActivityForResult()并且onActivityResult()可以愉快地调用getActivity().finish()

我遇到的问题是在我的Honeycomb版本中我只有一个活动,A,并且片段Bf,Cf,Df使用FragmentManager.

我不明白的是,当按下"确定"以删除片段Df,Cf和Bf时,在Df中该怎么办?

我尝试让片段从堆栈中弹出,但这会导致异常.onActivityResult()是没用的,因为我没有使用加载片段startActivityForResult().

我是否完全以错误的方式思考这个问题?我是否应该实现某种与父片段或活动进行通信的侦听器,以便使用事务管理器进行弹出?

android

226
推荐指数
6
解决办法
24万
查看次数

Java关联数组

如何在PHP中创建和获取Java中的关联数组?

例如:

$arr[0]['name'] = 'demo';
$arr[0]['fname'] = 'fdemo';
$arr[1]['name'] = 'test';
$arr[1]['fname'] = 'fname';
Run Code Online (Sandbox Code Playgroud)

java associative-array hashmap

204
推荐指数
8
解决办法
24万
查看次数

如何以编程方式向视图添加视图

假设我有一个LinearLayout,我想在我的程序中从Java代码中添加一个View.用于什么方法?我不是问我是如何用XML做的,我知道,但是,我怎么能做到这一点呢?

(一个视图).add(另一个视图)

就像在Swing中可以做到的那样.

android

165
推荐指数
5
解决办法
19万
查看次数

第三方Gradle插件可能是原因

更新到Android Studio 3.1后,我收到以下错误消息:

该项目工作正常,这主要是一个警告,所以我的问题是警告的含义是什么,我怎么能摆脱它?

gradle文件中的相关部分:

这是我的项目 build.gradle

buildscript {
    ext {
        kotlin_version = '1.2.31'
        anko_version = '0.10.4'
        room_version = '1.0.0'
        support_version = '27.1.0'
        firebase_version = '12.0.0'
        gms_version = '12.0.0'
    }

    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序build.gradle文件:

apply plugin: 'com.android.application'
apply plugin: …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-studio-3.1

132
推荐指数
6
解决办法
3万
查看次数

如何让工具栏透明?

这是自我问答帖 我有透明的ActionBar覆盖布局.迁移到最新的支持库后,我被迫摆脱了ActionBar,转而使用工具栏.使其透明并覆盖该布局的旧方法不再适用.

<style name="CustomActionBarTheme" parent="@android:style/Theme.AppCompat">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBarOverlay">true</item>
    <item name="android:actionBarStyle">@style/TransparentActionBar</item>
</style>

<style name="TransparentActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android material-design android-toolbar

65
推荐指数
11
解决办法
12万
查看次数

如何在预先填充的数据库中使用Room Persistence Library?

我想将Room与预先填充的数据库一起使用,但我无法理解如何告诉Room在哪里可以找到我的数据库.

我现在把它放进去src/main/assets/databases,当我为Room数据库创建实例时,我就是这样创建的:

Room.databaseBuilder(
    getApplicationContext(),
    AppDatabase.class,
    "justintrain.db"
)
.allowMainThreadQueries()
.build();
Run Code Online (Sandbox Code Playgroud)

这样,我认为它每次创建一个新的数据库,或者不管怎样,它不使用预先填充的数据库.

我怎样才能找到我的数据库?

android android-sqlite android-room

60
推荐指数
5
解决办法
2万
查看次数

传单中的标记,单击事件

var map = L.map('map');
var marker = L.marker([10.496093,-66.881935]).on('click', onClick);
function onClick(e) {alert(e.latlng);}
marker.addTo(map)
Run Code Online (Sandbox Code Playgroud)

当我单击标记时,警报消息为:undefined

但如果我把它放在变量图中,它就可以了!(显示纬度和经度)

map.on('click', onClick); 
Run Code Online (Sandbox Code Playgroud)

有人知道为什么它在标记中不起作用吗?

javascript leaflet

56
推荐指数
4
解决办法
9万
查看次数

Android Room Persistences库和Kotlin

我正在尝试使用Kotlin和Room Persistance Library编写一个简单的应用程序.我按照Android Persistance codelab中的教程进行操作.

这是我AppDatabase在Kotlin的课程:

@Database(entities = arrayOf(User::class), version = 1)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userModel(): UserDao

    companion object {
        private var INSTANCE: AppDatabase? = null
        @JvmStatic fun getInMemoryDatabase(context: Context): AppDatabase {
            if (INSTANCE == null) {
                INSTANCE = Room.inMemoryDatabaseBuilder(context.applicationContext, AppDatabase::class.java).allowMainThreadQueries().build()
            }
            return INSTANCE!!
        }

        @JvmStatic fun destroyInstance() {
            INSTANCE = null
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我试图运行应用程序时,它会立即崩溃.这是崩溃日志:

Caused by: java.lang.RuntimeException: cannot find implementation for com.ttp.kotlin.kotlinsample.room.AppDatabase. AppDatabase_Impl does not exist
    at …
Run Code Online (Sandbox Code Playgroud)

database kotlin kapt android-room

54
推荐指数
3
解决办法
2万
查看次数

kotlin Activity不能扩展,这种类型是final,所以它不能被继承

我创建了一个kotlin Activity,但是我无法扩展活动,我收到的消息是" 这种类型是最终的,所以它不能继承 ".如何从最终删除kotlin活动,因此可以扩展.

kotlin kotlin-android-extensions

47
推荐指数
3
解决办法
1万
查看次数