手动将jpg保存到模拟器

时间:2018-08-28 16:29:08

标签: image kotlin android-emulator

我们正在处理加载图像的课程中的代码。我们正在尝试使用仿真器API激活26 Play商店,而在仿真器上没有jpg图片。设备文件浏览器将使我们上传jpg。我们尝试了各种没有运气的文件夹。 我们的问题是在设备文件浏览器中将jpg上传到哪里? 代码是Kotlin,上传方法发布在下面

    fun onChooseImage(view:View){
    val intent = Intent()
    intent.type = "image/*"
    intent.action = Intent.ACTION_GET_CONTENT

    val chooser = Intent.createChooser(intent,"Choose Image for Habit")
    startActivityForResult(chooser,CHOOSE_IMAGE_REQUEST)

    Log .d(TAG,"Image was sent" )
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)

    if(requestCode == CHOOSE_IMAGE_REQUEST && resultCode == Activity.RESULT_OK
    && data != null && data.data != null){
        Log.d(TAG,"An Image WAS Choosen")

        val bitmap = tryReadBitmap(data.data)
        bitmap?.let {
            ivIcon.setImageBitmap(bitmap)
            Log.d(TAG,"We Updated and Read Bitmap")
        }
    }
}

private fun tryReadBitmap(data: Uri?): Bitmap?{
    return try{
        MediaStore.Images.Media.getBitmap(contentResolver,data)
    }catch (e:IOException){
        e.printStackTrace()
        null
    }
}

我们正在模拟器上使用冷启动。 我们已经查看了其他文章,这些文章建议您不能使用仿真器相机将图片保存到仿真器。这是否意味着我们需要一个真实的设备来测试此代码?

2 个答案:

答案 0 :(得分:1)

似乎在仿真器中您需要使用Dev Tools BUT扫描仿真器,而另一个问题似乎弹出了Google Play服务的缓存,需要清除Google Play商店。在解决此问题的过程中,我们尝试了很多修复,但不确定顺序是否正确。至于上传jpg的位置,我们肯定会使用此路径 /mnt/sdcard/DCIM/water.jpg转到DCIM时,右键单击它,然后选择“上载”

这是一个可能对HELP LINK有帮助的链接

答案 1 :(得分:1)

Grendel的答案是可行的,但我想提供一些不太密集的步骤
1.加载有问题的应用程序
2.打开AVD管理器,然后选择您要使用的模拟器旁边的小图标
3.单击“擦除数据”(建议保持仿真器设置“快速启动”)<-其他主题
4.将jpg存储在此路径中Storage-> Self-> Primary-DCIM
5.右键单击DCIM,然后选择上载,导航到jpg
6.关闭AVD管理
7.运行您的应用程序,然后选择相同的模拟器