写真の傾きを自動補正させるには!

追記:2017/9/14 v1.0.0 R0017 から、初回起動時にストレージへのアクセス許可を確認するようにしました。起動時に許可していれば、下記の作業は必要ありません。

surflog_ad_storage_permission.png

ログに記録できる写真の傾きを自動補正する方法です。
これは Android 6.0 以上の場合のみ設定が必要になります。それより前のOSではこの処理は必要ありません。

Android 6.0 以上の場合、写真の情報にアクセスするのにアプリ毎にストレージアクセスのパーミション設定が必要になります。
デフォルトでは許可に(ONに)なってないので、上記スクリーンショットの手順で ON にして下さい。これで写真の傾きを自動で補正できるようになります。

アプリからシェア機能を利用している場合は、初回のシェア処理でこのパーミッションを確認して設定するようにダイアログを出してます。そちらで設定済になっている場合は既にONになっているはずです。

自動補正を使わない場合は手動にてアプリのボタン操作で傾きを変えることもできます。

surflog_ad_photo_angle.png

いつもの場所で今海からあがった!

  • 投稿:
  • 更新:2017年9月12日
  • by
  • in

surflog_ad_PullToRefresh_1.png

iOS版は時期リリース予定の v1.0.1 から、Android版は現在βテスト中の v1.0.0 R0007 より、Pull To Refresh(引っ張って更新)による「いつもの場所で今海からあがった!」時に便利に使える機能をインプリメントしました。
これは、新規のログを作成するときに、場所(ホームポイント)、日にち(本日)、時間(現在時刻の2時間前〜2時間のサーフ)をまとめて入力できます。
時間は設定した時間をピッカーのデフォルトにするので、修正する場合も簡単になります。

新規ログの場合だけ入力画面で機能するようになっています。画面を上から引っ張りおろして戻すと自動で入力が完了します。
ホームポイントは予め設定しておく必要があります。

surflog_ad_PullToRefresh_2.png

入力が完了すると、このようになります。

もともと自分で使っていて、波乗りの直後にログを書くことが多く、ほぼホームで波乗りすることが多いので、3項目個別に入力するのが面倒だからこの機能を実装しました(笑)

SurfLog7 for Android オフラインでのログ記録について

Screenshot_20170909-103236.png

サンプルデータについて」でも説明しましたが、TOPページのリスト表示にキャッシュしたサムネイル画像を利用しています。このためネットワークが利用できない環境でログを記録すると天気図が作成できません。(上記の画像のようになります)

とはいえ、波乗りする場所で必ずネットワークが使えるとも限りません。なので、このサムネイル画像を更新するには、ネットワークに繋がる環境に移動したときに、対象ログの詳細画面を開き天気図を表示して下さい。
これで、天気図が新たにキャッシュされTOPのサムネイル画像も自動で更新します。

また、サムネイル画像は、写真に修正が入ると自動で再生成します。なので「写真をローテションして戻す」や「写真を再選択する」等の操作をするとサムネイルを再作成します。

もし「TOPのサムネイル表示が変だなぁー!」となった時は、上記の方法を試してみて下さい。

追記:2017/9/11
v1.0.0 - R0006 β6 より、詳細表示画面にサムネイルを更新するためのボタンを追加しました。
マニュアル参照

SurfLog7 for Android サンプルデータについて

Screenshot_20170911-105100.png

既に公開βのテストは開始しています。それに伴いヘルプページも作成しました。こちらから参照できます。

このアプリは初回起動時にサンプルデータを自動で生成して使い方を試せるようになっています。
この機能はβテストが終わってもそのまま製品版に残します。
本格的にログを記録し始める前に試しで色々操作してみると良いと思います。

1点注意してほしいことがあります。
iOS版と違ってTOPページのリスト表示にキャッシュしたサムネイル画像を利用しています。このためネットワークが利用できない環境でテストデータを作成すると、天気図のサムネイル画像が作成できません。
後から詳細を表示して更新することはできますが、初回起動時にテストデータをインストールする場合はネットワークに繋がった環境で実行されるとこをお勧めします。

サンプルデータを消すには3つ方法があります。
サンプルは4件しかないので、1つづつ削除する方法と、アプリの設定から「サーフログデータ」の「初期化…」を選択する方法です。
この2つはいずれもログデータのみ削除し、その他の設定は残ります。(例えばサーフポイントの登録や波乗りした時間のリスト等)
もう1つの方法は、Androidの設定>アプリ>SurfLog7」の「ストレージ」から「データ削除」を利用しても全データを削除できます。 この場合は、削除すると初期インストール時に戻ります。なのでサンプルデータを再度ロードすることも、サンプルをロードしないでクリアのまま利用することも可能になります。

