yapp advanced android 3주차 - baas.io 이해 및 사용

51
Advanced Android Study Advanced Android BaaS.io 13. 8. 3 이준영 1383토요일

Upload: -

Post on 28-Nov-2014

1.343 views

Category:

Technology


6 download

DESCRIPTION

기업형 모바일 앱 개발 동아리 YAPP Advanced Android 3주차 스터디 자료

TRANSCRIPT

Page 1: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

Advanced����������� ������������������  Android

BaaS.io13.����������� ������������������  8.����������� ������������������  3����������� ������������������  이준영

13년 8월 3일 토요일

Page 2: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

BaaS.io?

13년 8월 3일 토요일

Page 3: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

BaaS

‣ Back-end����������� ������������������  as����������� ������������������  a����������� ������������������  Service

‣ 모바일����������� ������������������  애플리케이션에����������� ������������������  특화된����������� ������������������  클라우드����������� ������������������  서비스

‣ 서버사이드����������� ������������������  개발����������� ������������������  능력이����������� ������������������  없어도����������� ������������������  손쉽게����������� ������������������  Back-end����������� ������������������  사용

‣ 모바일����������� ������������������  개발자에게는����������� ������������������  더없이����������� ������������������  좋은����������� ������������������  기능

‣ 모바일����������� ������������������  생태계와����������� ������������������  밀접한����������� ������������������  관련이����������� ������������������  있음

‣ BaaS를����������� ������������������  사용하지����������� ������������������  않으면?

‣ 서버사이드����������� ������������������  SW����������� ������������������  개발에����������� ������������������  큰����������� ������������������  비용����������� ������������������  소요

‣ 운영����������� ������������������  인프라����������� ������������������  확보에����������� ������������������  비용����������� ������������������  소모

13년 8월 3일 토요일

Page 4: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  BaaS.io‣ KTH에서����������� ������������������  개발,����������� ������������������  운영����������� ������������������  중인����������� ������������������  BaaS����������� ������������������  서비스

‣ 특징

‣ 모바일,����������� ������������������  웹,����������� ������������������  서버����������� ������������������  등에서����������� ������������������  사용가능한����������� ������������������  범용����������� ������������������  서비스

‣ 저렴한����������� ������������������  비용

‣ 자체����������� ������������������  서버����������� ������������������  대비����������� ������������������  20%����������� ������������������  수준의����������� ������������������  저렴한����������� ������������������  비용

‣ 멀티����������� ������������������  플랫폼/언어����������� ������������������  지원

‣ iOS,����������� ������������������  Android,����������� ������������������  Javascript,����������� ������������������  REST����������� ������������������  API����������� ������������������  등

‣ Open����������� ������������������  Beta����������� ������������������  서비스����������� ������������������  중

‣ Open����������� ������������������  Beta����������� ������������������  서비스����������� ������������������  기간에는����������� ������������������  프로페셔널도����������� ������������������  무료

‣ 정식����������� ������������������  오픈����������� ������������������  되면����������� ������������������  당연히����������� ������������������  유료서비스

13년 8월 3일 토요일

Page 5: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  BaaS.io‣ 지원����������� ������������������  기능

13년 8월 3일 토요일

Page 6: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  BaaS.io‣ 이용����������� ������������������  절차

13년 8월 3일 토요일

Page 7: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  BaaS.io‣ 가격����������� ������������������  정책

13년 8월 3일 토요일

Page 8: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Wish����������� ������������������  ListApplication에적용하기BaaS.io����������� ������������������  서비스����������� ������������������  이해����������� ������������������  및����������� ������������������  사용

13년 8월 3일 토요일

Page 9: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

생소하겠지만알아야����������� ������������������  할

BaaS.io에����������� ������������������  대한개념

13년 8월 3일 토요일

Page 10: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

주요����������� ������������������  용어����������� ������������������  정의

‣ Entity

‣ 데이터����������� ������������������  단위����������� ������������������  하나,����������� ������������������  일종의����������� ������������������  객체로����������� ������������������  생각하면����������� ������������������  됨

‣ UUID����������� ������������������  Property

