Получил рабочий код на 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 нужно сделать:

  1. Перейти - Menu > Tools > Kotlin > Show Kotlin Bytecode
  2. Дальше нажмите Decompile
  3. Используйте получившийся Java код.

Так же добавлю сервис от создателей языка программирования Kotlin есть такой сервис который делает то что вам нужно но наоборот то есть конвертируют Java в Kotlin который иногда мне помогает. Так же если все-таки созреете для перехода на котлин то в Android Studio можно все конвертировать автоматически. Вот есть источник где написано как решить вашу проблему разными способами.

→ Ссылка