SurfLog7 for Android テスター募集!!

surflog7_beta_recruit.png

そろそろ公開テストを開始しようかと思います。
現在のバージョンは v1.0.0 R0003 beta-3 になります。

テストしてみたい方は、テスターとして登録するので Googleの G-mail アドレスをここに送って下さい。

特に何かしてもらわなくて普通に使って見て下さい。不具合や要望があれば連絡頂けると嬉しいです。
またアプリが異常終了するようなときはレポートが送れると思うので、どのような操作の時に起きたか簡単で良いのでメモを付けて頂けると助かります。
テストしてくれた方には、ちょっと便利な機能なんかも教えちゃおうかと思ってます(笑)

☆注意
テスト中のデータについては保証できません。
不具合によっては、リリース時とデータの保存形式等を変えるかも知れません。その場合は入力データは引き継げなくなります。
テスト中に入力したデータはリリース時には使えなくなると思って下さい。

追記:2017/9/12
テスター用にリンクをつけておきます。(テスター以外は利用できません)
βテスト用のオプトインURLです。

SurfLog7 for Android DEMO #6

iOS版と同じように初期起動時にサンプルテストデータを自動生成してテストできます。
アプリの開始はこんな感じです。
テストデータはアプリの設定から削除することもできるし、Androidの「設定>アプリ>SurfLog7」の「ストレージ」から「データを削除」でも初期状態に戻せます。いきなり使ってもいいですが、テストデータで色々操作を試してから使ってみると良いかと思います。

テストデータですが、負荷テストのため大量データを投入してテストしてみました。
結果はこちらを参照してみて下さい。

やっと終わったー♪

SurfLog7_ad_finished.png

7/20からボチボチ作り始めて全てのコードを書き終えました。約1ヶ月半ですね。意外に早かった。
もっともテストがこれからなので、本当に終わりって訳じゃないけどとりあえずは一区切りです。
他にも、申請用の画像やらテキストやら書かないとならないし、ヘルプサイトも作らなきゃなのでリリースはまだ先ですがゴールは見えてきました(笑)

SurfLog7 for Android DEMO #5

DBとの連動もコードを書ききりました。かなり良い感じに動いています。
あとシェア機能(これはこのバージョンでは実装はパスするかも)と、2枚目以降の写真の追加機能を実装すれば完成です。

ListViewのオープンソースで「folding-cell-android」っての使ってるのですが(iOS版でも使ってます)これが結構曲者で、そもそもListViewに画像載っけたりすること自体が面倒なんですが、それに輪をかけて実装が面倒でした。
データを実装してスムーズに動くようにブラッシュアップするのにほぼ3日悩みました(笑)
iOSは割とシンプルに実装できたのですが、Androidはシンプルな実装ではどうしてもパフォーマンスが出なくて、初期のバージョンではカクカクして使い物にならなかったんです。結局ListViewに載っける画像は1ファイルになるように事前にサムネイルを作成し、ListViewの更新で時間のかかる処理は全部スレッドにしてなんとか普通に使えるレベルになってます。

なんとか今月中にはβリリースできるかな??

SurfLog7 for Android 波乗りタグ選択画面

qemu-system-i386.png

これといって良さそうなオープンソースのライブラリは見つけられず、結局スクラッチで書いてます…
とりあえず、iOS版のJSONタグデータはそのままパースして利用し、現在タグのレイアウト(カスケード表示)までなんとかこぎつけました。
ただ、このままじゃデザイン的にイマイチなので、これからUIをブラッシュアップしていきます。
やっぱり面倒くさい… (´Д`) =3

SurfLog7 for Android DEMO #4

とりあえずUIモックはほぼ9割は完了です。あとは波乗り情報のタグ設定画面を残すだけです。
で、このタグ設定画面ですが、当たりを付けてるオープンソースが使えないと iOS と同じ UI をフルスクラッチで書かなくてはならないので、そうなると結構な時間がかかります。
今回も結構オープンソース使ってますね。今週実装した(この動画にある)日付や時間のピッカーもそうです。便利すぎです。面倒なUIなんて自前で書く気がしません…