我正在编写一个包含ImageView的Android应用。要包含在视图中的图像驻留在模拟器的本地app目录中。图像未显示在视图中。下面给出了用于显示图像的相关XML和方法。
图像文件是“png”格式文件,可以从本地app目录打开。 getFilesDir()返回的路径包括完整路径“/data/data/net.vitalrecord.android/files”。此路径指定在开发系统上不存在,但在使用DDMS文件资源管理器时确实存在。
非常感谢任何有关此问题的帮助。
感谢。
布局XML:
<AbsoluteLayout>
......
<ImageView
android:id="@+id/picture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="100px"
android:layout_y="100px"/>
</AbsoluteLayout>
方法: public void checkFilesExists(){
.....
try {
Context context = getApplicationContext();
FILENAME = getString(R.string.MedicalImage);
fis = openFileInput(FILENAME);
int size = fis.available();
byte[] buffer = new byte[size];
fis.read(buffer);
fis.close();
setContentView(R.layout.medtogoimage);
ImageView iv = (ImageView)findViewById(R.id.picture);
String imagePath = context.getFilesDir() + "/" + FILENAME;
Drawable d = Drawable.createFromPath(imagePath);
iv.setImageDrawable(d);
medtogo.setbMedicalImageFileExists(true);
} catch (IOException e) {
medtogo.setbMedicalImageFileExists(false);
}
答案 0 :(得分:2)
您应该将图像放在res / drawable文件夹中。然后,您可以使用R类获取其引用,或者将其从布局xml文件分配给ImageView。
答案 1 :(得分:0)
您是否尝试将模式设置为MODE_WORLD_READABLE?