メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2011年4月29日金曜日

[Android][お勉強] ファイルシステム

AndroidはLinuxが動いているので、完全なルートファイルシステムがマウントされているそうで。

とういうことで早速。

まずはプロジェクト作成。


$ android create project -n myfiles -t 7 -p /home/konno/work/t/myfiles -k jp.co.qsdn.android -a MyFiles
 


で、MyFiles.java修正。

package jp.co.qsdn.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

import java.io.*;

public class MyFiles extends Activity
{
private int counter = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText(createFileView("/"));
setContentView(textView);
}

protected String createFileView(String fileName) {
File f = new File(fileName);
String s = fileName + "\n";
counter++;
if (counter >= 10) return s;
if (f.isDirectory() ) {
File fls[] = f.listFiles();
for (int i=0;i<fls.length;i++) {
s = s + createFileView(fls[i].getPath());
}
}
return s;
}
}
 

というどうしょうもないActivityに。

で、コンパイル。

$ ant debug
 


で、実機へぽい。

すると画面には・・・・

/
/dev
/dev/pts
/dev/socket
/dev/socket/property_service
/dev/socket/void
・・・
 

なんてなのが表示された。

ふーん。。。

パッケージは

/data/data/パッケージ名
 

と言う感じで設置されるらしい。

入出力する際は、大きなデータを書き込むとI/Oエラーになる。
だって領域小さいもんね。

SDカードは

/sdcard
 

なんですかね。。。
SDカードに書き込む際は、WRITE_EXTERNAL_STORAGEパーミッションを要求しとかないとダメとのこと。(マニフェストファイル)

そんだけー
.

0 コメント: