【Android】Swiftアプリからの移行手順

##履歴
 2015.06.19 Android勉強開始　インストール、ドットインストール
 2015.06.22-24 とりあえず入門書を読む
 2015.07.14 メニュー画面のレイアウト作成
 
#0 概要
##前提条件
僕の現在の状態(2015.06.19)ですが
　Java　実務はなしだけど学習はした。サンプルアプリや自作アプリ１，２個作成。
　その他言語　実務５年（WEB系、業務系など全般。）
　Swift　半年前から勉強開始。まだまだ初心者レベル

Androidほぼ初めての状態です。
Androidが黎明期の5年前くらい？にeclipseで触ったことがあります。
簡単なサンプルアプリを真似て動かすぐらいはしたことがあるって程度。

ほぼ忘れてるので初めての気持ちです。

Swiftで作ってるアプリがver0.7くらいにはなったので、Androidでも同じことができるのかを試しながら
勉強込みで移行していこうと思います。

##目標
ストアに配布が最終目標ですが、業務でしてるのでリリースは業務のタイミングです。
とりあえずiOSのTestFlightのようにテスト配布をしようと思います。
検討しないとわからないですが、DeployGateのようなサービスで配布テストするまでの手順をまとめようと思います。
移行元のSwiftアプリの機能数が一つしかいので実作業はそんなにかからないかな。
画面数は10個くらい。
カメラ撮影、サーバとデータ通信、プッシュ通知がうまくできれば２、３日で終わるかと。
いろいろ勉強、検討、調査で７月中にはリリース出来る準備をしたいと思います。

##環境
Swift 1.2＠Xcode6.3
Android 5＠AndroidStudioを利用予定

実機
iOS:iphone5S
Andorid:NEXUS5

#1 インストール
###・作業時間について
作業：約４h
【内訳】
放置：約３h
勉強：約0.5h
インストール：約0.5h

###・内容
ドットインストールさんのAndroid入門編が全部見ると30分程度あります。
http://dotinstall.com/lessons/basic_android_v2
AndroidStudioの説明も簡単にしてくれてすごくありがたい。
上記動画を確認しながらAndroidStudioのインストール、アップデート、をしました。
僕はSDKManagerでとりあえず入れられるものは全部入れてアップデートしました。
アップデートに1時間くらいかかったかな？正確な時間は放置して別作業してたのでわかりませんが、
時間があるときにインストールはしちゃいましょう。

JDKのインストールについては動画に説明がありませんでした。
まぁとりあえずAndroidStudioを入れてしまえば、エラーが表示されるのと思うのでそのリンクから
Oracleのダウンロードサイトに飛びます。
んで自分の環境のやつを選んでインストールするだけです。

僕の場合はJDKなんかのタイミングで入れていて、作ったプロジェクトがJDK7が必要というエラーが出ました。

エラーから飛ぶとJDK7のダウンロードページに飛ぶんですが、とりあえず最新のやつでいいと思ったので
現時点で一番新しいJDK８をインストール。
僕の場合はMacOSX x64
ラジオボタンをAcceptの方に変更してダウンロードするだけです。
![image](https://qiita-image-store.s3.amazonaws.com/0/69919/3274cc73-aba4-350c-8897-3d6d450c759a.png)

他のツールもログインとかなしでダウンロードさせてくれればいいのに。

###・動画との差異
フォルダ名、ファイル名、構成などバージョンアップすれば色々変わってくると思います。
ファイルを探すときはShift二回でSearch Anywhereを起動して探すといいかも。

###・最初に出来るActivity
アプリのタイトルが出るクラスが生成されました。
なんか手順が違ったかな？
ActionBarActivityクラスで生成されています。
生成出来るアクティビティを確認していけば新規で作るときに開発スピードが上がるかもです。
⇨2.0をサポートライブラリとしてするか3.0以上かでSuperクラスがActivityかActionBarActivityか変わるみたい。
上の表示が邪魔な場合は

```xml:res/values/styles.xml
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

</resources>
```
DarkActionBarをNoActionBar

###・プロジェクトの削除
削除機能はないみたいです。
手動でフォルダを開いて削除。


###・インストール後に時間が経過した場合
アップデートかけちゃいましょう。
![image](https://qiita-image-store.s3.amazonaws.com/0/69919/1c598f1a-738e-8535-79f6-546c455251a9.png)
Check for Updatesを選択です。

###・日本語化について
一応ちょっと日本語化することも出来るようです。
http://androidstudio.hatenablog.com/entry/2014/07/20/170308
やってみましたが、中途半端に日本語化されてるのでむしろしないほうがいいかな？って印象でした。
設定後起動した時のがっかり感が・・・・
本家が日本語に対応してくれるまではしなくてもいいんじゃないですかね。

###・動画のサンプル完了
![image](https://qiita-image-store.s3.amazonaws.com/0/69919/ceac6c28-d272-02dc-3172-19589b4e0133.png)


#2 Android勉強
[【Android】SwiftからのAndroid①　Android勉強](http://qiita.com/tdaiku/items/f9ea8f707602bfb0aa3e)
###・勉強時間について
勉強：約5、6h
【内訳】
勉強：約5h
サンプルコーディング：約0.5h

ほとんどを内容確認とかさらにネットで調べたりとかで使いました。

#3 Androidでレイアウト作成
[【Android】SwiftからのAndroid②　レイアウト](http://qiita.com/tdaiku/items/4bc63002f1254e632fd3)

#4 Androidにソースを移行
7/15　〜 7/20どれか

#Tipsまとめ
##AndroidStudio
・Shift二回でSearch Anywhere
とりあえず全体で検索とか設定を検索、ドキュメントもこれで検索出来る。


#残作業
・リンク先確認
[「Androidオープンソースライブラリ徹底活用」で紹介されているライブラリ](http://backflip180.jp/tech/android-oss-library.html)

・Androidでデバッグ
・Androidでアラート制御
・Androidでポップアップ画面
・Androidでプログレス画面
・Androidでカメラ撮影
・AndroidでAjax通信
http://qiita.com/tdaiku/items/cf2b1df990c657edd886
・Androidで画像送信
・Androidでプッシュ通知@mobileBackend