我有android gradle构建的问题.长话短说,我创造了两种口味:
productFlavors{
abcDemoFree{
}
abcDemo{
}
}
Run Code Online (Sandbox Code Playgroud)
Eeach flavor为此活动提供了自己的Activity(Settings.java)和布局(settings_layout.xml).从main开始,两个文件都被删除了,因此Settings.java和settings_layout.xml只存在于各种风格中.
abcDemoFree
- java
- Settings.java
- res
- settings_layout.xml
abcDemo
- java
- Settings.java
- res
- settings_layout.xml
Run Code Online (Sandbox Code Playgroud)
Android Studio创建了4种构建变体:
abcDemoFreeDebug
abcDemoFreeRelease
abcDemoDebug
abcDemoRelease
Run Code Online (Sandbox Code Playgroud)
一切都很好,我能够创建apk我期待从每个味道的行为.问题是当我切换到一个buildVariant时,例如abcDemoDebug,android studio报告来自另一种风格的资源文件的bug,在我的例子中来自abcDemoFreeDegub/res/settings_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这些线
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
Run Code Online (Sandbox Code Playgroud)
生成错误:URI未注册.
如何摆脱这些错误?或者这可能是正常行为?
您好我想在我的Android应用程序中使用ORMlite保留一些集合数据.例如 :
class Person {
@DatabaseField(generatedId=true)
private int id;
@DatabaseField
private String name;
@DatabaseField
private String surname;
@ForeignCollectionField
private Collections<Phone> phones;
}
class Phone {
@DatabaseField(generatedId=true)
private int id;
@DatabaseField
private String number;
@DatabaseField
private String type;
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能坚持这个系列.
编辑
我告诉你,我使用ForeignCollectionField.但现在我有另一个问题 - 可能是这样的结构(我改变了一点)
@DatabaseTable
public class Student {
@DatabaseField(generatedId=true)
private int id;
@DatabaseField
private String name;
@DatabaseField
private String surname;
@DatabaseField
private String semestr;
@ForeignCollectionField
private Collection<Adres> adres;
}
public class Adres implements Serializable {
@DatabaseField(generatedId=true)
private int id;
@DatabaseField(foreign=true, …Run Code Online (Sandbox Code Playgroud) 如何在Ormlite中更新表sqlite_sequence?我只需要更新seq.如何通过ORMLite获取该表?
编辑
我找不到ORLite工具来做这个,所以我使用简单的sqlite查询.在我的类扩展OrmLiteSqliteOpenHelper我使用SQLiteDatabase进行更新.
EDIT2;)
在我的项目中,我坚持课课和课堂定义.
class Lesson{
@DatabaseField(generatedId=true)
private int id;
...
}
class WeekDefinitions{
@DatabaseField(generatedId=true)
private int id;
@DatabaseField(foreign=true, columnName="lesson_id")
private Lesson lesson;
...
}
Run Code Online (Sandbox Code Playgroud)
现在,当我添加新课程时,id是递增的.例如
id = 1 Math
id = 2 English
id = 3 Medicine
Run Code Online (Sandbox Code Playgroud)
并在weekDefinition中:
id = 1 lesson_id = 1 nr = 20
id = 2 lesson_id = 1 nr = 22
id = 3 lesson_id = 2 nr = 32
...
id = 12 lesson_id = 3 nr = 3
Run Code Online (Sandbox Code Playgroud)
SQLite将此行添加到sqlite_sequence中(使用autoincrement时)
rowId = …Run Code Online (Sandbox Code Playgroud) 当自定义视图显示时,如何调暗背景?在我的活动中,我有相对布局,背景中有一些照片.当用户做一些动作时 - FrameLayout出现在屏幕的中心 - 然后我想让它像对话框一样 - 在framelayout下调暗一切.
我怎样才能做到这一点?