在Android应用程序中从计算机显示真实设备中的图像

时间:2010-11-30 04:49:21

标签: android image bitmap

我想将系统外部文件夹中的图像加载到我的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卡路径,那么我怎么能在运行时呢?

请帮帮我..

谢谢大家......

3 个答案:

答案 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卡路径