CallLogCalls 通話記録の一覧


CallLog.Calls getLastOutgoingCall() で述べたように、通話記録の一覧を取得するメソッドが見当たりません。
そこで、CallLog.Calls をベースに、通話記録の一覧を取得するクラスを作ってみました。

CallLog.Calls の中にある getLastOutgoingCall() removeExpiredEntries() はそのまま出来ました。
addCall() は非公開のAPIを多用しているため、実装できませんでした。
新たに getRecordList() 通話記録の一覧を取得するメソッド を追加しました。

ソースコードは code.google に置いています。


CallLog.Calls getLastOutgoingCall()


API 8 から CallLog.Calls.getLastOutgoingCall() というメソッドが公開されています。
一番最後に電話した先(発信)の電話番号を取得するものです。
ソースを見ると、ContentResolver から取得しています。

通話記録の一覧を取得するメソッドがあってもいいと思うが、見当たりませんね。
CallLog.Calls の中には addCall() や removeExpiredEntries() もありますが、これらは非公開です。

public static String getLastOutgoingCall(Context context) {
final ContentResolver resolver = context.getContentResolver();
Cursor c = null;
try {
	c = resolver.query(
		CONTENT_URI,
		new String[] {NUMBER},
		TYPE + " = " + OUTGOING_TYPE,
		null,
		DEFAULT_SORT_ORDER + " LIMIT 1");
	if (c == null || !c.moveToFirst()) {
		return "";
	}
	return c.getString(0);
} finally {
	if (c != null) c.close();
}
}

参考
Android Developers: CallLog.Calls


ドコモ 2012 夏モデル


ドコモ 2012 夏モデル が発表されました。
携帯電話は 16機種で、全てが Android 4.0 対応のスマートフォンです。
フィーチャーフォン (ガラ携) がゼロという思いきった作戦です。

そろそろ 4.0 対応機に乗り換えるか。

参考
ドコモ 報道発表 : 2012夏モデルに19機種を開発
ASCII.jp : ドコモ発表会、アニメ見放題、iPhoneはナシ、WPは冬までに!
日経トレンディ : NTTドコモがスマホ夏モデル17機種、スマホ版らくらくホンも投入


Android の FTPS (FTP on SSL) Client


Android の FTP Client をベースに FTPS (FTP on SSL) Client を作成しました。

ポイントは2つ。
(1) Apache Commons Net の FTPClient の代わりに FTPSClient を使用する。
 これで制御チャネルは SSL 対応になります。
 
(2) execPROT(“P”) を実行する。
 デフォルトではデータチャネルは平文です。
 上記を実行することで、暗号化されます。

ソースコードは code.google に置いています。

参考
Apache Commons Net : FTPSClient – execPROT

wikipedia: FTPS
データ転送チャネル(PORTまたはPASVコマンドで作成されるチャネル)での通信を暗号化する場合、PROTコマンドを用いて保護レベルをP (Private) に設定する必要がある。


Android の FTP Client


Apache Commons Net を使用して Android 用の FTP Client を作成しました。
Apache Commons Net は、FTP プロトコルを素直に実装しています。
サンプルコードを参考に簡単に実現できました。

Android では、Active mode は使用できないみたいなので、Passive mode を使用しました。
なお、アップロードするファイルとダウンロードするファイルは固定です。
ファイルを選択できるよう改変にすれば、簡易的な FTP Client アプリが出来るはず。

ソースコードは code.google に置いています。

参考
Apache Commons Net
Apache Commons Net : FTPClient
Jakarta Commonsによるネットワークプログラミング FTP
アクティブFTPとパッシブFTP