Android kotlin - загрузить изображение с ошибкой залпа: случайное переопределение: следующие объявления имеют одинаковую подпись JVM - PullRequest
0 голосов
/ 28 сентября 2018
fun UploadToServer(klein: Bitmap, mitte: Bitmap){

        val baos = ByteArrayOutputStream()
        klein.compress(Bitmap.CompressFormat.JPEG, 90, baos)
        val imageBytes = baos.toByteArray()
        val imageString = Base64.encodeToString(imageBytes, Base64.DEFAULT)


        val request = object:StringRequest(Request.Method.POST, "http://www.xxxx.com/uploadimage.php", object: Response.Listener<String> {
            override fun onResponse(response: String) {
                // Display the first 500 characters of the response string.
                Log.d("letsSee", "Success! JSON: " + response)
            }
        }, object: Response.ErrorListener {
            override fun onErrorResponse(volleyError:VolleyError) {
                Toast.makeText(this@UploadImage, "Some error occurred -> " + volleyError, Toast.LENGTH_LONG).show()
            }
        }) {
            protected val params:Map<String, String>

                @Throws(AuthFailureError::class)
                get() {
                    val parameters = HashMap<String, String>()
                    parameters.put("klein", imageString)
                    return parameters
                }

        }
        val rQueue = Volley.newRequestQueue(this@UploadImage)
        rQueue.add(request)

    }

enter image description here

Что это и что мне нужно делать здесь?Я начинаю сожалеть об использовании Kotlin, хотя Java просто отвратительна.Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Используйте это вместо:

override fun getParams(): MutableMap<String, String> {
    val parameters = HashMap<String, String>()
    parameters.put("klein", imageString)
    return parameters
}

У Kotlin есть две формы объекта Map: Map и MutableMap.MutableMap - это Java Map, а Map - это собственная вещь Kotlin.

0 голосов
/ 28 сентября 2018

Измените params на parameter после ключевого слова val. kotlin автоматически создаст метод get для переменной, и вы объявите params, поэтому метод получателя будет getParams, что противоречит предопределенному методу.

...