ついにクリスマスイブ、この日を待っていました。アジャイルを使ってクリスマスまでに彼女を作ろうとしていた彼は幸せな夜を過ごせるのでしょうか…
某社のアドベントカレンダーは
「Develop fun!」を体現する Works Human Intelligence Advent Calendar 2020
「Develop fun!」を体現する Works Human Intelligence #2 Advent Calendar 2020
だが気にせず1 今月は頑張って色々書いた。そして私は こんな記事や, こんな記事, こんな記事 を多くの人に読んでいただけて、また感想が聞けてというサイクルがあってとても楽しかった。アドベントカレンダーではありますまいか Advent Calendar 2020 は合計304LGTMを頂いている。そういえばこの私のカレンダー名の大元ネタであったこの記事は結局どれくらいの人に読んでもらったんだろう
いや決して少ない数とは言わない(読んでくれている皆様ありがとう)。しかし以下を見てほしい
LGTM数はたったの1だ。なんだ皆そんなに社名特定が怖いのか、、踏み絵は踏みたくないということなのか、、? Yesと答えた方、、、ブラウザバックで直ちに戻ってくれたまえ。2
今日はこれができると言えれば普通に転職先も幅が広がるだろう イマドキな話。普段お仕事で扱うのはゴリゴリの業務アプリ(しかも主戦場がバックエンド)な私だが、たまには私もお洒落でハートフルなコンシューマー向けアプリを作ってみたいなと思うことがあるんだ。Yes、それにはAndroidアプリ!3 バッチジョブ だけ担当していては生涯作れないかもしれない、手のひらで楽しく使えるかわいいやつを作る基礎をもう一度おさらいしたいと思った。
作るのはモストブレイクスルーアプリです。
準備ですぞ
Android Studio
Android Stuidioを使ってAndroidプロジェクトを作成する
スペックは以下あったほうが良いようだ。
RAM 3GB 以上,推奨は 8GB 以上,エミュレータを使う場合は +1GB
ディスクの空き容量 2GB 以上,推奨は 4GB 以上
画面解像度 1280 × 800 以上
MostBreakthroughApplication
名前をつけました。ここで選択するActivityはごくシンプルなものが最初は適切です。
下の画像はBottom Navigation Activityとか選んじゃってるから注意な。
参考:最初なので使いやすい「Empty Activity」を選択します。(Basic …と思いがちですが、実はシンプルではなく最初は使いにくいので間違えないように)
HAXM という言葉が画面に出てきてイチイチこれはなんだろうとなるが問題解決こそが仕事だからググリながら作業を進めれば良い。エミュレーターなどが立ち上がる。
HelloWorldですぞ
HelloWorld! アプリ作成 に基づきエミュレータの設定 をしたうえで、実行する。このVirtual Deviceなるやつも数GBにてディスクを圧迫するから気をつけてほしい。
エミュレータにHelloWorld表示成功でありますまいか。
ボタンを置きますまいか
何もコーディングしていないが、気にせず動作をさせていきます。onClick
で表示が変わる。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ボタンを設定
Button breakthrough = findViewById(R.id.button);
editTexttop = findViewById(R.id.editTextTextMultiLineTop);
editTextbottom = findViewById(R.id.editTextTextMultiLineBottom);
breakthrough.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// ...
if(buttonTap){
editTextbottom.setText("あります");
buttonTap= false;
}
else{
editTextbottom.setText("まいか");
buttonTap= true;
}
}
});
}
Android StudioでConstraintLayoutが自動補完されずにエラーが出る にまさに遭遇したが以下で解決する。
Androidの新しいLayout、ConstraintLayoutことはじめ
ConstraintLayoutとは
ConstraintLayoutは自動的にレイアウトの位置をマテリアルデザインに沿った最適な位置に調整してくれます。
トラブルシュートしつつここで以下にコミットしますぞ。
https://github.com/e99h2121/MostBreakthroughApp/blob/main/app/src/main/java/com/example/mostbreakthroughapp/MainActivity.java
無事モストブレイクスルーしていることを確認しよう。
xml側のプロパティを変えることで文字色などを変えることができる。
動作確認ですぞ
ここまでくれば、いつものありますまいか的な置換をすれば動作するではありますまいか。
期待動作
テスト
既にクリティカルな仕事に詳しい君たちに圧倒的にかんたんだが、アプリを公開したくなった時にはこのページを見てほしい:アプリを公開する
リリースしたことがなければPlay Storeへの開発者登録が必要だが 25ドルは問題解決にかけるコストとしては容易い。Google Play Console
本当の仕事とは何か大きな問題に直面したときから始まる
Ho Ho Ho... ありますまいかはいつの間にか社内SlackのBotすらエナジャイズしていたではありますまいか。
得られたもの
ここまでの元ネタ を共有できていないと何も面白くないかもしれないなと思いつつ、Androidアプリ作成そのものはいつでも手の届く、いつもの楽しい開発作業だとクリティカルな君たちにはお勧めできること間違いなしだと実感できるに至った。
JavaだけではなくKotlinも主になってくるからブレイクスルーなクリエイティビティを磨くには絶好の題材だ。もちろんHelloworld的な工程はこの記事の通りにやればできるからやったことのない人はぜひやってみて!近いうち盆栽を愛でるように自分のために、真面目にチビッコ達に遊んでもらえるようなモノくらいは作りたいなと思いましたぞ。
素敵なクリスマスをお過ごしください。明日はアドベントカレンダー総括します。
-
新卒1年目が荒れ果てた開発環境に1年間でCIを導入し単体テストを布教した話 も当然あるんだけど彼の記事に泥を塗るからここでは触れられない。 ↩
-
時をかけるタコライスさんから比べて濃縮還元は否めない。記事を書き始めた私のタイミングのミスなので許してほしい。 ↩