我正在尝试在 kotlin/android 中创建房间数据库,但是KotlinNullPointerException当我尝试从数据库中获取 LiveData 时我得到了。我有两个表Car,Refueling从一个片段我可以Car毫无问题地获取数据,但在第二个片段中,我在尝试获取RefuelingLiveData 时出错。我找不到这两个片段/DAO 之间的任何区别。下面是一个简化的代码。
加油数据类:
@Entity(tableName = "refueling_table", foreignKeys = [ForeignKey(entity = Car::class,
parentColumns = arrayOf("carID"),
childColumns = arrayOf("carID"),
onDelete = ForeignKey.CASCADE)]
)
data class Refueling(
@PrimaryKey(autoGenerate = true)
val refuelingID: Long = 0L,
@ColumnInfo(name = "carID")
val carID: Long = 0L,
)
Run Code Online (Sandbox Code Playgroud)
加油DAO:
@Dao
interface RefuelingDAO
{
@Query("SELECT * FROM refueling_table ORDER BY refuelingID DESC")
fun getAll(): LiveData<List<Refueling>>
}
Run Code Online (Sandbox Code Playgroud)
应用数据库:
@Database(entities = [Car::class, Refueling::class], version = …Run Code Online (Sandbox Code Playgroud) ToolTip我尝试以这种方式绑定文本UserControl:
<Grid.ToolTip>
<TextBlock
Text="{
Binding Path=InfoTT,
RelativeSource={
RelativeSource Mode=FindAncestor,
AncestorType={x:Type UserControl}
}
}" />
</Grid.ToolTip>
Run Code Online (Sandbox Code Playgroud)
它不起作用,Tooltip是空的,在日志中,我看到:
System.Windows.Data 错误:4:无法找到引用“RelativeSource FindAncestor,AncestorType='System.Windows.Controls.UserControl”,AncestorLevel='1'' 进行绑定的源。BindingExpression:Path=InfoTT; 数据项=空;目标元素是“TextBlock”(名称=“”);目标属性是“文本”(类型“字符串”)*
但是当我这样做时:
<Grid
ToolTip="{
Binding Path=InfoTT,
RelativeSource={
RelativeSource Mode=FindAncestor,
AncestorType={x:Type UserControl}
}
}">
</Grid>
Run Code Online (Sandbox Code Playgroud)
有效。谁能解释为什么第一种方法不起作用?
如何在 Julia 中将符号转换为字符串?以下不起作用:
String(:A)
convert(String,:A)
Run Code Online (Sandbox Code Playgroud)
他们确实在 Julia 0.4 版中工作。
在 Fragment 中,我尝试从相机捕获图像并使用它。我想这样做,ActivityResultContracts.TakePicture()但是当我在捕获后尝试使用此图像时,我得到:
W/ImageView: Unable to open content: content://com.myniprojects.pixagram/my_images/default_image.jpg
java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
我看过这个问题ActivityResultContracts.TakePicture()但我不知道我做错了什么。这是我所做的一切:
在此停靠到清单之后,我添加了:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.myniprojects.pixagram"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
Run Code Online (Sandbox Code Playgroud)
在res/xml我创建的文件中file_paths:
<paths>
<files-path
name="my_images"
path="images/" />
</paths>
Run Code Online (Sandbox Code Playgroud)
在片段中:
W/ImageView: Unable to open content: content://com.myniprojects.pixagram/my_images/default_image.jpg
java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
如果它有帮助,这是完整的错误日志
2021-01-16 16:15:38.871 9433-9433/com.myniprojects.pixagram W/ImageView: Unable to open content: content://com.myniprojects.pixagram/my_images/default_image.jpg
java.io.FileNotFoundException: open failed: ENOENT (No such file …Run Code Online (Sandbox Code Playgroud)