Получил рабочий код на Kotlin, прошу знающего человека перевести данный код в Java
class MainActivity : AppCompatActivity() {
val SELECT_PHOTO = 1234
lateinit var prefernces: SharedPreferences
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
prefernces = getSharedPreferences("APP", Context.MODE_PRIVATE)
val uriString = prefernces.getString("image_uri", "")
if (uriString != null) {
iv_test.setImageBitmap(bitmapFromUri(Uri.parse(uriString)))
}
btn_pick.setOnClickListener {
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT)
intent.setType("image/*")
startActivityForResult(intent, SELECT_PHOTO)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == SELECT_PHOTO && resultCode == Activity.RESULT_OK) {
iv_test.setImageURI(data?.data)
prefernces.edit().putString("image_uri", data?.data.toString()).apply()
}
}
private fun bitmapFromUri(uri: Uri): Bitmap? =
contentResolver.openFileDescriptor(uri, "r")?.fileDescriptor?.let {
BitmapFactory.decodeFileDescriptor(it)
}
}
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Для того чтобы конвертировать Kotlin в Java нужно сделать:
- Перейти -
Menu > Tools > Kotlin > Show Kotlin Bytecode - Дальше нажмите
Decompile - Используйте получившийся Java код.
Так же добавлю сервис от создателей языка программирования Kotlin есть такой сервис который делает то что вам нужно но наоборот то есть конвертируют Java в Kotlin который иногда мне помогает. Так же если все-таки созреете для перехода на котлин то в Android Studio можно все конвертировать автоматически. Вот есть источник где написано как решить вашу проблему разными способами.