DAVdroid - Android用CalDAV/CardDAV同期アプリ

DAVdroid

2021年10月23日: このDAVDroid後継アプリのDAVx5について書きました。DAVdroidは「法的な理由」により2018年12月31日リリースのVer2.1よりDAVx5に名前が変更になっています。つまり、DAVDroidではなくDAVx5を追いかけてください。

「がとらぼ」ではこれまで何度かCalDAV/CardDAV関係の記事を書いて来たが、今回は再びAndroid用のCalDAV/CardDAV連携アプリ。

DAVdroid 1
こちらは以前に紹介したCalDAV-Sync。名前のとおり、CalDAV規格のカレンダーサーバと同期するアプリ。

DAVdroid 2
こちらは以前に紹介したCardDAV-Sync。CardDAV規格の連絡帳サーバと同期するアプリ。

今回のDAVdroidはCalDAVとCardDAVの両方に1つのアプリで同期できる。
一応オープンソースということになっているが、入手ルートが複数あって例えばGoogle Playなどから入手しようとすると200円ちょっとの有料版となる。今回はDAVdroid公式サイトからリンクされていて無料版(寄付版)を入手できるF-Droidを挙げておく。英語のページだが、ページ中段あたりの"Packages"の少し下あたり"download apk"というリンクがあるのでそれをクリックしてアプリをダウンロードする。
以下はインストールして使えるようにするところまで。

DAVdroid 3
Androidの設定画面の「セキュリティ」の中の「提供元不明のアプリ」のスイッチをOnにする。(インストールが終わったら忘れずにOffに戻すこと。) ダウンロードしたDAVdoidのAPKファイルを実行する。
インストールの確認画面が出るので[インストール]を押す。

DAVdroid 4
インストールが終わると実行確認が表示されるので[開く]を押す。間違えて[完了]を押した場合はドロワーから緑色のDavdroidのアイコンを探して押す。

DAVdroid 5
寄付について表示されるが、使い物になるかどうかも判らない時点では「たぶん後で」を選択するのが妥当と思われる。

DAVdroid 6
省電力関係の確認が表示されるので「DAVDROID用にオフにする」(⬅ちょっと意味不明)を選択する。

DAVdroid 7
DAVdroidがバックグラウントで動き続けることを許可したいので「はい」を選択。(停められちゃうと自動同期できなくなるので)

DAVdroid 8
OpenTasksについて表示されるので一応入れておく。「OPENTASKSをインストール」を選択。

2017年5月6日追記:
言葉足らずだった。どうしても要らなきゃ入れなくても可。

DAVdroid 9
Google PlayのOpenTasksのページが開くので[インストール]を押してインストールする。

DAVdroid 10
権限の確認は[同意する]を選択。

DAVdroid 11
DAVdroidが利用可能になったというメッセージが出たら右下の[+]を押して所持しているCalDAV/CardDAVアカウントを登録する。

DAVdroid 12
CalDAV/CardDAVアカウントを登録の場合は基本的には「URLとユーザー名でログイン」を選択してその下にCalDAVまたはCardDAVまたはその両方のサーバーのURLを入力、次にCalDAVまたはCardDAVまたはその両方のアカウント名を入力、そのパスワードを入力する。CalDAVとCardDAVのサーバーが違う場合やCalDAVとCardDAVのサーバーは同じだけどアカウント・パスワードが違う場合はとりあえず片方だけ登録して後でもう一つアカウントを登録する。CalDAV/CardDAVの識別は自動で行われる。

DAVdroid 13
意味が解らないかもだがAndroid端末内での「アカウント」識別用としてアカウントを登録する必要があるようだ。Android端末内で「CalDAV/CardDAV同期用のアカウント」または「CalDAV同期用のアカウント」、「CalDAV同期用のアカウント」を作成する。Android内に既に存在するアカウント名は指定しない方が無難。

DAVdroid 14
新しく登録された同期用アカウント(オレンジ色のやつ)が中央に大きく派手に表示されている。特に用は無いがとりあえず左上のハンバーガーメニューを見てみる。

DAVdroid 15
「設定」くらいしか用はなさそう。

