0

我想使用默认的 android 程序打开数据库中的文件...但是我在打开它时遇到了麻烦...我将文件路径存储在我的数据库中(作为字符串),因为最好存储文件路径而不是文件它自己......(从我读到的)但是当我想使用默认的android程序在android中打开它时,它什么也没有......只是空白......我不知道我错了哪一部分,因为日志猫没有显示任何东西......这是我的代码......

String fileId = ((TextView)view.findViewById(R.id.fileid)).getText().toString();
String fileName = ((TextView)view.findViewById(R.id.TextView01)).getText().toString();
String filePath = ((TextView)view.findViewById(R.id.filepath)).getText().toString();

//starting activity intent
Intent intent= new Intent();
intent.setAction(Intent.ACTION_VIEW);

File file = new File("http://10.0.2.2/" + filePath);

MimeTypeMap mime = MimeTypeMap.getSingleton();
String ext = file.getName().substring(file.getName().indexOf(".")+1).toLowerCase();
String type = mime.getMimeTypeFromExtension(ext);

intent.setDataAndType(Uri.fromFile(file), type);

try
{
    startActivity(intent);
}
catch (ActivityNotFoundException e)
{
    Toast.makeText(FileChooser.this, "No Application available to View this file", Toast.LENGTH_SHORT).show();
}

filePath 是 android/untitled.jpg 实际上我在开发 android 方面真的很新...我希望任何人都可以帮助我解决我的问题...

4

1 回答 1

0

我明白了...最后我自己完成了...如果你们中的一个人与我混淆了同样的事情...希望这会有所帮助...

    public void clearCache() 
    {
        fileCache.clear();
    }

    private File getFileFromUrl(String url)
    {
        File f = fileCache.getFile(url);
        try
        {
            URL docUrl = new URL(url);
            HttpURLConnection conn = (HttpURLConnection)docUrl.openConnection();
            conn.setConnectTimeout(30000);
            conn.setReadTimeout(30000);
            conn.setInstanceFollowRedirects(true);
            InputStream is=conn.getInputStream();
            OutputStream os = new FileOutputStream(f);
            Utils.CopyStream(is, os);
            os.close();
            return f;
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
            return null;
        }
    }

    public String GetExtention(String name)
    {
        name = name.replaceAll("%20", " ");
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        String type = name;
        String filenameArray[] = type.split("\\.");
        type = filenameArray[filenameArray.length-1];
        String ext = mime.getMimeTypeFromExtension(type.toLowerCase());
        return ext;
    }

虽然文件缓存是您制作的类...如果需要更多帮助,可以帮助您...

于 2012-07-22T10:02:48.357 回答