‣ 모든����������� ������������������  객체는����������� ������������������  해당����������� ������������������  타입에서����������� ������������������  유일한����������� ������������������  키인����������� ������������������  UUID를����������� ������������������  가짐

‣ POI����������� ������������������  (Point����������� ������������������  of����������� ������������������  Interest)

‣ 관심����������� ������������������  위치

‣ 네비게이션����������� ������������������  등의����������� ������������������  전자지도����������� ������������������  위에����������� ������������������  표시된����������� ������������������  건물과����������� ������������������  상점����������� ������������������  같은특정����������� ������������������  지점(Point)를����������� ������������������  의미

‣ 지도����������� ������������������  서비스����������� ������������������  연동����������� ������������������  시����������� ������������������  특정����������� ������������������  장소를����������� ������������������  표현하기����������� ������������������  위한����������� ������������������  표기명

13년 8월 3일 토요일

Page 11: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  모델����������� ������������������  (1)

‣ 엔티티����������� ������������������  (Entity)

‣ baas.io에서����������� ������������������  저장되는����������� ������������������  모든����������� ������������������  데이터

‣ 유일한����������� ������������������  데이터인����������� ������������������  uuid와����������� ������������������  Entity����������� ������������������  타입을����������� ������������������  기본속성으로����������� ������������������  가짐

‣ 프로퍼티����������� ������������������  (Property)

‣ 엔티티에����������� ������������������  저장된����������� ������������������  데이터들을����������� ������������������  구별하기����������� ������������������  위한����������� ������������������  속성

‣ “사람”이라는����������� ������������������  엔티티가����������� ������������������  있다면“이름”,����������� ������������������  “나이”,����������� ������������������  “성별”����������� ������������������  등이����������� ������������������  프로퍼티

13년 8월 3일 토요일

Page 12: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  모델����������� ������������������  (2)

‣ 엔티티����������� ������������������  타입����������� ������������������  (Entity����������� ������������������  Type)

‣ Baas.io����������� ������������������  기본����������� ������������������  엔티티����������� ������������������  타입

13년 8월 3일 토요일

Page 13: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  모델����������� ������������������  (3)

‣ 사용자����������� ������������������  Entity����������� ������������������  타입

‣ 자신만의����������� ������������������  데이터베이스

‣ 기본����������� ������������������  엔티티����������� ������������������  타입����������� ������������������  이외에����������� ������������������  자신만의����������� ������������������  엔티티����������� ������������������  타입을����������� ������������������  생성����������� ������������������  가능

‣ wishitem����������� ������������������  이라는����������� ������������������  엔티티����������� ������������������  타입을����������� ������������������  지정하여����������� ������������������  컬렉션을����������� ������������������  생성

‣ wishitems����������� ������������������  컬렉션����������� ������������������  생성

‣ wishitems����������� ������������������  컬렉션에����������� ������������������  wishitem����������� ������������������  타입의����������� ������������������  엔티티����������� ������������������  저장

‣ 컬렉션����������� ������������������  이름은����������� ������������������  자동으로����������� ������������������  엔티티����������� ������������������  타입����������� ������������������  이름의����������� ������������������  복수형으로����������� ������������������  생성

‣ Entity����������� ������������������  타입����������� ������������������  이름은����������� ������������������  단수형����������� ������������������  명사����������� ������������������  사용을����������� ������������������  권장

13년 8월 3일 토요일

Page 14: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  모델����������� ������������������  (4)

‣ 엔티티����������� ������������������  속성

‣ 모든����������� ������������������  엔티티는����������� ������������������  baas.io에서����������� ������������������  자동으로����������� ������������������  생성하는����������� ������������������  기본����������� ������������������  속성����������� ������������������  가짐

‣ 추가적으로����������� ������������������  거의����������� ������������������  무한대의����������� ������������������  사용자����������� ������������������  속성들을����������� ������������������  추가����������� ������������������  할����������� ������������������  수����������� ������������������  있음

‣ 기본����������� ������������������  프로퍼티

13년 8월 3일 토요일

Page 15: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  모델����������� ������������������  (5)

‣ 사용자����������� ������������������  엔티티����������� ������������������  타입����������� ������������������  계속

