Intereting Posts

Использование Active Android в проекте Kotlin

Я пытаюсь использовать Active Android (ORM DataBase) в проекте My Kotlin

Но когда я сохраняю вход EditText, моя программа всегда сбой!

Все программные коды доступны в Gitlab.com и с открытым исходным кодом, я также прошу людей, у которых есть возможность изменить мой проект, чтобы применить его к git, я очень люблю вас : – *

Мой класс Котлина:

  • MainActivity.kt
  • AppController.kt
  • ModelRequest.kt

MainActivity.kt

... import ir.devapp.mlife.model.ModelRequest class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val btnMainSubmit: Button = findViewById(R.id.btn_main_submit) val btnMainCancel: Button = findViewById(R.id.btn_main_cancel) val edtMainType: EditText = findViewById(R.id.edt_main_type) val edtMainName: EditText = findViewById(R.id.edt_main_name) val edtMainInfo: EditText = findViewById(R.id.edt_main_info) val txvMainShow: TextView = findViewById(R.id.txv_main_show) btnMainSubmit.setOnClickListener{ var name:String = edtMainName.text.toString() var type:String = edtMainType.text.toString() var info:String = edtMainInfo.text.toString() val model:ModelRequest = ModelRequest() model.adItems(type,name,info) model.save() Toast.makeText(this,"Hello World...",Toast.LENGTH_SHORT).show() } btnMainCancel.setOnClickListener{ var model:ModelRequest = ModelRequest.random txvMainShow.text = model.mainName + " - " + model.mainInfo + " - " + model.mainType } } } 

AppController.kt

 ... import com.activeandroid.ActiveAndroid import com.activeandroid.Cache.getContext import com.activeandroid.Configuration open class DatabaseTestCase : Application() { val DB_NAME = "test.db" fun setUp() { val configuration = Configuration.Builder(getContext()) .setDatabaseName(DB_NAME) ?.setDatabaseVersion(1) ?.create() ActiveAndroid.initialize(configuration) } fun tearDown() { getContext()?.deleteDatabase(DB_NAME) ActiveAndroid.dispose() } } 

ModelRequest.kt

 import com.activeandroid.Model import com.activeandroid.annotation.Column import com.activeandroid.annotation.Table import com.activeandroid.query.Select @Table(name = "model_request") open class ModelRequest : Model { @Column(name = "main_type") var mainType: String? = null @Column(name = "main_name") var mainName: String? = null @Column(name = "main_info") var mainInfo: String? = null val all: List<ModelRequest> get() = getMany(ModelRequest::class.java, "name") constructor() : super() {} constructor(main_type: String, main_name: String, main_info: String) { this.mainType = main_type this.mainName = main_name this.mainInfo = main_info } companion object { val random: ModelRequest get() = Select().from(ModelRequest::class.java).executeSingle() val mainName: String get() { val ModelRequest = Select().from(ModelRequest::class.java).executeSingle<ModelRequest>() return ir.devapp.mlife.model.ModelRequest.mainName } val driverInfo: ModelRequest get() = Select().from(ModelRequest::class.java).executeSingle() } fun adItems(main_type: String, main_name: String, main_info: String){ this.mainType = main_type this.mainName = main_name this.mainInfo = main_info } } 

Обновить :

Это мой StackTrace (LogCat в Android Studio 3.0.1):

И приведенный выше код указывает на эту строку программы