どうも。どっことです。
タイトルの通りですが、諸事情により GitHubPage に移行予定です。
この備忘録に記載の内容を転記しつつ、今後はこちらのページを更新していく予定です。
アウトプットしないとインプットできない私が Androidアプリ開発をメインとした実装方法の解説や備忘録を載せています。
どうも。どっことです。今回はgradle.propertiesを使った設定値の管理方法について紹介します。
gradle.propertiesを用意し定数値感覚で設定すれば、アプリのバージョンやtargetVersion/minSDKVersionなどの値を一つのファイルで管理させることができます。
例えば以下のbuild.gradleにあるマジックナンバーを定数化しgradle.propertiesに移して参照しましょう。
android {
namespace = "com.mkt120.sampleapplication"
compileSdk = 35
defaultConfig {
applicationId = "com.mkt120.sampleapplication"
minSdk = 26
targetSdk = 35
versionCode = 100
versionName = "1.0.0"
...
}
...
gradle.propertiesに外出しする定数を記述します。
ANDROID_SDK_VERSION=35
ANDROID_MIN_SDK_VERSION=26
ANDROID_VERSION_NAME="1.0.0"
ANDROID_VERSION_CODE=100
上で配置した定数をbuild.gradleで参照します。
android {
namespace = "com.mkt120.sampleapplication"
compileSdk = Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
defaultConfig {
applicationId = "com.mkt120.sampleapplication"
minSdk = Integer.parseInt(project.ANDROID_MIN_SDK_VERSION)
targetSdk = Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
versionCode = Integer.parseInt(project.ANDROID_VERSION_CODE)
versionName = project.ANDROID_VERSION_NAME
...
}
...
gradle.propertiesに記述した定数はproject.XXXXXの形式で参照することができます。
今回はgradle.propertiesを使った設定値の管理方法について紹介しました。
どうも。どっことです。今回はAndroid StudioにあるVCS Operations Popupにカスタマイズ方法ついて解説します。
VCS Operations PopupはAndroid
Studioでバージョン管理ツールの操作するときのポップアップです。control+vのショートカットで表示することができます。メニューから操作する手間が省けるので、多用している人もいるかと思いますが、今回はこのポップアップをカスタマイズする方法を解説します。
カスタマイズですが、実はAndroid Studioがカスタマイズするための設定項目を用意してくれています。なので謎の設定ファイルの書き換えや、ターミナルなどでの謎のコマンド操作は不要です。(地味に嬉しい)
Android StudioのSettings | Appearance & Behavior | Menus and Toolbarsにアクセスしてください。プロジェクトにGitを利用している場合は以下のようなポップアップが表示されると思います。
この画面で項目をカスタマイズすることができます。一覧の中にあるVCS Operations PopupからVCS.Operations.Popup.VcsAwareを選択している状態で+ボタンをクリックしましょう。
ここから項目を追加することができます。たとえば、Update projectをリストに追加してみましょう。一覧からUpdate projectを探してOKをクリックしてください。それで完了です。
それではVCS Operations Popupを表示してみましょう。control+vを入力すると...
追加したUpdate projectがポップアップに追加されていることを確認できました!これでいちいちVCSメニューまでマウス移動させる手間が省けますね!
今回はAndroid StudioにあるVCS Operations Popupのカスタマイズ方法について解説しました。Android Studioや、そのベースとなっているIntellij IDEAでは、このポップアップに限らず、さまざまな項目をカスタマイズする設定画面を提供しているので、作業効率がより良くなるようどんどんカスタマイズしていきたいですね。
どうも。どっことです。今回はMacを使っていると時々やってしまう間違えたパスワードの解消方法について解説します。
最近はPCがID/パスワードをいい感じに記憶してくれるので、とても便利になりました。ただ、そんなPCが間違えたID/パスワードを記憶してしまうと、それを使ってログインやアクセスを自動で試みて、結局失敗してエラーが出て終了。「何かよくわからないけど勝手にアクセスして、勝手に失敗して、エラー吐いて、終わった。だったら最初から聞いてくれ...」状態になります。
エンジニアの方で特によくあるのはSourceTreeだと思います。SourceTreeはGithubなどで管理しているGitリポジトリにアクセスするためのクライアントソフトですが、悲しいことに一度パスワードを記憶するとSourceTree側からパスワードを再入力する導線が表示されなくなります。そのためパスワードを間違えて記憶してしまうと「パスワード間違えたのはわかっているから解消させてくれ...」ということになります。ということで今回は、SourceTreeを例とした上記問題の解消方法について解説していきたいと思います。
手順は以下の通りです。
SourceTreeで認証情報を検索する。SourceTreeで再度認証情報を入力する。順番に解説します。
キーチェーンアクセスを起動します。 Command +
Spaceでspotlight検索を表示し、キーチェーンアクセスを表示します。
キーチェーンアクセスではそのマシンの認証情報をすべて管理しています。検索窓にSourceTreeを入力し、該当の認証情報を探しましょう。
認証情報が見つかったら、右クリックして認証情報を削除しましょう。
ここまでの手順により、マシンからSourceTreeで入力された認証情報が削除されるので、再度SourceTreeから認証情報を入力すれば、正しい認証情報を記憶させることができます。
今回はSourceTreeをはじめとした誤った認証情報の解消方法について解説しました。ID/パスワードだけでなく、例えばアクセストークンといった認証情報などもキーチェーンアクセスで管理されているので、今回の内容を参考に解消していただければ嬉しいです。
どうも。どっことです。今回は、ディスプレイスリープを無効にする実装方法を解説します。
動画の再生中やドキュメントの表示中、タイマー表示中などの画面を常に表示しておきたいケースでディスプレイがスリープしてしまうのは避けたいと思います。アプリ側でディスプレイがスリープしてしまうことを無効にする設定があるので、今回はこちらを解説したいと思います。ただし、スリープを無効にすることは電力消費の観点から必要最低限の範囲で設定することを心がけましょう。
スリープを無効にするためにはActivityから参照できるwindowインスタンスに対して、FLAG_KEEP_SCREEN_ONのフラグを設定します。
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
スリープ無効設定をクリアするためには、windowインスタンスに対して、FLAG_KEEP_SCREEN_ONのフラグをクリアしてあげます。
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
今回はディスプレイがスリープされる設定を無効にする実装方法を解説しました。使い所が限られる機能ですが、動画再生などディスプレイをスリープさせたくないような利用方法をアプリに提供する場合、必要な実装になりますので参考にしていただけると幸いです。
どうも。どっことです。今回は、Excelでショートカットキーの設定方法を紹介します。
業務・プライベートに限らず何かとお世話になるExcelですが、なんと自分の好きなコマンドにショートカットを設定することができます。いろいろ機能があるExcelですが、ショートカットでさらに作業の効率化を図ることができるので、ぜひ設定しておきましょう。
手順は以下の通りです。
クイックアクセスツールバーを選択する。コマンドの選択から、自分が追加したいコマンドを選択し追加ボタンをクリックします。
完了ボタンをクリックします。
上記で設定が完了します。これにより、クイックアクセスツールバーに追加したコマンドが表示されているかと思いますが、これの左からの位置+Altがショートカットキーに対応しています。例えば、一番左の位置にあれば1+Altで対応するコマンドを実行できる。という具合です。
どうも。どっことです。今回は、Macのホットコーナーのカスタマイズについて解説します。
Macを使っていると右下にカーソルを当てるとクイックメモが表示されますが、ショートカットやアイコンなどの位置によっては、煩わしさを感じる人も多いと思います。私もそのうちのひとりでした。どうにか表示されないようにできないかなと調べたので、紹介します。
手順は簡単で、Macの設定から以下を設定してあげれば解決します。
システム設定 > デスクトップとDock >
ホットコーナー > 右下を - に設定
調べたら、MissionControlも設定することができました。
ホットコーナー > 右上を MissionControl に設定
どうも。どっことです。今回はAndroidでキーボードを閉じる実装を解説します。
以前このブログで、iOSでのキーボードを閉じる実装について解説しました。今回はそのAndroid版です。
さっそくサンプルを載せます。InputMethodManagerにアクセスし、キーボードを閉じるようhideSoftInputFromWindowで依頼する、という具合ですね。
val inputMethodManager = getSystemService(INPUT_METHOD_SERVICE) as? InputMethodManager
inputMethodManager?.hideSoftInputFromWindow(v.windowToken, 0)
「いうほど難しいか?」と言われればそうでもなさそうですが、
「キーボード消すの、どのマネージャーに依頼するんだっけ...?」とか
「InputMethodManagerに依頼するのはいいけど、どのメソッドだっけ...?」とか
「引数には何を渡すんだっけ..」とか、ちょっとした煩わしさが見え隠れしているように感じます。。
今回はAndroidでソフトウェアキーボードを閉じる実装方法について解説しました。表示されるべき時に表示され、消えるべき時に消えるあるべき姿が、ユーザに良い体験を提供する考え方なので、意識していきましょう。
どうも。どっことです。今回は、アプリ内へのXML組み込み/読み込みをする実装について解説します。
AndroidのリソースにはXMLを配置することができます。AndroidResourceよりも単純なファイル管理として扱えるので、アプリの共通設定などの管理に利用することができます。
実際に配置する場所はapp/res/xmlフォルダです。無い場合は新規に追加して、XMLファイルを配置してください。
例えばsample.xmlを配置した場合、参照する時は以下のようにXMLファイルを指定します。
val parser : XmlResourceParser = context.resources.getXml(R.xml.sample)
Android開発ではAndroidResourceがよしなにやってくれるので、XmlResourceParserは使い馴染みのない人が多いかもしれませんが、getEventType()/next()を駆使してIterableのように解析するものです。
var eventType: Int = parser.getEventType();
// XMLドキュメントが終了になるまでwhile文を繰り返す
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {
System.out.println("XMLドキュメントの読み取り開始");
} else if(eventType == XmlPullParser.START_TAG) {
System.out.println("新しいタグの参照:"+parser.getName());
} else if(eventType == XmlPullParser.END_TAG) {
System.out.println("タグが閉じられた:"+parser.getName());
} else if(eventType == XmlPullParser.TEXT) {
// タグに設定されている値を参照
System.out.println("値:"+parser.getText());
}
// 次の要素の参照へ
eventType = parser.next();
}
今回はアプリ内にXMLを組み込み、それを参照する実装方法について解説しました。アプリの設定管理などの1案として挙げられるので、有効活用していきたいですね。
どうも。どっことです。今回はgroupId、artifactIdについて解説します。
他のすべてのプロジェクトと区別するためのID。グループを表現したID。一般的にはドメイン名を逆にしたものが挙げられる。例えばcom.exampleなど。自分のWebページなどがあるなら、それを使うのが無難そうです。
プロジェクト名という表現がわかりやすい。ライブラリ名とかですね。
そのプロジェクトで管理しているバージョン。デフォルトで1.0-SNAPSHOTとなっているが、 フォーマットは決まっていない。
どうも。どっことです。 タイトルの通りですが、諸事情により GitHubPage に移行予定です。 https://mkt120.github.io/ この備忘録に記載の内容を転記しつつ、今後はこちらのページを更新していく予定です。