‣ 사용자����������� ������������������  엔티티들은����������� ������������������  “name”이라는����������� ������������������  속성을����������� ������������������  가지고����������� ������������������  있음

‣ 스트링����������� ������������������  형태의����������� ������������������  ID로����������� ������������������  사용

‣ ※����������� ������������������  UUID는����������� ������������������  자바의����������� ������������������  UUID����������� ������������������  라는����������� ������������������  클래스를����������� ������������������  반환

‣ “name”����������� ������������������  속성의����������� ������������������  특징

‣ 1.����������� ������������������  Entity����������� ������������������  생성����������� ������������������  시����������� ������������������  반드시����������� ������������������  지정하지����������� ������������������  않아도����������� ������������������  된다

‣ 2.����������� ������������������  한번����������� ������������������  설정한����������� ������������������  값은����������� ������������������  변경이����������� ������������������  불가능

‣ 3.����������� ������������������  컬렉션����������� ������������������  내에서����������� ������������������  유일해야����������� ������������������  한다.

‣ 4.����������� ������������������  3번����������� ������������������  항목에����������� ������������������  의해����������� ������������������  UUID����������� ������������������  대신����������� ������������������  Entity����������� ������������������  식별����������� ������������������  가능

13년 8월 3일 토요일

Page 16: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  모델����������� ������������������  (6)

‣ 컬렉션����������� ������������������  (Collection)

‣ 모든����������� ������������������  사용자����������� ������������������  데이터����������� ������������������  엔티티는����������� ������������������  Collection����������� ������������������  그룹으로����������� ������������������  관리

‣ 사용자가����������� ������������������  컬렉션����������� ������������������  생성����������� ������������������  시����������� ������������������  영문����������� ������������������  복수형으로����������� ������������������  자동����������� ������������������  생성

‣ e.g.����������� ������������������  story����������� ������������������  ->����������� ������������������  stories,����������� ������������������  board����������� ������������������  ->����������� ������������������  boards����������� ������������������  등

13년 8월 3일 토요일

Page 17: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  모델����������� ������������������  (7)

‣ 컬렉션은����������� ������������������  언제����������� ������������������  생성되나?

‣ 1.����������� ������������������  새로운����������� ������������������  Entity를����������� ������������������  생성할����������� ������������������  때

‣ 생성할����������� ������������������  엔티티가����������� ������������������  컬렉션의����������� ������������������  첫����������� ������������������  엔티티인����������� ������������������  경우

‣ 2.����������� ������������������  관리����������� ������������������  콘솔����������� ������������������  (baas.io����������� ������������������  웹사이트에서)����������� ������������������  컬렉션����������� ������������������  추가

‣ 3.����������� ������������������  API����������� ������������������  Endpoint에서����������� ������������������  호출

‣ 기본����������� ������������������  컬렉션

‣ 기본����������� ������������������  엔티티����������� ������������������  타입의����������� ������������������  복수형����������� ������������������  이름으로����������� ������������������  기본����������� ������������������  컬렉션들이����������� ������������������  있음

‣ users,����������� ������������������  groups,����������� ������������������  roles,����������� ������������������  activities...

13년 8월 3일 토요일

Page 18: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

일단은����������� ������������������  회원����������� ������������������  가입����������� ������������������  먼저http://www.baas.io

13년 8월 3일 토요일

Page 19: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

My����������� ������������������  Page����������� ������������������  구성

13년 8월 3일 토요일

Page 20: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

백엔드����������� ������������������  앱����������� ������������������  추가

13년 8월 3일 토요일

Page 21: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

기본����������� ������������������  정보

13년 8월 3일 토요일

Page 22: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  콘솔

‣ 왼쪽에는����������� ������������������  컬렉션,����������� ������������������  오른쪽에는����������� ������������������  선택된����������� ������������������  컬렉션의����������� ������������������  엔티티����������� ������������������  목록

13년 8월 3일 토요일

Page 23: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  콘솔

‣ 왼쪽에는����������� ������������������  컬렉션,����������� ������������������  오른쪽에는����������� ������������������  선택된����������� ������������������  컬렉션의����������� ������������������  엔티티����������� ������������������  목록

