勉強:Contextについて
Contextとは
アプリケーションのグローバルな環境情報、リソース、クラスアクセス、アプリケーションレベルの操作などについて取り扱う。
Contextを継承しているクラス
--Contextクラス
--ContextWrapperクラス
--Applicationクラス
--ContextThemeWrapperクラス
--Activityクラス
--Serviceクラス
種類が沢山あります。なのでContextを使用するときには使い分けが必要。
特に注意するContextの種類
ApplicationのContext
- アプリケーションのライフライクルに準ずる。
- Themeの設定を行うContextThemeWrapperクラスをApplicationクラスは継承していないので、Theme設定を行う目的で引数を渡す場合にApplicationクラスを渡してしまうと、クラッシュになるといった場合も。
- 静的なオブジェクトだったり、Appicationの寿命と同じ場合はApplicationのContextを使用。
ActivityのContext
- Activityのライフサイクルに準ずる。
- 画面のUI関係。
- Contextの参照を静的なものにしたまま保持しておくとメモリリークの可能性がある。
実際にContextを使用する場所でのContextの意味合いの違いも
- どのクラスのContextなのかが大事。
- どのパッケージ名、どのクラスなのかを明確にして自分がどのContextを使用しているか把握していないと、思わぬクラッシュ原因になりかねません。(継承関係があり役割も違うから)
勉強:デバッグのapkについて
デバッグのapkを端末にインストールするのには署名が必要です。
debug.keystoreが通常デバッグを行うと自動的に作成されます。
ディベロッパーサイトより引用
IDE からプロジェクトを実行またはデバッグすると、Android Studio は、Android SDK ツールで生成されたデバッグ用証明書を使用して自動的に APK に署名します。Android Studio で初めてプロジェクトを実行またはデバッグすると、IDE はデバッグ キーストアとデバッグ用証明書を $HOME/.android/debug.keystore に自動的に作成し、キーストアとキーのパスワードを設定します。
キーストアの端末による作成場所は以下になります。
~/.android/debug.keystore
C:\Documents and Settings\<user>\.android\
C:\Users\<user>\.android\
そして、再度作成したい、一旦作成した設定をリセットしたいなどの場合はターミナルで以下のコマンドを実行すると便利です。
キーストアの作成方法
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 -dname "CN=Android Debug,O=Android,C=US"
コマンドの設定内容
Keystore name:debug.keystore
Keystore password:android
Key alias:androiddebugkey
Key password:android
デバッグにより作成されるapkの場所は「/data/app/outputs/apk」フォルダです。
勉強:過去のコミットコメントの修正方法
業務中、コメントの指摘を頂いて
過去のコミットコメントを直す機会に恵まれました。
コミットコメントについて調べたのでここにまとめます。
- git rebase -i <commit>
git rebase -i 664835c29bf5689d673b4f4349f2eaa3cfc85b23
という形で。
シリアル値にはどのコミットかを指定します。
上記のコマンドを打つと
以下のようなメッセージが表示されます。
pick 25787cf message2
pick d479e8f message3
# Rebase 664835c..d479e8f onto 664835c
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
変更したい「message2」の手前の、
「pick」という4文字を、
「reword」に変更してから、保存して、エディタを終了します。
もう一度エディタが起動し、「message2」を変更するためにコミットコメントを
入力できる画面になります。
ここで、「message2 modified」と入力すれば、コミットコメントは無事に変更されます。
解説の英文にしたがって変更を行えば問題ありません。
そして
rebaseの取りやめには
- git rebase —abort
を使用します。
勉強:gitのコミットコメントについて
短くまとめると.......
- なぜ変更したのか?(Why)
- 何を変更したのか?(What)
- コメントに一貫性があって完結
- 変更前と変更後の機能の違い
- なぜその方法で修正したのか
が大事。だと私が思いました。うん。
最近指摘を受けた内容をまとめました。
プログラミング言語で、ネーミングやフォーマットはルールに従って記述していると思うのですがコミットコメントにおいてもルールを今後決めておくとスムーズ。
7つのルールについて
を参考にさせていただきました。
具体的には
-
タイトルの後は1行あけて本文を書く
-
タイトルを50文字以内におさめる
-
タイトルの文頭を大文字にする
-
タイトルの文末にピリオドをつけない
-
タイトルは命令形で記述する
-
本文は1行あたり72文字以内におさめる
-
本文ではどのようにではなく何をとなぜを説明する
だそうです。
上記のリンクに詳しい内容が書いてあります。
コミットメッセージ奥が深いです。
指摘されて問題意識に気づいた私ですが、慣れるまではコミットのコメントを書くときにルールに則って、上記がクリアできているか確認するとよいと思いました。
アプリ作成:オリジナルはてなブログ用App2
こんばんは!
GW中を利用してせっせとApp制作に
励もうと思ってます^^
昨日はまずリリースするのに最低限
主要な機能や情報をあげました。
・ログイン、ログアウト
http://auth.hatena.ne.jp/help/api
http://auth.hatena.ne.jp/help/sequence
・日記の表示
http://developer.hatena.ne.jp/ja/documents/bookmark/misc/feed
http://developer.hatena.ne.jp/ja/documents/star/apis/count
http://developer.hatena.ne.jp/ja/documents/blog/apis/atom
あれば最低限アプリとしてOKかなと。
で、どんどん他の機能を追加していく形にしよーと思います。
最初に沢山作成する機能をあげてしまうと完成が程遠くなっちゃいそうなので笑
アプリ作成:オリジナルはてなブログ用App
2,3日更新が止まってしまいましたが
また再開します~!
何かアプリを作りたいってことで
はてなブログが見やすい、使いやすい
オリジナルの
Androidアプリを作成してみよう!
と思い、5月は作成してみます◡̈
発信もそれに伴った発信が多くなるかも....!
それに伴って参考にしたサイト:
http://www.kokoro-fire.com/entry/2015/03/09/000955
http://shiromatakumi.hatenablog.com/entry/hatena-customize
http://www.future-nova.com/entry/smaho2
http://developer.hatena.ne.jp/ja/documents/blog/apis/atom
今日はあと
デザインを考えて
どんな作業が必要かを考えて
寝ます!✨
勉強:より効率的なログの活用法
Androidアプリ開発をしていて
どうもクラッシュ対応に時間がかかっているなー
原因に辿り着くのに時間がかかるし、LogCatの見方がそもそもわかってない部分があると思ったので今日のテーマは「より効率的なログの活用法」です。
1.ログを色分けPreference > Editor > Colors & Fonts > Android Logcat
から変更できるそうです。
沢山あるうちのログの中から、どのログに注目すれば良いのか視覚的にわかりやすくなるので時間短縮に繋がるはずです!
2.自分なりの対応方法を手順化
そもそも、まだAndroid Studioに慣れてないのも問題だったり。。。
自分なりの対処方法手順化するのも良いのかも。
初心者向けに下記サイトがあったので活用させていただきます。
有難うございます(Eclipse用だけど)。
参考サイト: