2010-12-29

mediaplayerを作ってみる(14)

ファイルを忍者に置いておきます。

http://sattva.asasvata.net/Entry/28/

前回の遺産がなくなったので、なかなか進みません。
まあ、それだけでもないんですが。

プリファレンスを追加しました。思ったより簡単でした。
というか、簡単なのにしました。

onStop()で、書き込み。


@Override
public void onStop() {
super.onStop();
musicPlayer.stop();

SharedPreferences pref = getSharedPreferences("SDMP", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();

editor.putString("directory_name", musicDirList.get(musicPlayer.getDirNum()));

editor.putString("file_name",
musicFileList.get(musicPlayer.getMusicNum()));

editor.commit();
}

onStart()で、読み込み。

@Override
public void onStart() {
super.onStart();
SharedPreferences pref = getSharedPreferences("SDMP", MODE_PRIVATE);
String dirName = pref.getString("directory_name", "");
String fileName = pref.getString("file_name", "");
int dirNum = 0;
int fileNum = 0;
if (musicDirList.contains(dirName)) {
mflm.musicFileListMaker(dirName, musicFileList);    
addNumList();
if (musicFileList.contains(fileName)) {
dirNum = musicDirList.indexOf(dirName);
fileNum = musicFileList.indexOf(fileName);
}
}
spinner.setSelection(dirNum);
mflm.musicFileListMaker(musicDirList.get(dirNum), fileListForListView);
mflm.musicFileListMaker(musicDirList.get(dirNum), musicFileList);
addNumList();

musicPlayer.setDirNum(dirNum);
musicPlayer.setCount(fileNum);
//listViewの変更と通知
listView.setAdapter(listAdapter);
musicPlayer.setListView(listView);
listView.clearChoices();
listView.setItemChecked(fileNum, true);
if (fileNum == 0) listView.setSelection(fileNum);
else listView.setSelection(fileNum - 1);
}

流れでonItemSelectedとかも変わってますが、
実行するタイミングが変わっただけで、やってることは同じ。

intではなくStringで書き込んだのは、その方がいいかなーと。
ディレクトリやファイルの場所は、追加、削除で変わるので。

まあ、場所が変わると読み込まないので、無かったことになります。
その辺が、簡単の限界。おまけ程度です。

次は、まあ、そのうち。

0 件のコメント:

コメントを投稿