暗黙のインテントを使用して、モバイルのカメラ画像ビューアー アプリでさまざまなロンドン チューブ マップを表示しようとしています。アセットフォルダーにtube_map.gif画像ファイルがありましたが、このファイルを読み込もうとすると、アイテムが見つからないと表示されます。指定しているファイル パスが正しくないと思います。私は次のビデオに従っています。唯一の違いは、ビデオでは画像ファイルが電話の SD カードに保存されるのに対し、私の場合はアセット フォルダーに保存されることです。ビデオはこのリンクで見ることができます。私のコードは次のとおりです。
package uk.ac.kingston.mobileTechnology.k1059045.trainCountdown;
import java.io.File;
import uk.ac.kingston.mobileTechnology.k1059045.trainCountdown.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.Toast;
public class ViewTubeMap extends Activity{
String[] maps = {"TUBE","NATIONAL RAIL","OVERGROUND","DLR","TRAMLINK","RIVER BUS","TOURISTS (Tube Map)","TOURISTS (Bus Map)","RAIL CONNECTIONS","TOILET FACILITIES"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//setContentView(R.layout.tube_map_layout);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a Map");
builder.setItems(maps, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
switch(which){
case(0):
makeToast("Case 0");
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File image = new File("assets/tube_map.gif");
intent.setDataAndType(Uri.fromFile(image), "image/*");
startActivity(intent);
break;
case(1):
makeToast("Case 1");
break;
case(2):
makeToast("Case 2");
break;
case(3):
makeToast("Case 3");
break;
case(4):
makeToast("Case 4");
break;
case(5):
makeToast("Case 5");
break;
case(6):
makeToast("Case 6");
break;
case(7):
makeToast("Case 7");
break;
case(8):
makeToast("Case 8");
break;
case(9):
makeToast("Case 9");
break;
}
}
});
builder.create();
builder.show();
}
public void makeToast(String message) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}
私のコードの何が問題なのか、または私の画像にアクセスして電話のカメラ画像ビューアプリに表示するにはどうすればよいですか?ありがとう