我想将系统外部文件夹中的图像加载到我的Android应用程序中。我使用以下代码,但图像不显示。当我调试它时,Bitmap对象'bitmap'显示为null。我该如何解决这个问题?
ImageView img=(ImageView)findViewById(R.id.myImage);
String fname="C:/Users/Public/Pictures/Garden.jpg";
Bitmap bitmap = BitmapFactory.decodeFile(fname);
img.setImageBitmap(bitmap);
我的实际需求是我的andorid应用程序(在真实设备上)应该显示一些存储在一台计算机中的图像。此应用程序的管理员将一些图像上载到该计算机中的特定文件夹。 Android应用程序将使用IP地址访问这些图像,并将显示这些图像。如果这些图像应该被推送到SD卡路径,那么我怎么能在运行时呢?
请帮帮我..
谢谢大家......
答案 0 :(得分:2)
“外部文件夹”?那是什么? Android只能访问其内部文件系统(即内部存储和SD卡,以及您通过Linux操作系统安装的任何其他内容)。使用Windows路径肯定永远不会起作用。这些数据应该来自哪里?
您需要使用适当的UNIX风格路径,该路径指向手机的内部存储或SD卡,并且应用程序可以访问路径。
答案 1 :(得分:1)
您无法访问系统文件。检查此link
如果您尝试访问SD卡,可以使用以下
ImageView img=(ImageView)findViewById(R.id.myImage);
File imgFile = new File(“/sdcard/Images/image.jpg”);
if(imgFile.exists()){
Bitmap bitmap = BitmapFactory.decodeFile(imgFile);
myImage.setImageBitmap(bitmap );
}
答案 2 :(得分:0)
您无法从Android(模拟器或手机)访问计算机上的文件。您必须将您的应用程序视为独立于其他应用程序运行。
如果您真的不想将图像放在android的drawable文件夹中(并使用R.drawable.imagename访问它,那么您需要将图像推到手机/模拟器的SD卡上并使用SD卡路径