Da ich eine schnelle (?) Bibliothek namens DBFlow verwendet habe, werde ich zusammenfassen, wie sie installiert und verwendet wird. Der Inhalt wird von Zeit zu Zeit ** aktualisiert **.
Die Entwicklungsumgebung ist wie folgt.
Von Raizlabs bereitgestellte ORM-Bibliothek (Object-Relational Mapping).
** DBFlow ist eine Bibliothek, die die Verarbeitung in der Datenbank vereinfachen kann, z. B. die Tabellendefinition mithilfe von Anmerkungen ( @ ~ </ code>) **.
Es scheint berühmt dafür zu sein, schnell auf der Straße zu sein.
Ich habe sowohl für die Installation als auch für die Verwendung auf Offizielle Dokumente verwiesen. Um DBFlow zu installieren, müssen Sie den folgenden Inhalt hinzufügen.
build.gradle
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
}
build.gradle(app)
dependencies {
apt 'com.raizlabs.android:DBFlow-Compiler:2.2.1'
compile "com.raizlabs.android:DBFlow-Core:2.2.1"
compile "com.raizlabs.android:DBFlow:2.2.1"
}
Um DBFlow verwenden zu können, müssen Sie einige neue Klassen vorbereiten.
Initialisieren Sie mit FlowManager.init (this) </ code>.
MyApplication.java
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FlowManager.init(this);
}
}
Wenn Sie eine neue erstellen, fügen Sie dem Anwendungstag von AndroidManifest.xml die folgende Beschreibung hinzu.
AndroidManifest.xml
<application
android:name=".MyApplication" />
</application>
AppDatabase.java
@Database(name = AppDatabase.NAME, version = AppDatabase.VERSION)
public class AppDatabase {
public static final String NAME = "AppDatabase";
public static final int VERSION = 1;
}
Die Spalte muss @Column </ code> sein und der Primärschlüssel muss
@PrimaryKey </ code> sein.
User.java
@Table(databaseName = AppDatabase.NAME, tableName = "USER_TABLE")
public class User extends BaseModel {
@Column
@PrimaryKey(autoincrement = true)
int id;
@Column(name = "NAME")
public String name;
@Column(name = "AGE")
public int age;
}
User user = new User();
user.name = "takenoki";
user.age = 20;
user.insert();
select NAME from USER_TABLE where NAME = "takenoki";
Die obige SQL-Anweisung wird für DBFlow wie folgt konvertiert.
List<User> list = new Select()
.from(User.class)
.where(Condition.column(User$Table.NAME).is(name))
.queryList();
In DBFlow werden in SQL verwendete Klauseln als Methoden vorbereitet, und zusätzlich zu den oben genannten können auch different (), count () usw. verwendet werden. Dieses Mal erhalten wir die Daten mit demselben Namen. Wenn Sie jedoch Daten mit demselben Namen und Alter erhalten möchten, sehen Sie wie folgt aus.
List<User> list = new Select()
.from(User.class)
.where(
Condition.column(User$Table.NAME).is(name),
Condition.column(User$Table.AGE).is(age)
)
.queryList();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_sample, container, false);
String name = "takenoki";
int age = 20;
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
act,
android.R.layout.simple_list_item_1
);
List<User> list = new Select()
.from(User.class)
.where(Condition.column(User$Table.USER_NAME).is(name))
.queryList();
for (int i = 0; i < list.size(); i++) {
adapter.add(String.valueOf(list.get(i).age));
}
listView.setAdapter(adapter);
return view;
}
Recommended Posts