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)
}
这是什么,我在这里需要做什么?即使Java令人恶心,我也开始后悔使用Kotlin。预先感谢
答案 0 :(得分:1)
改为使用此:
override fun getParams(): MutableMap<String, String> {
val parameters = HashMap<String, String>()
parameters.put("klein", imageString)
return parameters
}
科特林有两种形式的Map对象:Map和MutableMap。 MutableMap等于Java的Map,而Map是Kotlin自己的东西。
答案 1 :(得分:0)
在val关键字后将template<class T, class... Assertions> void my_function();
template <class list_t, class list_t::value_type>
void my_function() { }
更改为my_function()
。 kotlin自动为变量创建get方法,并且您声明了params
,因此getter方法将为{{ 1}}与预定义方法冲突。