DAVdroid 16
一つ戻ってオレンジ色のアカウントをクリックする。
上の画像では一つのアカウントでCardDAV/CalDAVが利用できるタイプのサーバーのNextCloudにアクセスしている。NextCloudに登録しているContactsという名前の連絡帳とPersonalというカレンダーが表示されているのでそれを利用するために連絡帳名・カレンダー名の左のチェックボックスにチェックする。初期値は未チェックなのでせっかく登録したCalDAV/CardDAVが非同期で何も機能しない点に注意。

DAVdroid 17
DAVdroidインストール後に初めて同期する連絡帳名・カレンダー名を選択した後はAndroid画面一番上の通知エリアに[!]が表示される筈なので通知エリアを開く。(多くは指で画面上から下方向にスワイプする)

DAVdroid 18
アクセス許可を求めている筈。
クリックする。

DAVdroid 19
カレンダー・連絡先・OpenTasksにアクセスする許可が必要なのでそれぞれのボタンを押す。

DAVdroid 20
この画像は「カレンダーアクセス許可の要求」を押したときに表示されるもの。この記事的にはもちろん「許可」を押す。

DAVdroid 21
許可を与えたら、画面上部の同期アイコンを押す。これでCalDAVサーバのカレンダー、CardDAVサーバの連絡帳と同期する。
以後は定期的に自動同期とAndroid端末内でデータ登録・修正・削除を行ったらその時点で自動再同期する。もちろん今行っているようにいつでも手動同期もできる。
ここまで済んだら基本的にはDAVdroidは手動同期以外ではほとんど触ることがなくなる筈。あとはカレンダーアプリや連絡帳アプリの出番となる。

DAVdroid 22
こちらは連絡帳。Androidの標準的な連絡帳(連絡先)アプリは基本的に利用できる筈。連絡帳(連絡先)アプリを開くとCardDAVで登録した連絡先が表示される。
また、連絡帳(連絡先)アプリで新しい連絡先を登録しようとしたらどの連絡帳に保存するか確認を求められる筈なので「DAVdroidアドレス帳+CardDAVの連絡帳名」を選択すればCardDAVサーバに新しい連絡先が登録される。(もちろんサーバに保存されるのは自動/手動再同期後)

DAVdroid 23
カレンダーについてはアプリによって使えたり使えなかったり。
そのカレンダーアプリ専用のカレンダーしか利用できないのはダメなので、操作・表示するカレンダーの種類を選択できるカレンダーアプリを用意したい。「Googleカレンダー」アプリは複数カレンダー対応なのでDAVdroidで同期しているCalDAVカレンダーを利用できる。(けどあまり使い勝手が良くないんだよなぁ。)
上の画像はGoogle Playから入手した「ビジネスカレンダー2・仕事用」(Appgenix Software)というアプリのカレンダーの選択の設定画面。DAVdroidで同期しているCalDAVサーバの「Personal」カレンダーを選択した。

DAVdroid 24
カレンダー選択後の「ビジネスカレンダー2・仕事用」の週表示画面。同期したCalDAVサーバに登録した予定が表示された。もちろん「ビジネスカレンダー2・仕事用」で登録・変更・削除した予定はCalDAVサーバに反映される。(同期したらね)

Androidで(Googleのカレンダーを除く)複数カレンダーを任意に選択利用できるカレンダーアプリは皆無ではないけど多くもないので自分にとって使い物になるのを探すのがちょっと大変。
個人的には前出の「ビジネスカレンダー2・仕事用」とか「aCalendar」(Tapir Apps GmbH)、「Calendar Pad Pro」(MoaiApps)あたりがカレンダー選択可能な中では好みなカレンダーアプリ。でも、Calendar Pad Proはここ暫く挙動がおかしかったような気も・・

関連記事:

NanoPi NEO2 最大クロック引き下げ後のUnixBench

NanoPi NEO2

数日前にarmbianは(SoCが) H5の機種向けにDRAMのクロック速度を672MHzから624MHzに約7%引き下げる設定ファイルが入った。それとは別にCPUの最大クロックも1008MHzから912MHzに約10%ほど引き下げる設定ファイルも入っている。OSが起動しないことがあるのでその対処らしい(間違ってたらスマンス)が結構大胆に引き下げてくれるもんだなぁ。

