Android os の韓国語シラブを学習するための簡単なアプリを作成しています。Android OSで韓国語のファイル名を使用することはできますか? アセット ディレクトリからファイルを取得しようとすると、次の例外が発生します。
07-21 19:33:39.558: W/System.err(7315): java.io.FileNotFoundException: 가.mp3 07-21 19:33:39.558: W/System.err(7315): android.content で。 res.AssetManager.openAssetFd(ネイティブメソッド) 07-21 19:33:39.558: W/System.err(7315): android.content.res.AssetManager.openFd(AssetManager.java:331) 07-21 19:33 :39.558: W/System.err(7315): net.garagefarm.hangulteatcher.MainActivity$3.onClick(MainActivity.java:141) 07-21 19:33:39.558: W/System.err(7315): Android で.view.View.performClick(View.java:4222) 07-21 19:33:39.558: W/System.err(7315): android.view.View$PerformClick.run(View.java:17273) で 07- 21 19:33:39.558: W/System.err(7315): android.os.Handler.handleCallback(Handler.java:615) 07-21 19:33:39.558: W/System.err(7315): at Android.os.Handler.dispatchMessage(Handler.java:92) 07-21 19:33:39.566:W/System.err(7315): android.os.Looper.loop(Looper.java:137) 07-21 19:33:39.566: W/System.err(7315): android.app.ActivityThread.main で(ActivityThread.java:4895) 07-21 19:33:39.566: W/System.err(7315): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 07-21 19:33:39.566: W/ System.err(7315): java.lang.reflect.Method.invoke(Method.java:511) 07-21 19:33:39.566: W/System.err(7315): com.android.internal.os で.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994) 07-21 19:33:39.566: W/System.err(7315): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761) で07-21 19:33:39.566: W/System.err(7315): dalvik.system.NativeStart.main(ネイティブ メソッド) 07-21 19:38:39.495: W/IInputConnectionWrapper(7315): 非アクティブな InputConnection の getSelectedText 07-21 19:38:39.495:W/IInputConnectionWrapper(7315): 非アクティブな InputConnection で setComposingText
ファイル名を「1.mp3」に変更すると、すべて正常に動作します。
ファイルをロードするコードは次のとおりです。
num.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (player.isPlaying()) {
player.stop();
}
player.release();
player = new MediaPlayer();
TextView tv = (TextView)v;
AssetManager manager = parent.getAssets();
try {
FileInputStream mp3Stream =
manager.openFd(tv.getText() + ".mp3").createInputStream();
player.setDataSource(
mp3Stream.getFD());
player.prepare();
player.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
matrixSelected(tv);
}
});
デバッガーから: mText "가" (id=830041403152)
ファイル名はまだ: 가.mp3