我试图显示一个图像,其路径存储在数据库中。
我在所有位置上进行迭代,并为每个位置显示一个标记。然而,通过路径加载照片存在一些问题(标记线)。
private void loadLocations() {
dataSource.open();
ArrayList <LocationEntry> locations = dataSource.getLocationsFromTrack(trackId);
dataSource.close();
for(int i=0; i<locations.size(); i++)
{
map.addMarker(new MarkerOptions()
.position(locations.get(i).getCoordinates())
.title(locations.get(i).getName())
.snippet(locations.get(i).getSnippet())
.icon(BitmapDescriptorFactory.fromPath(locations.get(i).getPhotoURL()))); //here
}
}
移交给fromPath函数的照片网址如下所示:
'/mnt/sdcard/camtest/26'
我检查了这个位置,我确定那个名字的文件存在。所以BitmapDescriptorFactory在处理文件路径时遇到问题,因为它返回null。任何想法如何解决这个问题?通过其路径获取图像的任何其他方法?
答案 0 :(得分:0)
首先,未设置图像视图,这可能是您获得空指针异常的原因。您可以尝试这两个类和方法调用,以传递存储在SD卡中的图像的位置。
Bitmap bm = BitmapFactory.decodeFile("/mnt/sdcard/camtest/26");
imageView1.setImageBitmap(bm);
和
Drawable d = Drawable.createFromPath(path);
不要忘记清单文件权限:
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>