Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Microsoft Azure
で始める
サクサク
Android開発
JAZUG 青森
2015/03/07
山本 誠樹
2
自己紹介
Masaki YAMAMOTO
Twitter:@nnasaki
Microsoft MVP
for Microsoft
Azure
今日はAndroid
アプリ開発をします
必要なもの
• Azure サブスクリプション
• Android Studio
– NOT Eclipse
• Genymotion
– 付属のエミュレーターは遅いのでオススメで
きません!
– 実機で行うのが一番良い
– Push通知が受け...
スマホアプリを作りたい
モバイルサービスとは
チャットアプリ開発
ユーザーの動向を知りたい
Mobile Engagement
サービスを外部に公開したい
API Management
モバイルサービスとは
プッシュ通知
数分以内に数百万台
タグ付け(合計1億件以上)
マルチプラットフォームSDK
iOS、Android、Windows、HTML5
認証連携
Facebook、Twitter、Google、Active Directo...
DEMO
ポータルからアプリを即実行
モバイルサービスの
仕組み
http://channel9.msdn.com/Events/de-code/2014/SV-007
http://channel9.msdn.com/Events/de-code/2014/SV-007
今日使うところ
SDKがGithubにある!
https://github.com/Azure/azure-
mobile-services
バッグエンドが選べる
手軽なのはJavaScript(NodeJS)
Gitリポジトリで開発
オフラインデ...
今日話さないこと
オフラインデータ同期
http://channel9.msdn.com/Events/de-code/2014/SV-007
http://channel9.msdn.com/Events/de-code/2014/SV-007
クライアントはSQLiteまたは
CoreDataがデータを保持
同じデータを複数の人が更新した
場合、競合を検出できる
サンプルはGithubで
https://github.com/Azure/mobile
-services-
s...
でもお高いんで
しょ?
無料
http://azure.microsoft.com/ja-jp/pricing/details/mobile-services/
http://azure.microsoft.com/ja-jp/pricing/details/sql-database/
ちょろっと遊ぶだけなら無料
無料で足りなくなったら、大体
2000円程度。(2015/3月時点)
モバイルサービスが約1500円/月
SQL Databaseが約600円/月
送信データ転送量込みです。
JOIN NOW!
http://azure.microsoft.com/ja-jp/pricing/free-trial/
無料枠あります
http://azure.microsoft.com/ja-jp/pricing/free-trial/
月々約15000円
http://azure.microsoft.com/ja-jp/pricing/free-trial/
スマホアプリを作りたい
モバイルサービスとは
チャットアプリ開発
ユーザーの動向を知りたい
Mobile Engagement
サービスを外部に公開したい
API Management
チャットアプリ開発
Why?
何故開発する?
登場人物達
登場人物達
デベロッパー(私)
デベロッパー
ユーザー
ユーザー
グループで会話するとき
デベロッパー(私)
デベロッパー
ユーザー
ユーザー
_人人人人人人人人人人人人_
> 今時まさかのメール! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
デベロッパー(私)
デベロッパー
ユーザー
ユーザー
@docomo.ne.jp
@gmail.com
×
_人人人人人人人人人人人人_
> 迷惑メールブロック! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
デベロッパー(私)
デベロッパー
ユーザー
ユーザー
@docomo.ne.jp
@gmail.com
×
今時ありえん。
設定変えて
デベロッパー(私)
デベロッパー
ユーザー
ユーザー
@docomo.ne.jp
@gmail.com
×
え?なにそれ
わからんわ
デベロッパー(私)
デベロッパー
ユーザー
ユーザー
@docomo.ne.jp
@gmail.com
×
Facebook とか Line
にしよう
デベロッパー(私)
デベロッパー
ユーザー
ユーザー
@docomo.ne.jp
@gmail.com
×
すまんが、娑婆に出
られないのでSNSは
ちょっと…
デベロッパー(私)
デベロッパー
ユーザー
ユーザー
@docomo.ne.jp
@gmail.com
×
アプリ作るか…
とまぁ、こんな軽いノリで始めた。
以降はスライドごとにコードを
Githubにアップしてますので
確認してください
https://github.com/nnasaki/JAZUG
-
AOMORI/pulls?q=is%3Apr+is%3Ac...
Githubにプロジェクト登録
• git追加
• .gitignore更新
• githubへプッシュ
• https://github.com/nnasaki/JAZUG-
AOMORI
レイアウト変更
• チェックボックス消す
• 発言を下に持ってくる
– listViewToDo layout:weight 1
Doneで入力できるように
• 改行を禁止にする
– android:autoText="false"
– android:inputType="text”
• ボタンイベントを追加する
– setOnEditorActionListenerを...
最新のチャットを確認したい
• スクロールを常に下になるように
– android:stackFromBottom="true”
– android:transcriptMode="alwaysScroll"
名前入力欄の追加
• 画面上部に名前入力欄のラベルとテキス
トボックスを追加する
– ActivityにmTextNewToDoと同様に追加
– ItemにmTextと同様に追加
折り返し地点
時間を表示したい
• Mobile Services がデフォルトで持ってい
る、__createdAt を利用する
– row_list_to_do.xml に LinearLayoutを追加
– 発言者と日付を用意する
– ToDoItem...
それっぽくなってきた
サーバースクリプト修正なし
• 名前のカラムを追加したのに何故?
サーバースクリプト修正なし
• 名前のカラムを追加したのに何故?
動的スキーマ
アプリを配布する
• DeployGateを使用する
• Google Play ではなくても配布可能
• 自己署名のアプリなので設定の変更が必
要
アプリ配布方法
• Android Studio で Generate Signed
APK で APK 作成
• できあがったAPKをDeployGateにドラッ
グアンドドロップ
アプリインストール方法
• 共有リンクを作成する
• DeployGateをインストールする
• 自作したapkをインストールする
適当に文字をうっててください。
目標はみんなで100行!!
名無し防止
• 名前のテキストのlengthをチェック
• コメントのlengthをチェック
• toast表示
これで解決したかと思いきや…
_人人人人人人人人人_
> 結局届かない! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y ̄
×
スマホアプリを作りたい
モバイルサービスとは
チャットアプリ開発
ユーザーの動向を知りたい
Mobile Engagement
サービスを外部に公開したい
API Management
Mobile Engagementとは
Getting Started
• とりあえずポータルで作成
ユーザーの使用状況を把握でき
る
• リアルタイムに使用状況がわかる
• ユーザー数など統計がとれる
キャンペーンが打てる
• 広告やキャンペーンの通知をプッシュ配
信できる
• 結果を確認できる
その他
• クラッシュやエラー解析
• まだ出たばかりでよくわからない
• プレビュー申込が必要
• とにかくスゴイ安いので使ってみてくだ
さい
Getting Started
• とりあえずポータルで作成
• チュートリアルをやってみる
– http://azure.microsoft.com/ja-
jp/documentation/articles/mobile-engagemen...
スマホアプリを作りたい
モバイルサービスとは
チャットアプリ開発
ユーザーの動向を知りたい
Mobile Engagement
サービスを外部に公開したい
API Management
サービスを外部に公開したい
どういうこと?
たとえばサービスがめっちゃ成功したとき
APIをフリーミアムで公開したい
つまりどういうこと?
Twitterみたいなことしたいとき
http://azure.microsoft.com/ja-jp/services/api-management/
http://azure.microsoft.com/ja-jp/services/api-management/
モバイル
サービス
YOU
アクセス制御
自動ドキュメント作成
キャッシュ
マルチリージョン
参考リンク集
公式リソース
Microsoft Azure Mobile Services
http://azure.microsoft.com/ja-jp/services/mobile-services/
チュートリアル
http://azure.mic...
フォローアップ情報
github azure-mobile-services
https://github.com/Azure/azure-mobile-services
github mobile-services-samples
https...
私のブログや記事
nnasakiのブログ(近々移転するかも)
http://nnasaki.hatenablog.com/
Windows Azureモバイルサービスの基礎 - 技術評論社
http://gihyo.jp/dev/serial/...
ユーザーグループ
Japan Azure User Group(JAZUG)
http://r.jazug.jp/
Japan Azure User Group | Doorkeeper
http://jazug.doorkeeper.jp/
...
スマホアプリを作りたい
モバイルサービスとは
チャットアプリ開発
ユーザーの動向を知りたい
Mobile Engagement
サービスを外部に公開したい
API Management
スマホアプリを作りたい
モバイルサービスとは
チャットアプリ開発
ユーザーの動向を知りたい
Mobile Engagement
サービスを外部に公開したい
API Management
ちょっと戻っ
てみよう
サーバースクリプト修正
• モバイルサービスのデフォルトは50行ま
でしか返却しない
• チャットなので割り切って最新50行だけ
取るようにする
• ページングはそのうち実装
サーバースクリプト修正
• カウントだけを取得する術が無い
– SQLを直接書く
• スキップして最新50だけ取る
プッシュ通知
ここからはGithubにまだ置いていません。
2015/4/4 の JAZUG 福島で話します。
https://jazug.doorkeeper.jp/events/21078
プッシュ通知
• 基本チュートリアルをなぞっていきますが日
本語訳がAndroid Studioに対応していないの
で古い
• 英語と日本語の両方を見ていきます
– http://azure.microsoft.com/ja-
jp/docum...
プッシュ通知
• Genymotionの場合受け取れない。
– 細工をすれば可能
– http://forum.xda-
developers.com/showthread.php?t=2528
952
• ARM Translation In...
Google Cloud Messaging を有効
にする
• Google Cloud Console Web でプロジェ
クト作成
– https://console.developers.google.com/p
roject
• Go...
Mobile Services にAPIキーを入力
する
• APIキーをGCMに設定する
アプリケーションにプッシュ通知
を追加する
• ここらへんから日本語が古い
• Android SDKからダウンロード
– Google APIs
– Google Play services
• ビルドのバージョンを合わせる。二つの
ファイル...
アプリケーションにプッシュ通知
を追加する
• コードを修正する
– uses-permissionを追加
• アプリ名を合わせる
– receiver 登録
• アプリ名を合わせる
– build.gradle に play services...
アプリケーションにプッシュ通知
を追加する
• MyHandlerを追加
• サーバーのInsertを修正
Upcoming SlideShare
Loading in …5
×

Microsoft Azure で始める サクサク Android開発 in jazug青森

1,382 views

Published on

[JAZUG青森 今から始めるMicrosoft Azure ~すぐに使えるクラウド活用術~ - Japan Azure User Group | Doorkeeper](https://jazug.doorkeeper.jp/events/20654)
で話しました。

各スライドのサンプルコードは以下にて公開しています。
https://github.com/nnasaki/JAZUG-AOMORI/pulls?q=is%3Apr+is%3Aclosed
(APIキー込みなので、皆さんチェックアウトしてすぐ動くはず)

また、作ったアプリは皆さんのAndroidにインストールして動かせますのでお試しください。
https://dply.me/3qkwyp

Published in: Mobile
  • Be the first to comment

Microsoft Azure で始める サクサク Android開発 in jazug青森

  1. 1. Microsoft Azure で始める サクサク Android開発 JAZUG 青森 2015/03/07 山本 誠樹
  2. 2. 2 自己紹介 Masaki YAMAMOTO Twitter:@nnasaki Microsoft MVP for Microsoft Azure
  3. 3. 今日はAndroid アプリ開発をします
  4. 4. 必要なもの • Azure サブスクリプション • Android Studio – NOT Eclipse • Genymotion – 付属のエミュレーターは遅いのでオススメで きません! – 実機で行うのが一番良い – Push通知が受け取れなかったりするので注意
  5. 5. スマホアプリを作りたい モバイルサービスとは チャットアプリ開発 ユーザーの動向を知りたい Mobile Engagement サービスを外部に公開したい API Management
  6. 6. モバイルサービスとは
  7. 7. プッシュ通知 数分以内に数百万台 タグ付け(合計1億件以上) マルチプラットフォームSDK iOS、Android、Windows、HTML5 認証連携 Facebook、Twitter、Google、Active Directory バックエンド C#、 NodeJS http://azure.microsoft.com/ja-jp/services/mobile-services/
  8. 8. DEMO ポータルからアプリを即実行
  9. 9. モバイルサービスの 仕組み
  10. 10. http://channel9.msdn.com/Events/de-code/2014/SV-007
  11. 11. http://channel9.msdn.com/Events/de-code/2014/SV-007 今日使うところ
  12. 12. SDKがGithubにある! https://github.com/Azure/azure- mobile-services バッグエンドが選べる 手軽なのはJavaScript(NodeJS) Gitリポジトリで開発 オフラインデータ同期 無料で遊べる
  13. 13. 今日話さないこと オフラインデータ同期
  14. 14. http://channel9.msdn.com/Events/de-code/2014/SV-007
  15. 15. http://channel9.msdn.com/Events/de-code/2014/SV-007
  16. 16. クライアントはSQLiteまたは CoreDataがデータを保持 同じデータを複数の人が更新した 場合、競合を検出できる サンプルはGithubで https://github.com/Azure/mobile -services- samples/tree/master/TodoOffline
  17. 17. でもお高いんで しょ?
  18. 18. 無料
  19. 19. http://azure.microsoft.com/ja-jp/pricing/details/mobile-services/
  20. 20. http://azure.microsoft.com/ja-jp/pricing/details/sql-database/
  21. 21. ちょろっと遊ぶだけなら無料 無料で足りなくなったら、大体 2000円程度。(2015/3月時点) モバイルサービスが約1500円/月 SQL Databaseが約600円/月 送信データ転送量込みです。
  22. 22. JOIN NOW! http://azure.microsoft.com/ja-jp/pricing/free-trial/
  23. 23. 無料枠あります http://azure.microsoft.com/ja-jp/pricing/free-trial/
  24. 24. 月々約15000円 http://azure.microsoft.com/ja-jp/pricing/free-trial/
  25. 25. スマホアプリを作りたい モバイルサービスとは チャットアプリ開発 ユーザーの動向を知りたい Mobile Engagement サービスを外部に公開したい API Management
  26. 26. チャットアプリ開発
  27. 27. Why? 何故開発する?
  28. 28. 登場人物達
  29. 29. 登場人物達 デベロッパー(私) デベロッパー ユーザー ユーザー
  30. 30. グループで会話するとき
  31. 31. デベロッパー(私) デベロッパー ユーザー ユーザー
  32. 32. _人人人人人人人人人人人人_ > 今時まさかのメール! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
  33. 33. デベロッパー(私) デベロッパー ユーザー ユーザー @docomo.ne.jp @gmail.com ×
  34. 34. _人人人人人人人人人人人人_ > 迷惑メールブロック! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
  35. 35. デベロッパー(私) デベロッパー ユーザー ユーザー @docomo.ne.jp @gmail.com × 今時ありえん。 設定変えて
  36. 36. デベロッパー(私) デベロッパー ユーザー ユーザー @docomo.ne.jp @gmail.com × え?なにそれ わからんわ
  37. 37. デベロッパー(私) デベロッパー ユーザー ユーザー @docomo.ne.jp @gmail.com × Facebook とか Line にしよう
  38. 38. デベロッパー(私) デベロッパー ユーザー ユーザー @docomo.ne.jp @gmail.com × すまんが、娑婆に出 られないのでSNSは ちょっと…
  39. 39. デベロッパー(私) デベロッパー ユーザー ユーザー @docomo.ne.jp @gmail.com × アプリ作るか…
  40. 40. とまぁ、こんな軽いノリで始めた。 以降はスライドごとにコードを Githubにアップしてますので 確認してください https://github.com/nnasaki/JAZUG - AOMORI/pulls?q=is%3Apr+is%3Acl osed
  41. 41. Githubにプロジェクト登録 • git追加 • .gitignore更新 • githubへプッシュ • https://github.com/nnasaki/JAZUG- AOMORI
  42. 42. レイアウト変更 • チェックボックス消す • 発言を下に持ってくる – listViewToDo layout:weight 1
  43. 43. Doneで入力できるように • 改行を禁止にする – android:autoText="false" – android:inputType="text” • ボタンイベントを追加する – setOnEditorActionListenerを追加 – EditorInfo.IME_ACTION_DONE で判定
  44. 44. 最新のチャットを確認したい • スクロールを常に下になるように – android:stackFromBottom="true” – android:transcriptMode="alwaysScroll"
  45. 45. 名前入力欄の追加 • 画面上部に名前入力欄のラベルとテキス トボックスを追加する – ActivityにmTextNewToDoと同様に追加 – ItemにmTextと同様に追加
  46. 46. 折り返し地点
  47. 47. 時間を表示したい • Mobile Services がデフォルトで持ってい る、__createdAt を利用する – row_list_to_do.xml に LinearLayoutを追加 – 発言者と日付を用意する – ToDoItemに__createdAtのDateを追加 – ToDoItemAdapter にgetViewで情報取得を 追加
  48. 48. それっぽくなってきた
  49. 49. サーバースクリプト修正なし • 名前のカラムを追加したのに何故?
  50. 50. サーバースクリプト修正なし • 名前のカラムを追加したのに何故? 動的スキーマ
  51. 51. アプリを配布する • DeployGateを使用する • Google Play ではなくても配布可能 • 自己署名のアプリなので設定の変更が必 要
  52. 52. アプリ配布方法 • Android Studio で Generate Signed APK で APK 作成 • できあがったAPKをDeployGateにドラッ グアンドドロップ
  53. 53. アプリインストール方法 • 共有リンクを作成する • DeployGateをインストールする • 自作したapkをインストールする
  54. 54. 適当に文字をうっててください。 目標はみんなで100行!!
  55. 55. 名無し防止 • 名前のテキストのlengthをチェック • コメントのlengthをチェック • toast表示
  56. 56. これで解決したかと思いきや…
  57. 57. _人人人人人人人人人_ > 結局届かない! <  ̄Y^Y^Y^Y^Y^Y^Y^Y ̄ ×
  58. 58. スマホアプリを作りたい モバイルサービスとは チャットアプリ開発 ユーザーの動向を知りたい Mobile Engagement サービスを外部に公開したい API Management
  59. 59. Mobile Engagementとは
  60. 60. Getting Started • とりあえずポータルで作成
  61. 61. ユーザーの使用状況を把握でき る • リアルタイムに使用状況がわかる • ユーザー数など統計がとれる
  62. 62. キャンペーンが打てる • 広告やキャンペーンの通知をプッシュ配 信できる • 結果を確認できる
  63. 63. その他 • クラッシュやエラー解析 • まだ出たばかりでよくわからない • プレビュー申込が必要 • とにかくスゴイ安いので使ってみてくだ さい
  64. 64. Getting Started • とりあえずポータルで作成 • チュートリアルをやってみる – http://azure.microsoft.com/ja- jp/documentation/articles/mobile-engagement- android-get-started/ – 長いので Connecting your app to the Mobile Engagement backend の部分だけ
  65. 65. スマホアプリを作りたい モバイルサービスとは チャットアプリ開発 ユーザーの動向を知りたい Mobile Engagement サービスを外部に公開したい API Management
  66. 66. サービスを外部に公開したい
  67. 67. どういうこと? たとえばサービスがめっちゃ成功したとき APIをフリーミアムで公開したい つまりどういうこと? Twitterみたいなことしたいとき
  68. 68. http://azure.microsoft.com/ja-jp/services/api-management/
  69. 69. http://azure.microsoft.com/ja-jp/services/api-management/ モバイル サービス YOU アクセス制御 自動ドキュメント作成 キャッシュ マルチリージョン
  70. 70. 参考リンク集
  71. 71. 公式リソース Microsoft Azure Mobile Services http://azure.microsoft.com/ja-jp/services/mobile-services/ チュートリアル http://azure.microsoft.com/ja-jp/develop/mobile/ 料金表 http://azure.microsoft.com/ja-jp/pricing/details/mobile- services/ Microsoft Azure Japan Team Blog (ブログ) http://blogs.msdn.com/b/windowsazurej/ Azure Mobile Services の Node バックエンドでの Socket.IO の使用 方法 http://blogs.msdn.com/b/windowsazurej/archive/2014/09/02/blo g-how-to-use-socket-io-with-azure-mobile-service-node- backend.aspx
  72. 72. フォローアップ情報 github azure-mobile-services https://github.com/Azure/azure-mobile-services github mobile-services-samples https://github.com/Azure/mobile-services-samples/ パワフル モバイル アプリ開発 ~ 最新 Microsoft Azure Mobile Services をフル活用しよう! ~ | de:code 2014 | Channel 9 http://channel9.msdn.com/Events/de-code/2014/SV-007 Shotaro Suzuki‘s Blog(MSエバンジェリストのBlog) http://blogs.msdn.com/b/shosuz/ S/N Ratio (by SATO Naoki) | Microsoft Azure and more… http://satonaoki.wordpress.com/
  73. 73. 私のブログや記事 nnasakiのブログ(近々移転するかも) http://nnasaki.hatenablog.com/ Windows Azureモバイルサービスの基礎 - 技術評論社 http://gihyo.jp/dev/serial/01/wams/0001 Windows Azureモバイルサービスで作る簡単スマートフォンア プリ - Build Insider http://www.buildinsider.net/web/azuremobilesvc
  74. 74. ユーザーグループ Japan Azure User Group(JAZUG) http://r.jazug.jp/ Japan Azure User Group | Doorkeeper http://jazug.doorkeeper.jp/ facebook page https://www.facebook.com/jazug.jp facebook group https://www.facebook.com/groups/jazug/
  75. 75. スマホアプリを作りたい モバイルサービスとは チャットアプリ開発 ユーザーの動向を知りたい Mobile Engagement サービスを外部に公開したい API Management
  76. 76. スマホアプリを作りたい モバイルサービスとは チャットアプリ開発 ユーザーの動向を知りたい Mobile Engagement サービスを外部に公開したい API Management ちょっと戻っ てみよう
  77. 77. サーバースクリプト修正 • モバイルサービスのデフォルトは50行ま でしか返却しない • チャットなので割り切って最新50行だけ 取るようにする • ページングはそのうち実装
  78. 78. サーバースクリプト修正 • カウントだけを取得する術が無い – SQLを直接書く • スキップして最新50だけ取る
  79. 79. プッシュ通知 ここからはGithubにまだ置いていません。 2015/4/4 の JAZUG 福島で話します。 https://jazug.doorkeeper.jp/events/21078
  80. 80. プッシュ通知 • 基本チュートリアルをなぞっていきますが日 本語訳がAndroid Studioに対応していないの で古い • 英語と日本語の両方を見ていきます – http://azure.microsoft.com/ja- jp/documentation/articles/mobile-services- javascript-backend-android-get-started- push/ – http://azure.microsoft.com/en- us/documentation/articles/mobile-services- javascript-backend-android-get-started- push/
  81. 81. プッシュ通知 • Genymotionの場合受け取れない。 – 細工をすれば可能 – http://forum.xda- developers.com/showthread.php?t=2528 952 • ARM Translation Installer v1.1 • Google Apps for Android をOSのバー ジョンに合わせて入れる
  82. 82. Google Cloud Messaging を有効 にする • Google Cloud Console Web でプロジェ クト作成 – https://console.developers.google.com/p roject • Google Cloud Messaging for Androidを 有効にする • APIキーを発行する
  83. 83. Mobile Services にAPIキーを入力 する • APIキーをGCMに設定する
  84. 84. アプリケーションにプッシュ通知 を追加する • ここらへんから日本語が古い • Android SDKからダウンロード – Google APIs – Google Play services • ビルドのバージョンを合わせる。二つの ファイルを合わせること – gradle.build – AndroidManifest.xml
  85. 85. アプリケーションにプッシュ通知 を追加する • コードを修正する – uses-permissionを追加 • アプリ名を合わせる – receiver 登録 • アプリ名を合わせる – build.gradle に play services-baseを追加 – Activity に SENDER_IDをプロジェクト番号 で追加 – MobileServiceClientをstaticにする
  86. 86. アプリケーションにプッシュ通知 を追加する • MyHandlerを追加 • サーバーのInsertを修正

×