メモ帳アプリを作った!

スマホアプリ

というわけでメモ帳アプリサキメモを作りました!(先送りメモ、略してサキメモです)
以前話していたように時間指定だけではなく座標を指定してその範囲内に入ったら通知をしてくれる機能も実装してあります!

もちろん日付や時間もセットできちゃいます。

簡素ではありますが一通りの機能が入ったのではないでしょうか!

役に立ったサイトの紹介(実装偏)

本当は作成しながらkotlinで躓いたところ等を記事として紹介していこうと思ったのですが、ほとんど調べてわかることばっかりだったのでメモしておいた役に立ったサイトを列挙しようと思います。

それぞれの記事を書いていただいた方々に感謝しつつサキメモと似たようなことをしたい人の助けになれば幸いです。

また実装時に役に立ったこととバグ取りに役立ったことがありましたが、二つを一緒にするとものすごく長くなるので今回は実装偏として実装に役に立った記事を載せています。

android studioの設定

Android Studioで覚えておくと便利なこと - Qiita
EclipseからAndroid Studioに乗り換えたのですが、設定画面の見方やショートカットの違い等にいろいろ戸惑ったのでメモ。※Macの場合での説明中心です。→Windowsの説明が追加…

android studio自体の設定やショートカット類が書かれています。
特にショートカット類がお世話になりました。すでにandroid studioを使っている人でも知らなかった!というものがあると思います。

kotlinにおけるletやalsoの使い分け

Kotlin スコープ関数 用途まとめ - Qiita
結論(2021-07-06更新)個人的なスタンス個人的な意見として、原則 nullableのためにletを使うのみに留めたいところです。そもそも、このような記事を書いて、それなりに閲覧されてい…

kotliのかなり重要な要素、letやalsoの使い分けについて書かれたページです。
かなりいっぱいあって覚えるのが大変ですがなんとなく他の人のコードを見ながら覚えていくのがいいかな~と思います。
最初はletを多用していましたが今はalsoのほうがいいと思ったりapplyのほうが直感的に書けるなというラインがわかってきました。

ActivityとFragmentの概念について

Android はじめてのFragment - Qiita
この記事はとある勉強会で身内のために作成したもので、Fragmentをまだあまり使ったことの無い方が、どうしてFragmentを使うのかと、どこから始めればいいのかをまとめたものになります。Fra…

android開発をする上で大切な概念ActivityとFragmentについて書いてあります。

どこまでをActivityでどこまでをFragmentにするかはプロジェクト依存なところもあるとは思いますが何もわからない状態なのであれば上記のサイトがお役に立つと思います。

ちなみにサキメモはActivityがほぼ飾りでメモをリスト表示するところ、メモの内容をエディットするところ、地図の場所指定の3つのFragmentでできています。

Activityのライフサイクルについて

アクティビティのライフサイクルについて  |  Android デベロッパー  |  Android Developers
アクティビティは、電話をかける、写真を撮影する、メールを送信する、地図を表示するなど、なんらかの操作ができる画面をユーザーに提供するアプリケーション コンポーネントです。各アクティビティには、ユーザー インターフェースを描画するウィンドウがあり…
Android | アクティビティのライフサイクル
アクティビティのライフサイクルに関して解説します。

Activityで出てくるonCreateonDestroyの呼び出しタイミングについて書かれています。
androidはアクティブじゃなくなったりメモリの都合でOSに破棄される際これらの関数が呼ばれることになるのでライフサイクルをよく見てどこに初期化やviewの設定をすればいいか確認するといいでしょう。

Fragmentのライフサイクル

ActivityとFragmentのライフサイクルと罠 - Qiita
ActivityとFragmentのライフサイクルを意識しなければならない状況で、思っていたライフサイクルとは異なるフローで呼ばれていたため、調査をしてみました。(主に破棄周り)http://…

ActivityのFragment版です。

ListViewを自分好みにカスタマイズする

Androidでリストビュー(ListView)をカスタムして表示する - Qiita
今回のエントリでは、Androidで以下のように画像サムネイルなどを表示したListViewを実装する方法を紹介していきます。ListViewの要素をカスタマイズするには、ArrayAdapter…

AlarmManagerについて

反復アラームのスケジュール設定  |  Android デベロッパー  |  Android Developers
[Android] AlarmManagerをBroadcastRecieverと使う
ある時間にアプリから通知して欲しいという場合がよくあります。目覚まし時計とかスケジュール系のアプリなど、これらの通知には時間を管理する AlarmManager 及びその関連APIを使います。  

サキメモの時間トリガー機能にはandroidのAlarmManagerが使われています。

これはandroidに時間のトリガーをお願いしてその時間になったらコールバックで教えてくれる機能です。
時間の呼び出しに精度が何段階かありますが自前でサービスを作ってやらずともOS側で対応してくれるので便利です。

ジオフェンスについて

