0

デフォルトのAndroidプログラムを使用してデータベース内のファイルを開きたい...しかし、開くのに問題があります...データベースにファイルパスを(文字列として)保存します。ファイル自体...(私が読んだものから)しかし、デフォルトのAndroidプログラムを使用してAndroidで開きたい場合、何も起こりません...ただ空白です...どの部分が間違っているのかわかりません。 log cat は何も表示しませんでした...これが私のコードです...

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 に答える