Enviar pesquisa
Carregar
日本Androidの会のハンズオンセミナー資料(20130315)
•
Transferir como PPTX, PDF
•
0 gostou
•
1,158 visualizações
E
eijikushida
Seguir
Educação
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 80
Baixar agora
Recomendados
Titanium勉強会
Titanium勉強会
洋平 前田
Android Studio開発講座
Android Studio開発講座
Keiji Ariyama
Aiwolfseminar2020
Aiwolfseminar2020
Takedaatsushi
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編
Takashi Yoshinaga
Realmの暗号化とAndroid System
Realmの暗号化とAndroid System
Keiji Ariyama
Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05
Yasuhiro Matsuda
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
gree_tech
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
Recomendados
Titanium勉強会
Titanium勉強会
洋平 前田
Android Studio開発講座
Android Studio開発講座
Keiji Ariyama
Aiwolfseminar2020
Aiwolfseminar2020
Takedaatsushi
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編
Takashi Yoshinaga
Realmの暗号化とAndroid System
Realmの暗号化とAndroid System
Keiji Ariyama
Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05
Yasuhiro Matsuda
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
gree_tech
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
61989 hoje 19-e_40-3
61989 hoje 19-e_40-3
Ana Maria
хімія проект, екологія
хімія проект, екологія
yaniva-kat
GIMP pantallazo lehenengoa
GIMP pantallazo lehenengoa
hgdhfvhdf
Produce and record short dialogues
Produce and record short dialogues
Oscar del Estal Martínez
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2
intive
Melanie Marshall 3.8.13
Melanie Marshall 3.8.13
Melanie Marshall
Karolingide%20impeeriumi%20lagunemine
Karolingide%20impeeriumi%20lagunemine
Dagmar Seljamäe
presentatie Lonneke Roza
presentatie Lonneke Roza
Laura van Selm
эффективное продвижение неигровых приложений
эффективное продвижение неигровых приложений
iProspect Russia
La relacion mente cerebro en la filosofía moderna
La relacion mente cerebro en la filosofía moderna
Nombre Apellidos
Basic Electrical Engineering May 2011
Basic Electrical Engineering May 2011
Paramjeet Singh Jamwal
Lavori svolti by Maurizio Putaggio
Lavori svolti by Maurizio Putaggio
Istituto Professionale Servizi alberghieri "Matteotti" di Pisa
Sesión 4 de 5rgr fecha
Sesión 4 de 5rgr fecha
ldominguez830311
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!
Tomoaki Shimizu
[Swift]Google Maps SDKの使い方
[Swift]Google Maps SDKの使い方
亮成 椎木
Android Studioの魅力
Android Studioの魅力
Keiji Ariyama
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋
Tomoaki Shimizu
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Toshiyuki Ienaga
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
Makoto Yamazaki
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
Soichiro Kashima
A Framework for LightUp Applications of Grani
A Framework for LightUp Applications of Grani
Yoshifumi Kawai
Mais conteúdo relacionado
Destaque
61989 hoje 19-e_40-3
61989 hoje 19-e_40-3
Ana Maria
хімія проект, екологія
хімія проект, екологія
yaniva-kat
GIMP pantallazo lehenengoa
GIMP pantallazo lehenengoa
hgdhfvhdf
Produce and record short dialogues
Produce and record short dialogues
Oscar del Estal Martínez
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2
intive
Melanie Marshall 3.8.13
Melanie Marshall 3.8.13
Melanie Marshall
Karolingide%20impeeriumi%20lagunemine
Karolingide%20impeeriumi%20lagunemine
Dagmar Seljamäe
presentatie Lonneke Roza
presentatie Lonneke Roza
Laura van Selm
эффективное продвижение неигровых приложений
эффективное продвижение неигровых приложений
iProspect Russia
La relacion mente cerebro en la filosofía moderna
La relacion mente cerebro en la filosofía moderna
Nombre Apellidos
Basic Electrical Engineering May 2011
Basic Electrical Engineering May 2011
Paramjeet Singh Jamwal
Lavori svolti by Maurizio Putaggio
Lavori svolti by Maurizio Putaggio
Istituto Professionale Servizi alberghieri "Matteotti" di Pisa
Sesión 4 de 5rgr fecha
Sesión 4 de 5rgr fecha
ldominguez830311
Destaque
(13)
61989 hoje 19-e_40-3
61989 hoje 19-e_40-3
хімія проект, екологія
хімія проект, екологія
GIMP pantallazo lehenengoa
GIMP pantallazo lehenengoa
Produce and record short dialogues
Produce and record short dialogues
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2
Melanie Marshall 3.8.13
Melanie Marshall 3.8.13
Karolingide%20impeeriumi%20lagunemine
Karolingide%20impeeriumi%20lagunemine
presentatie Lonneke Roza
presentatie Lonneke Roza
эффективное продвижение неигровых приложений
эффективное продвижение неигровых приложений
La relacion mente cerebro en la filosofía moderna
La relacion mente cerebro en la filosofía moderna
Basic Electrical Engineering May 2011
Basic Electrical Engineering May 2011
Lavori svolti by Maurizio Putaggio
Lavori svolti by Maurizio Putaggio
Sesión 4 de 5rgr fecha
Sesión 4 de 5rgr fecha
Semelhante a 日本Androidの会のハンズオンセミナー資料(20130315)
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!
Tomoaki Shimizu
[Swift]Google Maps SDKの使い方
[Swift]Google Maps SDKの使い方
亮成 椎木
Android Studioの魅力
Android Studioの魅力
Keiji Ariyama
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋
Tomoaki Shimizu
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Toshiyuki Ienaga
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
Makoto Yamazaki
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
Soichiro Kashima
A Framework for LightUp Applications of Grani
A Framework for LightUp Applications of Grani
Yoshifumi Kawai
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
Masayuki Abe
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Tomoaki Shimizu
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Developers Summit
Android0422
Android0422
takahiko_takahashi
cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築
Daein Park
冬だからAndroid再入門
冬だからAndroid再入門
Katsumi Honda
cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携
Tomoaki Shimizu
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
Semelhante a 日本Androidの会のハンズオンセミナー資料(20130315)
(20)
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!
[Swift]Google Maps SDKの使い方
[Swift]Google Maps SDKの使い方
Android Studioの魅力
Android Studioの魅力
Android カスタムROMの作り方
Android カスタムROMの作り方
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
A Framework for LightUp Applications of Grani
A Framework for LightUp Applications of Grani
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Android0422
Android0422
cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築
冬だからAndroid再入門
冬だからAndroid再入門
cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
Último
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
Kochi Eng Camp
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
Kochi Eng Camp
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
Tokyo Institute of Technology
Último
(8)
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
日本Androidの会のハンズオンセミナー資料(20130315)
1.
START
CONTINUE かぶしきがいしゃ SMART DEVICE TECHNOLOGIES 1
2.
START
CONTINUE かぶしきがいしゃ SMART DEVICE TECHNOLOGIES 2
3.
アジェンダ イントロダクション GOOGLE MAP API
V2のじっそう 3
4.
アジェンダ イントロダクション GOOGLE MAP API
V2のじっそう 4
5.
イントロダク ション こうししょうかい きょうのゴール
5
6.
イントロダク ション こうししょうかい きょうのゴール
6
7.
つっちー せいべつ
: おとこ ちから : 10 しょくぎょう: ゆうしゃ 0 レベル:26 すばやさ : 21 たいりょく: 99 9 スキル かしこさ : 47 ANDROID うんのよさ: 55 JQUERYery PHP こうげき : 16 しゅび : 26 7
8.
かんば せいべつ
: おとこ ちから : 48 しょくぎょう: プログラマ レベル:28 すばやさ : 21 たいりょく: 25 かしこさ : 99 9 スキル ANDROID うんのよさ: 97 UNITY 3Dity こうげき : 16 PHP しゅび : 26 8
9.
くし せいべつ
: おとこ ちから : 0 しょくぎょう: プログラマ レベル:36 すばやさ : 0 たいりょく: 0 かしこさ : 0 スキル うんのよさ: 99 ANDROID 9 IPHONEe こうげき : 0 PHP しゅび : 0 9
10.
イントロダク ション こうししょうかい きょうのゴール
10
11.
今日のゴール 「... Google Map
Android API V2を利用して、 スライムをタッチした位置へ移動させるアプリを作ってみよう」 11
12.
Google Map V2の実装 Google
Play servicesをダウンロードする APIキーを取得する Androidプロジェクトをつくる マニフェストを設定する 地図を実装する 地図にスライム等を設置する スライムをタッチした位置に移動させる 12
13.
Google Map V2の実装 Google
Play servicesをダウンロードする APIキーを取得する Androidプロジェクトをつくる マニフェストを設定する 地図を実装する 地図にスライム等を設置する スライムをタッチした位置に移動させる 13
14.
Google Play servicesをダウンロードする
ダウンロードする ライブラリを組み込む 14
15.
Google Play servicesをダウンロードする
ダウンロードする ライブラリを組み込む 15
16.
Android
SDK Manager 「Google Play servicesの最新版を ダウンロードする」 16
17.
Eclipse 「File > New
> Other ... を選んで Android Project from Existing codeを選ぶ。」 17
18.
☆Android-SDKをインス
トールした場所 Eclipse C:Androidandroid-sdk 「ルートディレクトリに以下を指定する」 /extras/google/google_play_services/libproject/google- play-services_lib 18
19.
Google Play servicesをダウンロードする
ダウンロードする ライブラリを組み込む 19
20.
Eclipse 「プロパティ > Android
>ライブラリ>追加を選択 し、Google-play-services_libを追加」 20
21.
Google Map v2の実装 Google
Play servicesをダウンロードする APIキーを取得する Androidプロジェクトをつくる マニフェストを設定する 地図を実装する 地図にスライム等を設置する スライムをタッチした位置に移動させる 21
22.
APIキーを取得する Google APIs Consoleにアクセス Google
Maps Android API V2をONにする APIキーをメモる 22
23.
APIキーを取得する Google APIs Consoleにアクセス Google
Maps Android API V2をONにする APIキーをメモる 23
24.
https://code.google.com
/apis/console/ ブラウザ Google APIs Consoleにアクセスし、「Create Project」をクリックしてプロジェクトを作成す る。 24
25.
APIキーを取得する Google APIs Consoleにアクセス Google
Maps Android API V2をONにする APIキーをメモる 25
26.
ブラウザ Create > プロジェクト名を入力し、Create projectを選択する。
26
27.
ブラウザ サービス一覧の中から「Google Maps Android
API v2をONにする」 27
28.
APIキーを取得する Google APIs Consoleにアクセス Google
Maps Android API V2をONにする APIキーをメモる 28
29.
ブラウザ API Accessを選び、Simple API
Access欄の「API key」をメモする 29
30.
Google Map v2の実装 Google
Play servicesをダウンロードする APIキーを取得する Androidプロジェクトをつくる マニフェストを設定する 地図を実装する 地図にスライム等を設置する スライムをタッチした位置に移動させる 30
31.
Androidプロジェクトをつくる 今回は、以下のプロジェクトを作成します。 ・プロジェクト名
:MoveMap ・パッケージ名 :jp.smartdt.movemap ・Min SDK Version : 8(Android2.2) ・Target SDK Version : 8(Android2.2) ・Compile With : 8(Android2.2) 31
32.
Google Map v2の実装 Google
Play servicesをダウンロードする APIキーを取得する Androidプロジェクトをつくる マニフェストを設定する 地図を実装する 地図にスライム等を設置する スライムをタッチした位置に移動させる 32
33.
マニフェストを設定する 地図データ受信の許可 Google APIへのアクセス許可 インターネットへのアクセス許可 地図のキャッシュ保存(SDカードへのアクセス)許可 位置情報へのアクセス許可 OpenGL ESの設定 APIキーの設定
33
34.
パッケージ名は、ご自分の環 AndroidManifest.xml
境に合わせてください。 <permission android:name="jp.smartdt.movemap.permission.MAPS_RECEIVE" android:protectionLevel="signature"></permission> <uses-permission android:name="jp.smartdt.movemap.permission.MAPS_RECEIVE"/> <!-- Google API へのアクセス --> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERV ICES" /> <!-- インターネットへのアクセス --> <uses-permission android:name="android.permission.INTERNET" /> 34
35.
AndroidManifest.xml <!-- 外部SDカードへの書き込み --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/> <!-- 位置情報の取得 (Wi-Fi経由) --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 位置情報の取得 (GPS経由) --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- OpenGL ES version 2 --> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> 35
36.
AndroidManifest.xml Google APIの認証キーを入力する。 (applicationタグの中,Activityタグの外) <!-- Google
API の認証キー --> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your_api_key" /> ご自分のAPIキーをセット 今回は、「AIzaSyAAG3hruz7sJH8ST3cx-nUDy14egjUehng」を 用してください。 36
37.
Google Map v2の実装 Google
Play servicesをダウンロードする APIキーを取得する Androidプロジェクトをつくる マニフェストを設定する 地図を実装する 地図にスライム等を設置する スライムをタッチした位置に移動させる 37
38.
地図を実装する 画面レイアウトの作成 画面クラスの作成 地図へのアクセス
38
39.
地図を実装する 画面レイアウトの作成 画面クラスの作成 地図へのアクセス
39
40.
activity_main.xml 地図表示用のXMLファイルを設定する。 <fragment
android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment" /> 40
41.
地図を実装する 画面レイアウトの作成 画面クラスの作成 地図へのアクセス
41
42.
MainActivity.java 画面クラスを作成する。 import android.os.Bundle; import android.support.v4.app.FragmentActivity; public
class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } 42
43.
Eclipse 「出来たら、RUNボタンを押して、実行してみよう。」
43
44.
Android 「地図が表示された … でも、赤道直下だった。明星大学を表示させてみよう」
44
45.
地図を実装する 画面レイアウトの作成 画面クラスの作成 地図へのアクセス
45
46.
MainActivity.java 地図にアクセスするための準備をしよう /**
* 初期座標 */ private static final LatLng START_POS = new LatLng(35.645185, 139.408532); /** * 地図 */ private GoogleMap map; /** * カメラ */ private CameraUpdate camera; /** * マーカーを設置する設定 */ private MarkerOptions markers; 46
47.
MainActivity.java /**
* XMLレイアウトのロード */ private void findView() { // FragmentManagerのロード final FragmentManager manager = getSupportFragmentManager(); // MapFragmentのロード final SupportMapFragment frag = (SupportMapFragment) manager.findFragmentById(R.id.map); // Map内容のロード map = frag.getMap(); } 47
48.
MainActivity.java /**
* 地図の設定 */ private void setup() { // カメラの基本的な設定をセット final CameraPosition pos = new CameraPosition(START_POS,16, 0, 0); // カメラにセット camera = CameraUpdateFactory.newCameraPosition(pos); // カメラの位置に移動 map.moveCamera(camera); // マーカーの準備 markers = new MarkerOptions(); // マーカーの座標を決定 markers.position(START_POS); // マーカーを追加 map.addMarker(markers); } 48
49.
MainActivity.java @Override
protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findView(); setup(); } 49
50.
Eclipse 「出来たら、RUNボタンを押して、実行してみよう。」
50
51.
Android 「やった!
明星大学が表示された!!!」 51
52.
Google Map v2の実装 Google
Play servicesをダウンロードする APIキーを取得する Androidプロジェクトをつくる マニフェストを設定する 地図を実装する 地図にスライム等を設置する スライムをタッチした位置に移動させる 52
53.
地図にスライムを設置する 関連クラスの作成 スライムの配置
お城の配置 53
54.
地図にスライムを設置する 関連クラスの作成 スライムの配置
お城の配置 54
55.
講師 スライム用クラス等をつくりましょう。 今回は、時間の都合上、以下のファイルをご自分のプロジェクトへコ ピーしてください。 【実装ファイル】 ・Player.java ・GameObject.java ・Message.java ◆ファイルのコピー先は、 jp.smartdt.movemapの配下
55
56.
講師 MoveMap/resの配下にdrawableフォルダを作成する。 作成したフォルダに、以下の3ファイルをコピーする 【画像ファイル】 ・castle.png ・slime_b.png ・slime.png
56
57.
地図にスライムを設置する 関連クラスの作成 スライムの配置
お城の配置 57
58.
MainActivity.java /**
* 画面に描画されるキャラクター */ private Player player; /** * マップに描画するプレイヤー以外のオブジェクト */ private final ArrayList<GameObject> objects = new ArrayList<GameObject>(); 58
59.
MainActivity.java /**
* 地図の設定 */ private void setup() { ~ 省略 ~ // マーカーの座標を決定 markers.position(MainActivity.STRAT_POS); // プレイヤー情報を設定 player = new Player(MainActivity.this, R.drawable.slime,MainActivity.START_POS); // マーカーの画像を決定 markers.icon(player.getIcon()); // マーカーを追加 map.addMarker(markers); } 59
60.
Eclipse 「出来たら、RUNボタンを押して、実行してみよう。」
60
61.
Android 「明星大学の位置にスライムが出現 … おー!」
61
62.
地図にスライムを設置する 関連クラスの作成 スライムの配置
お城の配置 62
63.
MainActivity.java /**
* SDT座標 */ private static final LatLng SDT_POS = new LatLng(35.710356,139.752034); /** * バックグラウンドからUIへ影響を与えるためのハンダラ */ private Handler handler; 63
64.
MainActivity.java /**
* プレイヤー以外のオブジェクトを描画するメソッド */ private void drawObject() { for (final GameObject obj : objects) { markers.icon(obj.getIcon()); markers.position(obj.getPos()); markers.title(obj.message.get(0)); map.addMarker(markers); } } 64
65.
MainActivity.java /**
* その他のデータをセット */ private void setup() { ~ ~ 省略 ~~ //ハンドラーを用意 handler = new Handler(); //お城を建てる objects.add(new GameObject(R.drawable.castle, SDT_POS, "すまーとでばいすて くのろじー へ ようこそ!")); drawObject(); } 65
66.
Eclipse 「出来たら、RUNボタンを押して、実行してみよう。」
66
67.
Android 「お城が出現 …した」
67
68.
Google Map v2の実装 Google
Play servicesをダウンロードする APIキーを取得する Androidプロジェクトをつくる マニフェストを設定する 地図を実装する 地図にスライムを設置する スライムをタッチした位置に移動させる 68
69.
スライムをタッチした位置に移動させる 移動するメソッドを実装する クリックイベントを設定する
69
70.
スライムをタッチした位置に移動させる 移動するメソッドを実装する クリックイベントを設定する
70
71.
MainActivity.java /**
* 1フレーム時間 */ private final static int ONE_FRAME_TIME = 1000 / 60; /** * バックグラウンドで処理を行うためのスレッド */ private Thread thread; 71
72.
MainActivity.java /**
* 移動を行うメソッド * @param end 移動先の緯度・経度 */ private void move(final LatLng end) { // 目的地と現在の縮尺を渡す player.setEndPosition(end, map.getCameraPosition().zoom); thread = new Thread(new Runnable() { @Override public void run() { handler.post(new Runnable() { @Override public void run() { //~ メソッドの中身は、次ページ ~ } }); } }); thread.start(); } 72
73.
MainActivity.java ☆☆ runメソッド内に記載する
☆☆ while (player.isMoving()) { long time = System.currentTimeMillis(); player.move(); markers.icon(player.getIcon()); // 前回までの描画を消去 map.clear(); // 画像の描画位置を決定 markers.position(player.getPosition()); // 画像を描画 map.addMarker(markers); camera = CameraUpdateFactory.newLatLng(player.getPosition()); map.moveCamera(camera); ~ 次のページへつづく ~ 73
74.
MainActivity.java
// プレイヤー以外のオブジェクトを描画 drawObject(); // 規定時間内なら規定時間まで処理を中断する time = System.currentTimeMillis() - time; if (time < ONE_FRAME_TIME) { try { Thread.sleep(ONE_FRAME_TIME- time); } catch (final InterruptedException e) { e.printStackTrace(); } } //end of if }//end of while 74
75.
スライムをタッチした位置に移動させる クリックイベントを設定する 移動するメソッドを実装する
75
76.
MainActivity.java /**
* イベントリスナーをセット */ private void setEventListener() { map.setOnMapClickListener(new OnMapClickListener() { @Override public void onMapClick(final LatLng end) { move(end); } }); } 76
77.
MainActivity.java @Override
protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findView(); setup(); setEventListener(); } 77
78.
MainActivity.java 「出来たら、RUNボタンを押して、実行してみよう。」
78
79.
Android 「スライムが移動した。 感動??」
79
80.
まとめ Google Play Serviceは、便利! 他にも、便利なサービスがいっぱい!
・プッシュ通知 Google Cloud Messaging for Android ・Youtube連携 YouTube Data API v3 皆さんも、いろいろチャレンジしてみましょう! 80
Baixar agora