first commit

This commit is contained in:
2018-11-02 17:21:42 +01:00
commit d6374a8cd5
41 changed files with 855 additions and 0 deletions

View File

@ -0,0 +1,45 @@
package de.htwk.s3
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
val SAVED_PARCEL_KEY = "saved_parcel_key"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
val intent = Intent(this,SecondActivity::class.java)
val parameterObject = ParameterObject(editText.text.toString(),checkBox.isChecked,seekBar.progress)
intent.putExtra(SecondActivity.PARAMETER_OBJECT_KEY,parameterObject)
startActivity(intent)
}
}
override fun onSaveInstanceState(outState: Bundle?) {
super.onSaveInstanceState(outState)
val parameterObject = ParameterObject(editText.text.toString(),checkBox.isChecked,seekBar.progress)
outState?.putParcelable(SAVED_PARCEL_KEY,parameterObject)
}
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
super.onRestoreInstanceState(savedInstanceState)
savedInstanceState?.let {
if (it.containsKey(SAVED_PARCEL_KEY)){
val parameterObject: ParameterObject? = it.getParcelable(SAVED_PARCEL_KEY)
Log.i("Parcel",parameterObject.toString())
editText.setText(parameterObject?.string)
checkBox.isChecked = parameterObject?.bool ?: false
seekBar.progress = parameterObject?.int ?: 50
}
}
}
}

View File

@ -0,0 +1,33 @@
package de.htwk.s3
import android.os.Parcel
import android.os.Parcelable
data class ParameterObject(val string: String?, val bool: Boolean, val int: Int) : Parcelable{
constructor(parcel: Parcel) : this(
parcel.readString(),
parcel.readByte() != 0.toByte(),
parcel.readInt()
) {
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(string)
parcel.writeByte(if (bool) 1 else 0)
parcel.writeInt(int)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<ParameterObject> {
override fun createFromParcel(parcel: Parcel): ParameterObject {
return ParameterObject(parcel)
}
override fun newArray(size: Int): Array<ParameterObject?> {
return arrayOfNulls(size)
}
}
}

View File

@ -0,0 +1,29 @@
package de.htwk.s3
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_second.*
class SecondActivity : AppCompatActivity() {
companion object {
val EDITTEXT_KEY = "edittext_key"
val CHECKBOX_KEY = "checkbox_key"
val SEEKBAR_KEY = "seekbar_key"
val PARAMETER_OBJECT_KEY = "parameter_object_key"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
intent.extras?.let {
if(it.containsKey(PARAMETER_OBJECT_KEY)) {
val parameterObject: ParameterObject? = it.getParcelable(PARAMETER_OBJECT_KEY)
textView.text = parameterObject?.string
textView2.text = parameterObject?.bool.toString()
textView3.text = parameterObject?.int.toString()
}
}
}
}