チョモランマに登るには。

Androidアプリ開発の初心者が立派な開発者になるまで

素人がAndroidアプリ一発目を出すまでの参考サイトまとめ

 

こんにちは。

先日ようやく一作目のアプリを公開しました。

mine - 私だけのつぶやきアプリ - - Google Play の Android アプリ

 

Android開発の素人である私が、このアプリを出すまでの実務的経緯と共に、参考にさせて頂いたサイトなどをまとめておきます。

正直いうと開発中にたまりにたまったお気に入りバーのお片付けですが、何か参考になる方がいらしゃっればいいなと思います。

 

教材

スッキリわかるJava入門 第2版

はじめてのAndroidアプリ開発―Android4対応版 (TECHNICAL MASTER)

まず初めの2週間ぐらいでこの2冊を読み込んで、基礎作りをしました。

他にも買った本はありますが、実際役立てたのはこの2冊だけでした。

 

開発(はじまり)

じゃあ実際に作っていきながらAndroid開発の作法を覚えていこうと開発に取り掛かる。

最初は一番簡単なものがいいと、メモ帳アプリがいいねと考えスタートする。

だいたいのイメージを考える。

よし!じゃあ作るぞ! となる。

そしてすぐつまづく。

「何をどうすればいいんだ・・・」

サンプルをいじることから始めようとするも、その時サンプルが見つからず困難な道を歩むことになる。

 

ListViewとAdapter

書いたものをListViewに入れていけばいいんだと分かる。

・ボタンを押して書いたものを追加する。

・リストを表示する

これらは本のコードをコピペすれば動くのは分かったが、

「書いたものをリストに追加する」ってのが分からなかった。

リストを動的に追加していくにはAdapterというものが必要だとわかり、本の該当部分を読み返して勉強する。

リストビューとは - Androidアプリ開発講座

android-ListViewの基本 - toridgeWiki

ListView の行のカスタマイズ - Android 開発入門

Android -ListView(データの追加)- <MitoRoid>

Androidアプリ入門 No.22 SimpleAdapter - コンピュータクワガタ

ListViewで手こずってる。恐ろしいgetView -カスタマイズ- - あみゅーの奮闘記2

adapterクラスを使う時 - 素人のアンドロイドアプリ開発日記

ListViewのカスタマイズ@Androidアプリ開発のお勉強

ListViewチュートリアル その4 カスタム – Cyber Passion for Android

ListViewのデータのbindはこうする2014 - Rejasupoem

blog » listviewのレイアウト

Adapterのところは全くもって意味不明だったので、色んなコードをノートに手書きで何枚も書いて何とか理解しようとした。

 

ListViewのレイアウトなど

[Android]超簡単!ListViewをオシャレにカスタマイズ!横からスライドしてくるリストアイテムを作る。 | Developers.IO

listviewの区切り線を消す - 素人のアンドロイドアプリ開発日記

ListViewチュートリアル その5 異なるレイアウト – Cyber Passion for Android

Y.A.M の 雑記帳: Android 「The world of ListView」 - Other features -

 ↑ ListViewを下からつんでいくやり方など。

ListViewのポイント

Tumbling Dice — [Android]ListViewのレイアウトを動的に切り替える際の問題点

Androidアプリ開発に挑戦: ListView の最後の行の下線を表示させる

 

TextViewのレイアウト

Androidアプリ入門 No.07 TextViewのフォント関連以外の主な属性 - コンピュータクワガタ

文字の位置をかえる - Androidプログラマへの道 〜 Moonlight 明日香 〜

ソフトウェア雑記 TextViewのカスタマイズ

UIコンポーネント/RelativeLayout.LayoutParams - Android Wiki*

ど素人のAndroidアプリ開発入門 - 文字色と背景色

 

イベント処理やその他

Android -ListView(イベント処理)- <MitoRoid>

ListViewで表示される分だけデータをロードする « Tech Booster

Android の ListView で ArrayAdapter をカスタマイズして表示する時、リストビューのアイテム内にボタン等がある場合のイベント登録時の注意事項 : logical error

u1aryzの備忘録とか: ListViewのスクロール位置のあれこれ

ニクログ: リストビューを設置したらまずやる10のこと

 

キーボード関連

Y.A.M の 雑記帳: Android 自動でソフトキーボードが出るのを防ぐ

[AndroidのEditTextのTips その1] 背景タップでキーボードを閉じる | ITcowork Staff Blog

ソフトキーボードを非表示にする « Tech Booster

【Android】キーボード出現時にListViewを自動スクロールさせる - Qiita

背景タッチでEditTextのフォーカスを外す - OKZ Blog

 

 画像の伸縮

端末の解像度によって自動的に画像を伸ばしてくれる9patchというものがある。

[Android アプリの UI デザイン] 9-patch の作りかたのまとめと Tips | Developers.IO

Androidで簡単にバルーンを作る方法 | Android Techfirm Lab

[android-sdk]NinePatchを使って簡単に吹き出しを作る | tomotomo Snippet

 

データをファイル保存・読み込み

ファイル - Androidアプリ開発講座

AndroLab: アプリのデータを保存する(基本編)

Android携帯ゲームを作って世界に配信してみよう(3) ―― 効果音の入れ方とデータの保存処理を学ぶ|Tech Village (テックビレッジ) / CQ出版株式会社