users 컬렉션에 엔티티 추가해보기>> 회원 가입

13년 8월 3일 토요일

Page 24: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  콘솔

‣ 왼쪽에는����������� ������������������  컬렉션,����������� ������������������  오른쪽에는����������� ������������������  선택된����������� ������������������  컬렉션의����������� ������������������  엔티티����������� ������������������  목록

users 컬렉션에 엔티티 추가해보기>> 회원 가입

13년 8월 3일 토요일

Page 25: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  콘솔

‣ 왼쪽에는����������� ������������������  컬렉션,����������� ������������������  오른쪽에는����������� ������������������  선택된����������� ������������������  컬렉션의����������� ������������������  엔티티����������� ������������������  목록

users 컬렉션에 엔티티 추가해보기>> 회원 가입

13년 8월 3일 토요일

Page 26: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

이제,����������� ������������������  앱에적용해봅시다.

13년 8월 3일 토요일

Page 27: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

‣ 다운로드����������� ������������������  후����������� ������������������  압축����������� ������������������  해제����������� ������������������  후����������� ������������������  libs폴더에����������� ������������������  추가

안드로이드용����������� ������������������  SDK����������� ������������������  다운로드

13년 8월 3일 토요일

Page 28: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

라이브러리����������� ������������������  추가

13년 8월 3일 토요일

Page 29: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

BaasioConfig.java����������� ������������������  작성

‣ Baasio에서����������� ������������������  사용할����������� ������������������  값들을����������� ������������������  가지고����������� ������������������  있는����������� ������������������  클래스

‣ 앱����������� ������������������  기본정보����������� ������������������  페이지에서����������� ������������������  확인할����������� ������������������  수����������� ������������������  있음

public class BaasioConfig { public static final String BAASIO_URL = "https://api.baas.io";

// baas.io member ID public static final String BAASIO_ID = "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx";

// baas.io application ID public static final String APPLICATION_ID = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// GCM(google cloud messaging service) sender ID public static final String GCM_SENDER_ID = null;

}

13년 8월 3일 토요일

Page 30: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

Application를����������� ������������������  상속한����������� ������������������  클래스����������� ������������������  작성

‣ WishListApplication.java

