gpt4 book ai didi

android - 如何在 Android Gallery3D (cooliris) 中显示特定文件夹?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:02 26 4
gpt4 key购买 nike

我正在使用 Gallery3D (froyo-stable)

我正在尝试制作一个小应用程序,它只显示图库 View 中特定文件夹中的图像。

Uri targetUri = Media.EXTERNAL_CONTENT_URI;
String folderPath = Environment.getExternalStorageDirectory().toString() + "/DCIM/";
int folderBucketId = folderPath.toLowerCase().hashCode();
targetUri = targetUri.buildUpon().appendQueryParameter("bucketId", String.valueOf(folderBucketId)).build();

initializeDataSource()

// Creating the DataSource objects.
final LocalDataSource localDataSource = new LocalDataSource(Gallery.this, targetUri.toString(), false);

但是我有错误

"Error finding album " + bucketId);

CacheService.loadMediaSets. 中:

 Log.e(TAG, "Error finding album " + bucketId);

我该如何解决这个问题?谢谢

最佳答案

假设您需要查找文件夹下文件的路径。

    private String[] mFileStrings;
private File[] listFile;

public void getFromSdcard()
{
File file= new File(android.os.Environment.getExternalStorageDirectory(),"Your Folder Name");

if (file.isDirectory())
{
listFile = file.listFiles();
mFileStrings = new String[listFile.length];

for (int i = 0; i < listFile.length; i++)
{
mFileStrings[i] = listFile[i].getAbsolutePath();
System.out.println("...................................."+mFileStrings[i]);
}
}
}

在我的手机中,我的内存被命名为 sdcard0。因此,为确保您获得正确的路径,您可以使用以下代码。

 String externalpath = new String();
String internalpath = new String();

public void getExternalMounts() {
Runtime runtime = Runtime.getRuntime();
try
{
Process proc = runtime.exec("mount");
InputStream is = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
String line;

BufferedReader br = new BufferedReader(isr);
while ((line = br.readLine()) != null) {
if (line.contains("secure")) continue;
if (line.contains("asec")) continue;

if (line.contains("fat")) {//external card
String columns[] = line.split(" ");
if (columns != null && columns.length > 1) {
externalpath = externalpath.concat("*" + columns[1] + "\n");
}
}
else if (line.contains("fuse")) {//internal storage
String columns[] = line.split(" ");
if (columns != null && columns.length > 1) {
internalpath = internalpath.concat(columns[1] + "\n");
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println("Path of sd card external............"+externalpath);
System.out.println("Path of internal memory............"+internalpath);
}

替代方案:

您也可以使用 3d 旋转木马来显示图像,使用 renderscrip 作为替代。

http://code.google.com/p/android-ui-utils/downloads/detail?name=CarouselExample.zip .

生成的快照。 Carousel 3d 在 Jelly Bean 上进行了测试。

enter image description here

关于android - 如何在 Android Gallery3D (cooliris) 中显示特定文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com