Cloud          활용 교육• baas.io 서비스                고강태                010-8269-3535                james@thinkbee.kr        ...
baas.io 소개    1. baas.io 서비스    2. baas.io 이용    3. baas.io SDK 이용    4. Back End 이용2
1. baas.io 서비스    01. baas.io 란 ?3
01. baas.io 란 ?    baas.io 서비스4
baas.io 서비스                      Baasio 서비스    클라우드 서버에서 앱 서비스를 위한 공간을 제공하고 여러 기    능을 이용할 수 있는 Open API 를 준비해준다 .    개발자는...
백엔드 서비스                     Baasio 서비스    모바일 앱 개발자의 서버측 기능을 제공 , 백엔드 기능 .    -   사용자 관리    -   파일 업 / 다운로드    -   위치 기반 로...
2. baas.io 이용    01.baas.io 서비스 가입    02. My Page    03. 백엔드 앱 목록    04. 백엔드 앱 추가7
baas.io 서비스 가입                 baas.io 이용    앱을 개발하기 전에 baas.io 에서 가입 후 개발에 필요한    SDK 를 다운받으셔야 합니다 . MyPage 에서 앱을 위한    D...
My Page                       baas.io 이용    백엔드 앱을 관리하고 상태를 살펴 볼 수 있다 .9
백엔드 앱 목록                baas.io 이용 백엔드 앱 목록에 두 가지 샘플 앱이 있다 .  - SandBox  - HelloWorld10
백엔드 앱 추가                baas.io 이용 백엔드 앱 목록에 두 가지 샘플 앱이 있다 .11
3. baas.io SDK 이용     01. baas.io Android SDK     02. SDK 다운로드와 설치12
01. baas.io Android SDK     baas.io Android SDK     SDK 구성     SDK for Android13
baas.io Android SDK                              baas.io SDK     baas.io Android client SDK 는 다음과 같이 구성되어 있다     .     •Sa...
baas.io Android SDK                          baas.io SDK baas.io Client SDK for Android 는 Android OS 2.2 이상 , 4.2.x 이하를 지원...
baas.io library project   baas.io SDK안드로이드 라이브러리 프로젝트로 구성되어 있다 . - git 으로 체크아웃해서 사용한다 .16
02. 다운로드와 설치     Git 플러그인 설치17
Git 플러그인 설치                        baas.io SDK baasio SDK 는 git 으로 제공됩니다 . 이용하기 위해서는 eclipse 에서 egit 혹은 jgit 플러그인이 설치되어 있어...
egit plugin 설치플러그인을 설치후 eclipse 를 재시동 한다 .19
Git view 추가이클립스 퍼스펙티브에 Git Repositories view 를 추가한다. - Windows menu -> Show View -> Other ...20
SDK git 주소                            baas.io SDK baasio SDK form anroid 의 라이브러리는 아래 github 에서 체크아웃 할 수 있다 . https://githu...
baasio git 주소                             baas.io SDK git repositories view 에서 Clone a Git repository 를 선택하 면 복사한 git 주소가 ...
import library project   baas.io SDK다운받은 소스는 로컬 git 저장소에 위치하는데 , 여기에는Baasio 안드로이드 프로젝트가 구성되어 있다 .이클립스에서 import 해온다 .* 단 , ...
BaasioAndroid library project                                 baas.io SDKimport 한 프로젝트는 안드로이드 라이브러리 프로젝트로 구성되어 있다 . 속성에서 i...
4.Back end 이용     01. 백엔드 - sandbox     02. 샘플 Startup project 소개     03. 데이터엔터티 BassioEntity     04. GCM Push 이용25
01. 백엔드 -sandbox     백엔드 목록 사용     sandbox 상세 정보26
백엔드 목록 사용                   sandbox 백엔드 앱 목록에는 사용중인 baasio 앱을 볼 수 있다 . 그리고 새로운 앱을 생성할 수 있다 . 여기서는 샘플 앱인 sandbox 를 사용해서 샘플을...
sandbox 앱 상세 정보                sandbox 앱의 기본정보와 데이터브라우저 , 콘솔 , 푸시 관리등 제 공.               baas.io ID 와               Applic...
백엔드 설정 항목                 sandbox        앱 이름과 아이콘        기본 정보 , API 상태 현황        데이터 사용 정의        PUSH 서비스 (GCM) 사용 등록  ...
데이터브라우저                                sandboxkey-value 형태의 데이터를 추가하고 사용할 수 있다 . - 사용자 , 롤 , 그룹 , 파일 , 장치 등 실제 데이터 관리 . 이어...
02.baas.io Startup App     startup 프로젝트 import 하기     startup 프로젝트 제공     AndroidManifest 살펴보기     백엔드 -sandbox 정보 확인     ...
baas.io startup project                      Startup App. github 로 제공하는 baasio 샘플 프로젝트로 , 새로운 baasio 앱을 만드는데 필요한 기본 앱 프로젝트...
startup 프로젝트 제공              Startup App. 제공되는 Startup 프로젝트는 - AndroidMenifest.xml 설정 - Push 서비스를 위한 GCM 모듈이 이미 구현되어 적용 . ...
AndroidManifest 살펴보기                                               Startup App. manifest 에 GCM 관련 퍼미션     <manifest xmlns:...
AndroidManifest 살펴보기                                    Startup App. manifest 에 GCM 리시버 추가<manifest xmlns:android="http://...
AndroidManifest 살펴보기                                   Startup App. manifest 에 GCM 서비스 추가<manifest xmlns:android="http://s...
백엔드 -sandbox 정보 확인               Startup App. baas.io 에 생성된 앱 정보를 확인해서 BaasioConfig.java 에 입력해 주어야 합니다 . 백엔드목록에서 sandbox 의...
BaasioConfig                                                         Startup App. "com.kth.baasio.startup" 위치에 있는 BaasioCo...
Baasio initialize                                                 Startup App. "com.kth.baasio.startup" 위치에 있는 BaasioAppli...
Baasio terminate                                  Startup App. 액티비티 종료시 연결을 해제해 준다 .public class BaasioApplication extends...
03. 데이터엔터티 BassioEntity     데이터엔터티란 ?     BaasioEntity class     MainActivity 적용41
데이터엔터티란 ?                  BassioEntity엔터티란 baas.io 에 저장되는 모든 데이터 . 기본 속성 두가지 .- uuid: 엔터티에서 유일한 식별 값 .- Entity type: user...
데이터 엔터티                       BassioEntity 액티비티 MainActivity.java 에서는 두 개의 버튼으로 - baasio 에 새로운 엔터티 ( 데이터 ) 를 추가하고 - Baasio...
엔터티 생성                                                           Startup App. 레이아웃에 있는 ‘ Bassio 시작하기 ’ 버튼을 클릭하면 BaasioEnti...
엔터티 확인                                                             Startup App. MainActivity.java 에서는 두 개의 버튼으로 - 추가된 값의 생...
04.baas.io Push     GCM 소개46
GCM 소개                                  GCM Push GCM 에서 발급받은 API Key 를 입력해 준다 . -         https://code.google.com/apis/con...
GCM 활성화                                                    GCM Push 1) 새로운 Google API project 생    Google API console 페이지에...
GCM 새 프로젝트        GCM Push 1. 새로운 프로젝트를 추가한다 .49
Sender ID                   GCM Push 2. 새로 추가된 프로젝트의 주소의 맨 뒷자리 숫자가   sender ID 이다 . 이 ID 를 BaasisConfig.java 에 입력한다 .50
GCM for android ON                        GCM Push Services 목록중 Google Cloud Message for Android 스의치를 on 으로 한다 .51
New Key                             GCM Push API key 얻기 - Google API console 페이지에서 API Access 를 선택 하고 Create New Server ke...
API Key           GCM Push API key 얻기 - create 버튼을 실행한다 .53
BaasioConfig                                                         Startup App. GCM Sendter ID 를 BaasioConfig 에 등록한다 .  ...
백엔드 설정 푸시 관리                   GCM Push 백엔드 설정에서 Google API Key 를 등록한다 .55
백엔드 설정 푸시 발송     GCM Push 메시지를 작성해서 발송해 본다 .56
감사합니다 .기본적인 사항을 살펴보셨으니 H3컨퍼런스 발표자료중 앱 만들기를 따라서 해보시면 좀 더 응용된 앱을 개발하실 수 있을 것 입니다 .-  http://www.slideshare.net/kthcorp/b1-ba...
Upcoming SlideShare
Loading in...5
×

