Appcelerator Titanium for Android で使用しているアプリケーションについてサポートが必要です。
接続されている SD の最初の (ルート) レベルをエミュレーターに表示できる次のコードを取得しました (画像サンプルは次のとおりです)。
/*
*
* Dynamic data,
* taken from the SD card
*
*/
//Get the SD card reference
var dir = Titanium.Filesystem.getFile(Titanium.Filesystem.externalStorageDirectory);
//Get the directory listing
var directoryStr = dir.getParent().getDirectoryListing();
//Convert the listing into an array for display in tableview
var directoryArr = directoryStr.toString().split(',');
//Initialize tabledata
var dirData = [];
for (var i=0; i < directoryArr.length; i++) {
dirData.push({ leftImage:'/images/folder.png', title: directoryArr[i], value: Titanium.Filesystem.externalStorageDirectory + Titanium.Filesystem.separator + directoryArr[i], hasChild:true });
Ti.API.info(Titanium.Filesystem.externalStorageDirectory + directoryArr[i]);
};
//Table view for directories
var tableDirs = Ti.UI.createTableView({
data: dirData
});
それはこれを出力します:
次のコードは、上の画像の Images ディレクトリなど、内部のディレクトリを一覧表示する文字列を提供するはずです。
tableDirs.addEventListener('click', function (e) {
if (e.rowData.hasChild) {
//Get the SD card reference
var secDir = Titanium.Filesystem.getFile(Titanium.Filesystem.externalStorageDirectory + '/' + e.rowData.title);
//Get the directory listing
var secDirStr = secDir.getDirectoryListing();
alert(secDirStr);
};
});
しかし、代わりに、私はこれを取得します:
処理方法がわからないオブジェクトを返します。
時々、次のコードを使用すると:
var dir = Titanium.Filesystem.getFile(Titanium.Filesystem.externalStorageDirectory + '/Images');
ディレクトリの一覧から、ファイル 'deploy.json' が返されます。
どんなポインタでも大歓迎です。私は Android 開発にかなり慣れていないので、明らかな何かが欠けている可能性があります。
前もって感謝します!。