我们正在处理加载图像的课程中的代码。我们正在尝试使用仿真器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
}
}
我们正在模拟器上使用冷启动。 我们已经查看了其他文章,这些文章建议您不能使用仿真器相机将图片保存到仿真器。这是否意味着我们需要一个真实的设备来测试此代码?
答案 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.运行您的应用程序,然后选择相同的模拟器