この記事はNanoPi NEO2用に書いてるけどクロック引き下げの対象はNanoPi NEO2だけでなくOrangePi PC 2やOrangePi Prime、OrangePi Zero Plus 2、NanoPi M1 Plus2らしいけど、未販売の機種も入ってるので販売中で実際に影響を受けるのはNanoPi NEO2 と OrangePi PC 2くらい?

早速armbianの最新版をビルドしてUnixBenchで測ってみた。

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: nanopineo2: GNU/Linux
   OS: GNU/Linux -- 4.10.0-gatolabo-sun50iw2 -- #3 SMP Sat Apr 29 12:24:39 JST 2017
   Machine: aarch64 (unknown)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   14:31:43 up 26 min,  1 user,  load average: 0.15, 0.03, 0.01; runlevel 5

------------------------------------------------------------------------
Benchmark Run: Sat Apr 29 2017 14:31:43 - 15:00:07
0 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        4285257.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      488.6 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1095.6 lps   (29.6 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        128956.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           39086.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        299577.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              357585.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  58523.9 lps   (10.0 s, 7 samples)
Process Creation                               2808.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1751.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    554.7 lpm   (60.1 s, 2 samples)
System Call Overhead                         644220.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    4285257.4    367.2
Double-Precision Whetstone                       55.0        488.6     88.8
Execl Throughput                                 43.0       1095.6    254.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     128956.2    325.6
File Copy 256 bufsize 500 maxblocks            1655.0      39086.5    236.2
File Copy 4096 bufsize 8000 maxblocks          5800.0     299577.0    516.5
Pipe Throughput                               12440.0     357585.9    287.4
Pipe-based Context Switching                   4000.0      58523.9    146.3
Process Creation                                126.0       2808.7    222.9
Shell Scripts (1 concurrent)                     42.4       1751.3    413.0
Shell Scripts (8 concurrent)                      6.0        554.7    924.6
System Call Overhead                          15000.0     644220.7    429.5
                                                                   ========
System Benchmarks Index Score                                         298.9

------------------------------------------------------------------------
Benchmark Run: Sat Apr 29 2017 15:00:07 - 15:28:37
0 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       17136928.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1952.3 MWIPS (10.0 s, 7 samples)
Execl Throughput                               2712.4 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        214728.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           62979.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        594746.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1425779.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 256029.3 lps   (10.0 s, 7 samples)
Process Creation                               6800.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4473.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    573.9 lpm   (60.2 s, 2 samples)
System Call Overhead                        2386890.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   17136928.1   1468.5
Double-Precision Whetstone                       55.0       1952.3    355.0
Execl Throughput                                 43.0       2712.4    630.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     214728.3    542.2
File Copy 256 bufsize 500 maxblocks            1655.0      62979.3    380.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     594746.0   1025.4
Pipe Throughput                               12440.0    1425779.2   1146.1
Pipe-based Context Switching                   4000.0     256029.3    640.1
Process Creation                                126.0       6800.9    539.8
Shell Scripts (1 concurrent)                     42.4       4473.5   1055.1
Shell Scripts (8 concurrent)                      6.0        573.9    956.6
System Call Overhead                          15000.0    2386890.0   1591.3
                                                                   ========
System Benchmarks Index Score                                         771.2

インデックススコアだけ比較してみるとシングルはクロック引き下げ前の前回が301.9、今回が298.9なので1%減少。
4パラレルでは前回が761.2で今回が771.2で(何故か)1%増加。
1%じゃ誤差の範囲なんだけど、10%の引き下げどこ行った?

ところで、未だにNanoPi NEO2用のarmbianではCPUクロックが幾つで動作しているのか知る方法が無い。
つまり、これまでも1008MHz(1.0GHz)で動いていたかもわからないし、現在も912MHzで動いているか不明。クロック固定なのか動的なのかもわからない(たぶん固定だろうけど)。
当然、NanoPi NEO(無印)でCPUクロックを変更する記事のようなことは全て行えない。

今のところ、この機種用のarmbianはこのCPU/DRAMクロック周りが全然整っていないことが最大の問題だよねぇ。

関連記事:

Up