안드로이드에서 Baasio 서비스 이용하기

2,408

Published on

KTH에서 제공하고 있는 Baas.io 서비스를 이용해서 안드로이드 앱용 백 엔드 서비스를 이용하기 위한 기본적인 사항을 설명하고 있습니다.

1 Comment
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,408
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Transcript of "안드로이드에서 Baasio 서비스 이용하기 "

  1. 1. Cloud 활용 교육• baas.io 서비스 고강태 010-8269-3535 james@thinkbee.kr @gtko http://goo.gl/9V3H6 http://www.facebook.com/gangtai.goh • VERSION 1.0 • Release Date : 2013.2
  2. 2. baas.io 소개 1. baas.io 서비스 2. baas.io 이용 3. baas.io SDK 이용 4. Back End 이용2
  3. 3. 1. baas.io 서비스 01. baas.io 란 ?3
  4. 4. 01. baas.io 란 ? baas.io 서비스4
  5. 5. baas.io 서비스 Baasio 서비스 클라우드 서버에서 앱 서비스를 위한 공간을 제공하고 여러 기 능을 이용할 수 있는 Open API 를 준비해준다 . 개발자는 RestFull 기반의 Open API 를 호출하기만 하면 서버 공간에 자신만의 백엔드 서비스를 손쉽게 구축할 수 있다 . https://api.baas.io/<user_id>/<app_name>5
  6. 6. 백엔드 서비스 Baasio 서비스 모바일 앱 개발자의 서버측 기능을 제공 , 백엔드 기능 . - 사용자 관리 - 파일 업 / 다운로드 - 위치 기반 로그 - Push 메시지 송 / 수신 - 고객센터 등의 기능6
  7. 7. 2. baas.io 이용 01.baas.io 서비스 가입 02. My Page 03. 백엔드 앱 목록 04. 백엔드 앱 추가7
  8. 8. baas.io 서비스 가입 baas.io 이용 앱을 개발하기 전에 baas.io 에서 가입 후 개발에 필요한 SDK 를 다운받으셔야 합니다 . MyPage 에서 앱을 위한 Data 저장소와 초기 데이터를 저장할 수 있습니다 .8
  9. 9. My Page baas.io 이용 백엔드 앱을 관리하고 상태를 살펴 볼 수 있다 .9
  10. 10. 백엔드 앱 목록 baas.io 이용 백엔드 앱 목록에 두 가지 샘플 앱이 있다 . - SandBox - HelloWorld10
  11. 11. 백엔드 앱 추가 baas.io 이용 백엔드 앱 목록에 두 가지 샘플 앱이 있다 .11
  12. 12. 3. baas.io SDK 이용 01. baas.io Android SDK 02. SDK 다운로드와 설치12
  13. 13. 01. baas.io Android SDK baas.io Android SDK SDK 구성 SDK for Android13
  14. 14. baas.io Android SDK baas.io SDK baas.io Android client SDK 는 다음과 같이 구성되어 있다 . •Sample Project •https://github.com/baasio/baas.io-sample-android •StartUp Project •https://github.com/baasio/baas.io-startup-android •SDK Project •https://github.com/baasio/baas.io-sdk-android •Help Center UI Library Project & Sample •https://github.com/baasio/baas.io-helpcenter-android14
  15. 15. baas.io Android SDK baas.io SDK baas.io Client SDK for Android 는 Android OS 2.2 이상 , 4.2.x 이하를 지원합니다 . baasio 라이브러리는 1) 주 라이브러리 baasio 용 API 라이브러리 프로젝트 2) 다양한 외부 라이브러리로 구성되어 함께 사용하고 있 습니다 . •gcm.jar •spring-android-core-1.0.0.RELEASE.jar •spring-android-rest-template-1.0.0.RELEASE.jar •jackson-core-asl-1.9.1.jar •jackson-mapper-asl-1.9.1.jar •slf4j-android-1.6.1-RC1.jar15
  16. 16. baas.io library project baas.io SDK안드로이드 라이브러리 프로젝트로 구성되어 있다 . - git 으로 체크아웃해서 사용한다 .16
  17. 17. 02. 다운로드와 설치 Git 플러그인 설치17
  18. 18. Git 플러그인 설치 baas.io SDK baasio SDK 는 git 으로 제공됩니다 . 이용하기 위해서는 eclipse 에서 egit 혹은 jgit 플러그인이 설치되어 있어 야 합니다 . Eclipse Plugin 설치 1) Eclipse Marketplace 에서 git 으로 검색후 egit 설 치 2) Software update site 에서 설치 여기서는 Help menu -> Install New Software 로 설치 진 행.18
  19. 19. egit plugin 설치플러그인을 설치후 eclipse 를 재시동 한다 .19
  20. 20. Git view 추가이클립스 퍼스펙티브에 Git Repositories view 를 추가한다. - Windows menu -> Show View -> Other ...20
  21. 21. SDK git 주소 baas.io SDK baasio SDK form anroid 의 라이브러리는 아래 github 에서 체크아웃 할 수 있다 . https://github.com/baasio/baas.io-sdk-android 에서 git 주소를 복사한다 .21
  22. 22. baasio git 주소 baas.io SDK git repositories view 에서 Clone a Git repository 를 선택하 면 복사한 git 주소가 입력된다 .22
  23. 23. import library project baas.io SDK다운받은 소스는 로컬 git 저장소에 위치하는데 , 여기에는Baasio 안드로이드 프로젝트가 구성되어 있다 .이클립스에서 import 해온다 .* 단 , library project 이니copy 하지 않는다 .23
  24. 24. BaasioAndroid library project baas.io SDKimport 한 프로젝트는 안드로이드 라이브러리 프로젝트로 구성되어 있다 . 속성에서 is Library 속성을 확인한다 .24
  25. 25. 4.Back end 이용 01. 백엔드 - sandbox 02. 샘플 Startup project 소개 03. 데이터엔터티 BassioEntity 04. GCM Push 이용25
  26. 26. 01. 백엔드 -sandbox 백엔드 목록 사용 sandbox 상세 정보26
  27. 27. 백엔드 목록 사용 sandbox 백엔드 앱 목록에는 사용중인 baasio 앱을 볼 수 있다 . 그리고 새로운 앱을 생성할 수 있다 . 여기서는 샘플 앱인 sandbox 를 사용해서 샘플을 이용해 보겠다 .27
  28. 28. sandbox 앱 상세 정보 sandbox 앱의 기본정보와 데이터브라우저 , 콘솔 , 푸시 관리등 제 공. baas.io ID 와 Application ID 를 사 용하게 된다 .28
  29. 29. 백엔드 설정 항목 sandbox 앱 이름과 아이콘 기본 정보 , API 상태 현황 데이터 사용 정의 PUSH 서비스 (GCM) 사용 등록 API console29
  30. 30. 데이터브라우저 sandboxkey-value 형태의 데이터를 추가하고 사용할 수 있다 . - 사용자 , 롤 , 그룹 , 파일 , 장치 등 실제 데이터 관리 . 이어서 안드로이드 baasio Startup project 를 통해 사용해 보자 .30
  31. 31. 02.baas.io Startup App startup 프로젝트 import 하기 startup 프로젝트 제공 AndroidManifest 살펴보기 백엔드 -sandbox 정보 확인 BaasioConfig.java 데이터엔터티 BaasioEntity class31
  32. 32. baas.io startup project Startup App. github 로 제공하는 baasio 샘플 프로젝트로 , 새로운 baasio 앱을 만드는데 필요한 기본 앱 프로젝트 파일 제공 . - https://github.com/baasio/baas.io-startup-android BaasioStartupProje ct 로 copy 해서 BaasioAndrodi import library 프로젝트를 추가한다 .32
  33. 33. startup 프로젝트 제공 Startup App. 제공되는 Startup 프로젝트는 - AndroidMenifest.xml 설정 - Push 서비스를 위한 GCM 모듈이 이미 구현되어 적용 . - baas.io 에 가입된 정보 (BaasioConfig.java) - 관련 라이브러리 등을 포함해서 개발자가 손쉽게 baasio 백엔드를 이용한 앱 개발을 할 수 있다 .33
  34. 34. AndroidManifest 살펴보기 Startup App. manifest 에 GCM 관련 퍼미션 <manifest xmlns:android="http://schemas.android.com/apk/res/android" … <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.INTERNET" /> <permission android:name="com.kth.baasio.startup.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.kth.baasio.startup.permission.C2D_MESSAGE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> …34
  35. 35. AndroidManifest 살펴보기 Startup App. manifest 에 GCM 리시버 추가<manifest xmlns:android="http://schemas.android.com/apk/res/android" … <receiver android:name=".gcm.GCMRedirectedBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <!-- Receives the actual messages. --> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <!-- Receives the registration id. --> <actionandroid:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="com.kth.baasio.sample" /> </intent-filter> </receiver …35
  36. 36. AndroidManifest 살펴보기 Startup App. manifest 에 GCM 서비스 추가<manifest xmlns:android="http://schemas.android.com/apk/res/android" … <service android:name=".gcm.GCMIntentService" /> …36
  37. 37. 백엔드 -sandbox 정보 확인 Startup App. baas.io 에 생성된 앱 정보를 확인해서 BaasioConfig.java 에 입력해 주어야 합니다 . 백엔드목록에서 sandbox 의 기본정보 화면에 ID 를 확인 합니다 . baas.io ID Application ID37
  38. 38. BaasioConfig Startup App. "com.kth.baasio.startup" 위치에 있는 BaasioConfig.java 을 열어 , BAASIO_URL, BAASIO_ID, APPLICATION_ID 에 백 엔드의 sandbox 기본정보에 있는 ID 를 입력한다 . public class BaasioConfig { public static final String BAASIO_URL = "https://api.baas.io"; // baas.io member ID public static final String BAASIO_ID = "779460bb-2437-SDFSFD..."; // baas.io application ID public static final String APPLICATION_ID = "779460bb-2437-1..."; // GCM(google cloud messaging service) sender ID public static final String GCM_SENDER_ID = null; } 샘플 백엔드 sandbox 에 정의한 ID38
  39. 39. Baasio initialize Startup App. "com.kth.baasio.startup" 위치에 있는 BaasioApplication.java 은 BaasioConfig 에서 정의한 BAASIO_URL, BAASIO_ID, APPLICATION_ID 를 이용해 초기 화 한다 . public class BaasioApplication extends Application { AsyncTask mGCMRegisterTask; @Override public void onCreate() { super.onCreate(); Baas.io().init(this, BaasioConfig.BAASIO_URL, BaasioConfig.BAASIO_ID, BaasioConfig.APPLICATION_ID); Push 를 위한 GCM mGCMRegisterTask = Baas.io().setGcmEnabled(this, null, new BaasioDeviceCallback() { .. } ); }39
  40. 40. Baasio terminate Startup App. 액티비티 종료시 연결을 해제해 준다 .public class BaasioApplication extends Application { ... @Override public void onTerminate() { if (mGCMRegisterTask != null) { mGCMRegisterTask.cancel(true); } Baas.io().uninit(this); super.onTerminate(); }}40
  41. 41. 03. 데이터엔터티 BassioEntity 데이터엔터티란 ? BaasioEntity class MainActivity 적용41
  42. 42. 데이터엔터티란 ? BassioEntity엔터티란 baas.io 에 저장되는 모든 데이터 . 기본 속성 두가지 .- uuid: 엔터티에서 유일한 식별 값 .- Entity type: users, roles, groups, files, devices ...42
  43. 43. 데이터 엔터티 BassioEntity 액티비티 MainActivity.java 에서는 두 개의 버튼으로 - baasio 에 새로운 엔터티 ( 데이터 ) 를 추가하고 - BaasioEntity class 에서 데이터 엔터티 제공 .43
  44. 44. 엔터티 생성 Startup App. 레이아웃에 있는 ‘ Bassio 시작하기 ’ 버튼을 클릭하면 BaasioEntity ( 데이터 ) 생성 public void onClick(View v) { BaasioEntity entity = new BaasioEntity("greeting"); entity.setProperty("greeting", getString(R.string.success_baasio) + "nn 생성시간 :"+ System.currentTimeMillis()); entity.saveInBackground(new BaasioCallback<BaasioEntity>() { public void onResponse(BaasioEntity response) { if (response != null) { tvBaasio.setText(R.string.success_baasio); savedUuid = response.getUuid(); Toast.makeText(MainActivity.this, " 성공하였습니다 .", Toast.LENGTH_LONG).show(); } } public void onException(BaasioException e) { Log.e("baas.io", e.toString()); Toast.makeText(MainActivity.this, " 실패하였습니다 .", Toast.LENGTH_LONG).show(); } });44
  45. 45. 엔터티 확인 Startup App. MainActivity.java 에서는 두 개의 버튼으로 - 추가된 값의 생성 일자를 확인 public void onClick(View v) { if (savedUuid != null) { BaasioEntity entity = new BaasioEntity("greeting"); entity.setUuid(savedUuid); entity.getInBackground(new BaasioCallback<BaasioEntity>() { @Override public void onResponse(BaasioEntity response) { if (response != null) { String result = response. getProperty("greeting").getTextValue(); tvBaasio.setText(result); Toast.makeText(MainActivity.this, " 성공하였습니다 .", Toast.LENGTH_LONG).show(); } } public void onException(BaasioException e) { Log.e("baas.io", e.toString()); Toast.makeText(MainActivity.this, " 실패하였습니다 .", Toast.LENGTH_LONG).show(); }45 }); }
  46. 46. 04.baas.io Push GCM 소개46
  47. 47. GCM 소개 GCM Push GCM 에서 발급받은 API Key 를 입력해 준다 . - https://code.google.com/apis/console/ 새로운 프로젝트를 추가한다 .47
  48. 48. GCM 활성화 GCM Push 1) 새로운 Google API project 생 Google API console 페이지에서 Services 선택 2) Google Cloud Messaging 을 ‘ On’ 3) API Access 에서 API Key 얻기 서비스 약관 동의 https://code.google.com/apis/console/#project:481516234248
  49. 49. GCM 새 프로젝트 GCM Push 1. 새로운 프로젝트를 추가한다 .49
  50. 50. Sender ID GCM Push 2. 새로 추가된 프로젝트의 주소의 맨 뒷자리 숫자가 sender ID 이다 . 이 ID 를 BaasisConfig.java 에 입력한다 .50
  51. 51. GCM for android ON GCM Push Services 목록중 Google Cloud Message for Android 스의치를 on 으로 한다 .51
  52. 52. New Key GCM Push API key 얻기 - Google API console 페이지에서 API Access 를 선택 하고 Create New Server key… 를 실행한다 .52
  53. 53. API Key GCM Push API key 얻기 - create 버튼을 실행한다 .53
  54. 54. BaasioConfig Startup App. GCM Sendter ID 를 BaasioConfig 에 등록한다 . public class BaasioConfig { public static final String BAASIO_URL = "https://api.baas.io"; // baas.io member ID public static final String BAASIO_ID = "779460bb-2437-SDFSFD..."; // baas.io application ID public static final String APPLICATION_ID = "779460bb-2437-1..."; // GCM(google cloud messaging service) sender ID public static final String GCM_SENDER_ID = “234456778...”; } GCM Sender ID54
  55. 55. 백엔드 설정 푸시 관리 GCM Push 백엔드 설정에서 Google API Key 를 등록한다 .55
  56. 56. 백엔드 설정 푸시 발송 GCM Push 메시지를 작성해서 발송해 본다 .56
  57. 57. 감사합니다 .기본적인 사항을 살펴보셨으니 H3컨퍼런스 발표자료중 앱 만들기를 따라서 해보시면 좀 더 응용된 앱을 개발하실 수 있을 것 입니다 .- http://www.slideshare.net/kthcorp/b1-baasio-sdk20121030v105

×