0
Mac/Windows用のアプリを作った。これらのOSでは、JFileChooserを使用して自分のコンピュータからファイルを選択できます。しかし、私はアンドロイド用の私のアプリのモバイル版を作るつもりです。ここに挙げた機能のコードはデスクトップOS用です:Android:選択したファイルを読み込んで文字列を返す関数
public static String readFile() {
JFileChooser fc;
File file;
fc = new JFileChooser(defaultPath);
if (fc.showOpenDialog(new JFrame()) == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
} else {
return null;
}
try {
Scanner reader = new Scanner(file);
content = reader.useDelimiter("\\A").next();
} catch (IOException e) {
System.exit(0);
}
return content;
}
私の質問は次のとおりです。Androidで動作させるにはどうすればいいですか?
'JFileChooser'は、Android上で存在し、以来、ブロッキングしないためにはAndroid上にUI(例えば 'showOpenDialog()')は存在せず、あなたのUI作業(メインアプリケーションスレッド上)とディスクI/O(バックグラウンドスレッド上)を分離する必要があるので、単一の「機能」ではなく、ここにあるようには見えません。 – CommonsWare
ファイルチューザを使用せずに、Android上でファイルを読む簡単な方法はありますか? –
その部分は 'try' /' catch'ブロックにあるものと変わりありませんが、 'Scanner'を使う以外にJavaでコンテンツを読む方法は他にもありますが、そのI/O作業をする必要があります(I/Oが進行している間はUIをフリーズしません)。 – CommonsWare