openFileInput() : かんうん やかく

yan note: Android ファイルの入出力(filesフォルダ)

【Java】ファイルまたはディレクトリをリネーム(移動)する - オープンリファレンス

 データ保存・読み込みを入れるところから、保存したものをどう表示させるのかという、ロジックについて悩むことが増えた。

「split」という文字列を分割するメソッドを利用し、あとはif文を駆使すればなんとか問題は解決できた。

知識が足りなくても頭で考えれば打開策は見つかるもんだと気付いた。

 

ポップアップメニュー

吹き出しをタップしたら「編集・コピー・削除」と出るときにポップアップメニューを使った。

PopupMenuを使う « Tech Booster

 

ダイアログ

Android -ダイアログ- <MitoRoid>

Androidの勉強ページ

Androidにてテキスト入力ダイアログを表示する[サンプルソース付き]: Monmonkeyの開発スペース 〜 Android 開発 技術情報サイト 〜

Android ダイアログ (3) テキスト入力 - marunomaruno-memo

 

 文字列⇔数値の変換とか

たまに忘れてしまう。

【Android】Toast(トースト)でint型の値をデバックする方法|俺メモ Web時々アプリ | OREMEMO

» あえて言うほどではない 数値 ⇔ 文字列変換 Java編 TECHSCORE BLOG

 

Listにタグをつける

既にあるデータを編集・削除するときにどのデータかを判別したかった。

ListViewやButtonなどのViewにタグ(付属情報)をセットする~setTag,getTagメソッド at androidプログラミング・アプリ開発日誌~xperia

 

ギャラリーから背景を変更する

暗黙的インテントでギャラリーから画像を取得して背景に設定。

データ保存するにはbyte配列に変換する必要があった。

ギャラリーから画像を取得する - Androidプログラマへの道 〜 Moonlight 明日香 〜

いろいろな覚書 : Androidで画像を扱う

Androidの画像保存をやってみた | tnnsst35.com

SharedPreferencesに色々なオブジェクトを保存する | アライドアーキテクツ エンジニアブログ

画像サイズがでかいとエラーになってしまうので工夫する。

Android Bitmapをあらかじめ縮小してから読み込む(OutOfMemory対策) - Qiita

 

プリファレンス

Android Tips(16):プリファレンスを使用したデータの保存 - MONOist(モノイスト)

Androidアプリのデータ保存方法の一つ「プリファレンス」の使い方 | mucchinのAndroid戦記

Kinky堂 - Android > プリファレンス > 指定したキーがプリファレンスに存在するかチェックする

 

インテントで画面遷移

アプリのトップページとなるスレッド一覧のActivityを作る。

ここまで作ってきたActivityとほぼ同じ仕様なのですんなりできた。

Intentで画面遷移する(暗黙的Intent)/Getting started « Tech Booster

Intent(インテント)連携をまとめてみる - コードを貼り付けながら。

 

暗黙的インテントでメールを送る

添付ファイルがなかなかつかなくて手間取った。

Androidでメール送信

暇なメモ帳: Androidでメールを送信する方法

添付ありの時のメーラー起動-Oboe吹きプログラマの黙示録

Google グループ

android - What are the possible intent types for intent.setType(type)? - Stack Overflow

 

SDカードに保存

SDカードにファイル書き込みをする[サンプルソース付き]: Monmonkeyの開発スペース 〜 Android 開発 技術情報サイト 〜

[Android] [Java] SDカードのファイルの読み込みと書き込み (SDカード内のファイルの読み書き)

 

広告

[最新]AndroidアプリにAdMobを実装する方法 2014年4月現在 | 一番かんたんなJava入門

 

ネットワークに繋がっているかどうか

ネットに繋がっていないときの広告部分が気になったので繋がっているかどうかで仕様を変更。

ネットワーク接続のチェック方法 - isherの日記

NetworkInfoを使って、通信接続が可能状態か知る « Tech Booster

 

アイコンを作る

最後までアイコンどうしようかと悩みながら、結局自分でgimpというものを使って作りました。

エンジニアだけでアプリアイコンを作る - shoma2da's diary

画像編集が苦手なエンジニアにもできるiPhone/Androidアプリアイコン作成 - スーパーソフトウエア 世界最強のホットテクノロジー - アプリ開発

写真・画像に角丸、フレーム付け、影付け WEB加工【無料】

 

署名

よく分かる!Android アプリのリリース手順のまとめ | アドカレ2013 : SP #20 | Developers.IO

 Android アプリケーションの公開 プライベートキーの作成とデジタル署名 【Android TIPS】 | エンジニア転職求人情報×IT人材紹介@SAK

 

アプリ申請時の画像など

Android開発者は必修! スクリーンショットの撮り方 - DISってHONEY♪ @gungnir_odin

 

 

終わり

途中で一度、分からないのは自分の知識が足りないせいだと思い、追加で新しいAndroid本を買ったことがあります。

しかし、ほぼ読んでいません。

その本を買ったのは多分自分に対する言い訳だったように思えたのです。

「知識がないから分からない、作業が進まない」というのは言い訳だと。

実際、分からないことはその都度調べ、とことんその問題について考えてみれば、結局問題を解決するのは柔軟な発想だったりしました。

 

参考にさせて頂いたサイトの皆様ありがとうございました。