MainActivity.kt---->
package com.example.fredric.litepaltest
import android.content.ContentValues
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import com.example.fredric.litepaltest.bean.Book
import org.litepal.LitePal
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var createDatabase = findViewById<Button>(R.id.create_database)
createDatabase.setOnClickListener{
LitePal.getDatabase()
}
var addData = findViewById<Button>(R.id.add_data)
addData.setOnClickListener{
var book = Book(null,"Dan Brown","The Da Vinci Code",16.96,454,"Unknown")
book.save()
}
var updateData = findViewById<Button>(R.id.update_data)
updateData.setOnClickListener{
// var book = Book(null,"Dan Brown","The Lost Symbol",19.95,510,"Unknown")
// book.save()
// book.price = 10.99
// book.save()
var values = ContentValues()
values.put("price",14.95)
values.put("press","Anchor")
LitePal.updateAll(Book::class.java,values,"name = ? and author = ?","The Lost Symbol","Dan Brown")
}
var deleteData = findViewById<Button>(R.id.delete_data)
deleteData.setOnClickListener{
LitePal.deleteAll(Book::class.java,"price < ?","15")
}
var queryData = findViewById<Button>(R.id.query_data)
queryData.setOnClickListener{
var books = LitePal.findAll(Book::class.java)
for(book in books) {
Log.d("MainActivity", "book name is :"+ book.name)
Log.d("MainActivity", "book author is :"+ book.author)
Log.d("MainActivity", "book pages is :"+book.pages)
Log.d("MainActivity", "book price is :"+book.price)
Log.d("MainActivity", "book press is :"+book.press)
}
}
}
}
package com.example.fredric.litepaltest
import android.content.ContentValues
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import com.example.fredric.litepaltest.bean.Book
import org.litepal.LitePal
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var createDatabase = findViewById<Button>(R.id.create_database)
createDatabase.setOnClickListener{
LitePal.getDatabase()
}
var addData = findViewById<Button>(R.id.add_data)
addData.setOnClickListener{
var book = Book(null,"Dan Brown","The Da Vinci Code",16.96,454,"Unknown")
book.save()
}
var updateData = findViewById<Button>(R.id.update_data)
updateData.setOnClickListener{
// var book = Book(null,"Dan Brown","The Lost Symbol",19.95,510,"Unknown")
// book.save()
// book.price = 10.99
// book.save()
var values = ContentValues()
values.put("price",14.95)
values.put("press","Anchor")
LitePal.updateAll(Book::class.java,values,"name = ? and author = ?","The Lost Symbol","Dan Brown")
}
var deleteData = findViewById<Button>(R.id.delete_data)
deleteData.setOnClickListener{
LitePal.deleteAll(Book::class.java,"price < ?","15")
}
var queryData = findViewById<Button>(R.id.query_data)
queryData.setOnClickListener{
var books = LitePal.findAll(Book::class.java)
for(book in books) {
Log.d("MainActivity", "book name is :"+ book.name)
Log.d("MainActivity", "book author is :"+ book.author)
Log.d("MainActivity", "book pages is :"+book.pages)
Log.d("MainActivity", "book price is :"+book.price)
Log.d("MainActivity", "book press is :"+book.press)
}
}
}
}
Book.kt-->
package com.example.fredric.litepaltest.bean
import org.litepal.crud.LitePalSupport
data class Book(var id: Int?,var author: String?,var name: String?,var price: Double?,var pages: Int?,var press: String?) :
LitePalSupport()
Category.kt--->
package com.example.fredric.litepaltest.bean
import org.litepal.crud.LitePalSupport
data class Category(
val id: Int?,
val categoryName: String?,
val categoryCode: Int?
) : LitePalSupport()
src/main/assets/litepal.xml--->
<?xml version="1.0" encoding="UTF-8" ?>
<litepal>
<dbname value="BookStore"></dbname>
<version value="2"></version>
<list>
<mapping class="com.example.fredric.litepaltest.bean.Book"></mapping>
<mapping class="com.example.fredric.litepaltest.bean.Category"></mapping>
</list>
</litepal>
activity_main.xml--->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/create_database"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Create Database" />
<Button
android:id="@+id/add_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add Data" />
<Button
android:id="@+id/update_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Update Data" />
<Button
android:id="@+id/delete_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Delete Data" />
<Button
android:id="@+id/query_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Query Data" />
</LinearLayout>
app/build.gradle---->
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'org.litepal.android:core:2.0.0'
}
运行效果:
评论
发表评论