public class WishListApplication extends SugarApp { public static BaasioUser user; @Override public void onCreate() { super.onCreate();

//baas.io 초기화 Baas.io().init( this , BaasioConfig.BAASIO_URL //baas.io의 api서버 주소 , BaasioConfig.BAASIO_ID //baas.io id , BaasioConfig.APPLICATION_ID //baas.io에 생성한 애플리케이션 id ); }

@Override public void onTerminate() { Baas.io().uninit(this); //baas.io 종료 super.onTerminate(); }}

13년 8월 3일 토요일

Page 31: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

왜����������� ������������������  SugarApp을����������� ������������������  상속??

‣ 실습����������� ������������������  프로젝트에서����������� ������������������  Sugar����������� ������������������  ORM����������� ������������������  라이브러리를����������� ������������������  사용

‣ Sugar����������� ������������������  ORM은����������� ������������������  DB����������� ������������������  핸들링을����������� ������������������  위해����������� ������������������  자체적으로Application����������� ������������������  클래스를����������� ������������������  상속하고����������� ������������������  있음

‣ 따라서����������� ������������������  Sugar����������� ������������������  ORM과����������� ������������������  Baas.io를����������� ������������������  함께����������� ������������������  사용하려면SugarApp을����������� ������������������  상속받은����������� ������������������  Application����������� ������������������  클래스����������� ������������������  작성

Application

SugarApp

WishListApplication

13년 8월 3일 토요일

Page 32: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

AndroidManifest.xml����������� ������������������  수정

‣ Application����������� ������������������  엘리먼트의����������� ������������������  android:name����������� ������������������  수정

‣ com.orm.SugarApp����������� ������������������  에서����������� ������������������  작성한����������� ������������������  애플리케이션으로����������� ������������������  변경

<application android:allowBackup="true" android:name="yapp.aa.WishListApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >

13년 8월 3일 토요일

Page 33: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

설정����������� ������������������  끝,회원����������� ������������������  가입을

만들어����������� ������������������  봅시다.

13년 8월 3일 토요일

Page 34: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

회원����������� ������������������  가입

‣ BaasioUser.signUpInBackground����������� ������������������  이용

‣ InBackground?

‣ 비동기적으로����������� ������������������  작업을����������� ������������������  수행하고,응답을����������� ������������������  받을����������� ������������������  콜백����������� ������������������  메서드를����������� ������������������  작성해서����������� ������������������  전달

BaasioUser.signUpInBackground(username, // 로그인 시 사용할 계정

name, // 사용자 이름 email, // e-mail password, // 로그인 비밀번호 new BaasioSignUpCallback() { @Override public void onException(BaasioException e) { // 실패한 경우(예외 발생 시 처리) } @Override public void onResponse(BaasioUser user) { // 회원가입이 완료되면 수행할 동작 } });

13년 8월 3일 토요일

Page 35: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

로그인

‣ BaasioUser.signInInBackground����������� ������������������  메서드����������� ������������������  사용

BaasioUser.signInInBackground(mContext, username, password , new BaasioSignInCallback() {

@Override public void onException(BaasioException e) { if (e.getStatusCode() != null) { if (e.getErrorCode() == 201) { // username(ID) 또는 비밀번호 오류 return; } } //기타 오류 }

@Override public void onResponse(BaasioUser response) { if (response != null) { // 로그인 성공 시 수행할 동작 } } });

13년 8월 3일 토요일

Page 36: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

위시����������� ������������������  리스트����������� ������������������  엔티티����������� ������������������  생성

‣ WishItem����������� ������������������  Entity����������� ������������������  생성

‣ 엔티티����������� ������������������  타입을����������� ������������������  wishitem으로����������� ������������������  하면컬렉션은����������� ������������������  자동으로����������� ������������������  wishitems로����������� ������������������  생성

‣ ����������� ������������������  

‣ entity의����������� ������������������  Property����������� ������������������  설정

‣ ����������� ������������������  

BaasioEntity entity = new BaasioEntity("wishitem");

entity.setProperty("name", item.getName());

13년 8월 3일 토요일

Page 37: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

위시리스트����������� ������������������  저장

‣ entity����������� ������������������  객체의����������� ������������������  saveInbackground����������� ������������������  메서드����������� ������������������  사용

entity.saveInBackground(new BaasioCallback<BaasioEntity>() { @Override public void onException(BaasioException e) { // 저장에 실패한 경우 (예외 발생 등) }

@Override public void onResponse(BaasioEntity entity) { // 저장에 성공한 경우 Log.d("save entity", entity.getProperty("name").getTextValue()); }});

13년 8월 3일 토요일

Page 38: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

회원����������� ������������������  가입로그인

데이터����������� ������������������  저장끝!13년 8월 3일 토요일

Page 39: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

일까?

13년 8월 3일 토요일

Page 40: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

일까?

13년 8월 3일 토요일

Page 41: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

엔티티����������� ������������������  간의����������� ������������������  관계와권한에����������� ������������������  대해알아야����������� ������������������  하고,

적용해야����������� ������������������  합니다.

13년 8월 3일 토요일

Page 42: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

위시����������� ������������������  리스트를����������� ������������������  저장했지만..

‣ 누구의����������� ������������������  위시����������� ������������������  리스트인가요?

‣ 로그인����������� ������������������  되어있으니깐����������� ������������������  그����������� ������������������  사람꺼??

‣ 그런����������� ������������������  거����������� ������������������  지정해준����������� ������������������  적이����������� ������������������  아직����������� ������������������  없습니다.

‣ 위시리스트가����������� ������������������  누구의����������� ������������������  것인지����������� ������������������  지정해줘야����������� ������������������  합니다.

‣ 엔티티����������� ������������������  간의����������� ������������������  관계(여기서는����������� ������������������  user와����������� ������������������  wishitem)를Connection����������� ������������������  이라고����������� ������������������  함

User wishes WishItem

13년 8월 3일 토요일

Page 43: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

관계����������� ������������������  지어주기

‣ 위시����������� ������������������  아이템을����������� ������������������  갖고����������� ������������������  싶어하는����������� ������������������  로그인한����������� ������������������  사용자����������� ������������������  가져오기

‣ 연결(connect)����������� ������������������  시키기����������� ������������������  -����������� ������������������  connectInBackgroud����������� ������������������  메서드

BaasioUser user = Baas.io().getSignedInUser();

user.connectInBackground("wish", entity,BaasioEntity.class, new BaasioCallback<BaasioEntity>(){

@Override public void onException(BaasioException e) { // 실패한 경우의 처리 } @Override public void onResponse(BaasioEntity entity) { if(!ObjectUtils.isEmpty(entity)) { // 성공한 경우의 처리 } }});

13년 8월 3일 토요일

Page 44: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

유의����������� ������������������  할����������� ������������������  사항

‣ 관계를����������� ������������������  지어줄����������� ������������������  때는����������� ������������������  관계를����������� ������������������  지어주려는두����������� ������������������  개의����������� ������������������  엔티티가����������� ������������������  모두����������� ������������������  서버에����������� ������������������  저장된����������� ������������������  상태����������� ������������������  이후여야����������� ������������������  함

‣ 따라서����������� ������������������  Wish����������� ������������������  Item����������� ������������������  저장을����������� ������������������  완료한����������� ������������������  콜백����������� ������������������  메서드인onResponse����������� ������������������  메서드����������� ������������������  속에user.connectInBackground를����������� ������������������  작성해줘야����������� ������������������  함

13년 8월 3일 토요일

Page 45: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

사용자의����������� ������������������  권한����������� ������������������  추가

‣ 회원가입을����������� ������������������  하면����������� ������������������  기본적으로����������� ������������������  default����������� ������������������  role으로����������� ������������������  설정

‣ role?

‣ 등급����������� ������������������  정도로����������� ������������������  생각

‣ e.g.����������� ������������������  네이버나����������� ������������������  다음����������� ������������������  카페에서����������� ������������������  운영진,����������� ������������������  일반����������� ������������������  회원,����������� ������������������  열심����������� ������������������  회원����������� ������������������  등.

‣ default����������� ������������������  role을����������� ������������������  가진����������� ������������������  사용자들이����������� ������������������  wishlists����������� ������������������  컬렉션에접근할����������� ������������������  수����������� ������������������  있도록����������� ������������������  설정

13년 8월 3일 토요일

Page 46: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

사용자의����������� ������������������  권한����������� ������������������  추가

‣ 데이터����������� ������������������  브라우저����������� ������������������  >>����������� ������������������  roles����������� ������������������  컬렉션����������� ������������������  >>����������� ������������������  default

13년 8월 3일 토요일

Page 47: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

Roles����������� ������������������  -����������� ������������������  Permission

‣ /wishlists/*����������� ������������������  추가

‣ read,����������� ������������������  create,����������� ������������������  update,����������� ������������������  delete����������� ������������������  권한����������� ������������������  체크

13년 8월 3일 토요일

Page 48: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

실행해����������� ������������������  봅시다.

13년 8월 3일 토요일

Page 49: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

Advanced Android Study

데이터����������� ������������������  브라우저

‣ 컬렉션����������� ������������������  wishlists와����������� ������������������  앱에서����������� ������������������  추가한����������� ������������������  엔티티를����������� ������������������  목록에서����������� ������������������  조회

13년 8월 3일 토요일

Page 50: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

자세한����������� ������������������  사용����������� ������������������  방법은baas.io����������� ������������������  웹사이트의개발����������� ������������������  가이드를참조하세요.

13년 8월 3일 토요일

Page 51: Yapp Advanced Android 3주차 - BaaS.io 이해 및 사용

//댓글  검색BaasioQuery  query  =  new  BaasioQuery();query.setRelation(

               mPost                              //  게시판  글                ,  "write_comment");  //  관계  이름

query.queryInBackground(new  BaasioQueryCallback()  {

       @Override        public  void  onResponse(List<BaasioBaseEntity>  entities,  List<Object>  list,  BaasioQuery  query,  long  timestamp)  {

               //  성공        }

       @Override        public  void  onException(BaasioException  e)  {

               //  실패        }});

13년 8월 3일 토요일