手动保存jpg到模拟器
manually save jpg to emulator
我们正在处理加载图像的课程中的代码。我们正在尝试使用模拟器来做到这一点 API 26 Play Store active 我们在模拟器上没有 jpg 图片。 Device File Explore 让我们上传一个 jpg。我们尝试了各种文件夹,但没有成功。
我们的问题是在 Device File Explore 中将 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
}
}
并且我们在模拟器上使用冷启动。
我们查看了其他建议您不能使用模拟器相机将图片保存到模拟器的帖子。这是否意味着我们需要一个真实的设备来测试这段代码?
对于模拟器,您似乎需要使用 Dev Tools 扫描模拟器,但另一个问题似乎是弹出 google 播放服务的缓存,并且需要清除 google 播放商店。在解决这个问题的过程中,我们尝试了很多修复程序,但不确定所有步骤的顺序。至于在哪里上传我们确定使用此路径的jpg
/mnt/sdcard/DCIM/water.jpg 当您找到 DCIM 时,右键单击它并 select 上传
这里有一个 link 可能对 HELP LINK
有帮助
Grendel 的回答是可行的,但我想提供一组不太密集的步骤
1. 加载有问题的应用程序
2. 打开 AVD 管理器和 select 您使用的模拟器旁边的向下小图标
3. 点击 Wipe Data(建议保留 Emulator setting Quick Boot)<- other topic
4.将你的jpg存储在这个路径Storage->Self->Primary-DCIM
5. 这是通过右键单击 DCIM select 上传导航到 jpg
完成的
6.关闭AVD管理
7. 运行 您的应用和 select 相同的模拟器
我们正在处理加载图像的课程中的代码。我们正在尝试使用模拟器来做到这一点 API 26 Play Store active 我们在模拟器上没有 jpg 图片。 Device File Explore 让我们上传一个 jpg。我们尝试了各种文件夹,但没有成功。 我们的问题是在 Device File Explore 中将 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
}
}
并且我们在模拟器上使用冷启动。 我们查看了其他建议您不能使用模拟器相机将图片保存到模拟器的帖子。这是否意味着我们需要一个真实的设备来测试这段代码?
对于模拟器,您似乎需要使用 Dev Tools 扫描模拟器,但另一个问题似乎是弹出 google 播放服务的缓存,并且需要清除 google 播放商店。在解决这个问题的过程中,我们尝试了很多修复程序,但不确定所有步骤的顺序。至于在哪里上传我们确定使用此路径的jpg /mnt/sdcard/DCIM/water.jpg 当您找到 DCIM 时,右键单击它并 select 上传
这里有一个 link 可能对 HELP LINK
有帮助Grendel 的回答是可行的,但我想提供一组不太密集的步骤
1. 加载有问题的应用程序
2. 打开 AVD 管理器和 select 您使用的模拟器旁边的向下小图标
3. 点击 Wipe Data(建议保留 Emulator setting Quick Boot)<- other topic
4.将你的jpg存储在这个路径Storage->Self->Primary-DCIM
5. 这是通过右键单击 DCIM select 上传导航到 jpg
完成的
6.关闭AVD管理
7. 运行 您的应用和 select 相同的模拟器