ジオフェンスの作成と監視  |  デベロッパー向け Android  |  Android Developers
【Android】Geofenceをキャッチアップする - Qiita
#Geofenceこれでぽけもんごを超えるアプリをリリースするのも目じゃねえなあ。AndroidでGeofenceを実装しようと思いましたが、親切に解説してくれているサイトが割と少なく、また公式…

こちらは特定の場所に入ったときに通知してくれるシステム、ジオフェンスの紹介です。
自分は最初位置情報を常に監視して通知をする必要があるのかな~と思っていましたが割とほしい機能ジャストミートの機能がOSにあることを知って驚きました。
少しレスポンスに難ありですが0秒で返すことはまぁできないので許容範囲です。

プッシュ通知を出す

[kotlin] コピペでandroidに通知を出す - Qiita
#今回やることボタンを押したら通知を出せるようにする。アクションボタンやその他オプションは今回は触れません。こんなやつ ↓#さっそくコピペactivity_main.xmlにpushBtn…

こちらはプッシュ通知を出す方法になります。
androidのSDKレベルに応じてやることが少し変わるので気をつけないといけない部分でした。

時間を選ばせる

DatePickerDialog と TimePickerDialog を使って日時選択をできるようにする - Qiita
時間選択を実装するのに便利な DatePickerDialog と TimePickerDialog に出会ったので備忘録を残そうと思います。DatePickerDialog と TimePick…

カレンダーやタイマーを表示させて時間をユーザーに選ばせる方法です。
便利なclassがあってハッピーだけど、時間指定のやり方がちょっとやりづらいと思うのは私だけ…?

google Mapを出して場所を選ばせる

Android GoogleMapの使い方メモ - Qiita
はじめに最近プロジェクトでGoogleMapAPIを利用したので、細かな使い方を記事として残しておきます。プロジェクト作成〜地図の表示AndroidStudioのプロジェクトウィザードで簡単に…
マーカーが配置された地図を追加する  |  Maps SDK for Android  |  Google for Developers

android上にgoogle mapを出す方法になります。
サキメモはこれにsetOnMapClickListenerをつけて座標を指定してもらうようにしています。

緯度経度からそこの住所を割り出す

Androidで位置情報を扱うときの3つのTips - Qiita
位置情報を取得しようとしていろいろ困ったので、まとめておこうと思います。LocationManager vs Google Play Service location API, どちらを使う?A…

意外にググってもすぐ出てこなくて苦戦した情報。
マップから座標を指定してもらった後、メモのリストにそれを出すためにそこの住所を取得する方法です。

ちなみにgoogle mapのように文字から座標を検索するにはgoogleのapiが必要のようです。

端末の起動時に何かの処理をする

端末起動と同時にアプリケーションを起動させる
Androidアプリ開発者のためのTips集。今回は、BroadcastIntentをきっかけにアプリを起動させる方法について。例として、“端末の起動時”に自動的にアプリを立ち上げる方法を紹介する。

端末機同時に何かの処理をしたい場合のやり方。
サキメモはandroidを再起動しても通知の登録をする必要があったのでこちらと同じような方法を使っています。

メモを保存する

Realmの基本的な使い方まとめ in Kotlin - Qiita
#1.概要RealmはSQLiteに代わる軽量、高速データベースでアプリ開発にも利用できます。そのRealmが7.0.0になりKotlinの正式ドキュメントも公開されました!せっかくなのでAn…
Kotlin + Realmでシンプルなメモ帳アプリを作ってみた - Qiita
Realmを使ってみたくて、CRUDを実装したシンプルなメモ帳アプリを作ってみた。学んだことやハマったことをメモしておく。作ったものソースコードはこちらから↓…

このサイトでも描いたRealmを使ったデータ保存のやり方。
簡単にクラスを保存できるのでお勧めです。

電子署名を作成してリリースビルドを作る

Androidの署名について(releaseバリアントでビルドする) - Qiita
Androidの署名の仕組みについて調べたことをまとめます。ローカルでreleaseバリアントをビルドするところまでで、Play Storeへのリリースまでは扱いません。内容は基本的に公式ドキュ…

USB接続ではなくサーバーにアップなどをして他者に配信するやり方です。
不特定多数の人に配布するのには向いていませんが、友達間でこじんまり共有してデバッグしてもらう時とかに有効だと思います。

作ってみた感想

新しいことを始めたくて作ってみたkotlin+androidアプリでしたが新しいIDEや書き方の発見ができて面白かったです!

特に作ったアプリを実際に自分で使って役に立ったりフィードバックを自分で返せるところがandroidアプリの楽しいところですね!

今回はgitでの公開やgoogle playまでは行きつきませんでしたが実際に普段使いしている最中なので、自分で不便に思った点やバグをある程度片づけたらgoogle playで公開してみようと思います!

コメント

  1. […] 前回の続き。お役に立ったサイトのデバッグ偏です。 […]

タイトルとURLをコピーしました