SlideShare una empresa de Scribd logo
1 de 164
Descargar para leer sin conexión
ANDROID
 -
 DAY
 3.
 
 
 
DATABASE를
 만나러
 가다.
학습목표
이 학습을 마치면…

-SQLite를 사용하여 앱 내부의 데이터베이스를 사용하여 	

자료를 보관할 수 있습니다.	

!

-JSON방식의 파일을 파싱하여 안드로이드 내부에서 활용 할 수 있습니다.
이때까지 HTML로 구현한 게시판을	

안드로이드 플랫폼에서 다시 구현을 합니다.
하지만 서버(백엔드)부분은	

공통적으로 이용을 하므로	

클라이언트(프론트엔드) 부분만 다시 만들면 됩니다.
지금까지 버튼, 텍스트뷰 등 각종 위젯이나	

커스텀 어뎁터를 사용한 리스트 뷰등	

UI관련된 API들을 사용법을 배웠는데	

!

지금부터는 네트워킹,DB등의	

여러 부분을 같이?! 해야 합니다.
앱 기획
안드로이드로 웹에 있는 게시글들을 보고	

원하는 글을 보거나 사진을 올릴수 있는	

게시판 앱을 만들고 싶다!	

!

-NEXTAGRAM-
메인화면

메인화면에는 게시글들을 볼 수 있고…
메인화면

게시글 하나를 터치하면 내용을 볼 수 있고.

글 읽기
메인화면

글쓰기 버튼을 터치하면	

게시글 입력 창이 나오고

글 읽기
메인화면
앨범에 있는	

사진을 선택하고

글 읽기
메인화면

글 쓰기
글쓰기 버튼을 누르면	

글이 업로드되서	

새로 리스트에 추가가 된다.

글 읽기
메인화면

글 쓰기

글 읽기
SERVER

Main

이때까지 만든 서버

Proxy
안드로이드	

메인 클래스	

(게시글 목록)

ProxyUP

서버 데이터 로드 클래스

서버 데이터 업로드 클래스

Dao
안드로이드폰 자체의 DB(SQLite)에	

데이터를 관리하는 클래스
SERVER

Main

1)데이터 요청

Proxy

ProxyUP

Dao
SERVER

Main

2)서버로 부터JSON으로 데이터 받음
1)데이터 요청

Proxy

ProxyUP

Dao
SERVER

Main

2)서버로 부터JSON으로 데이터 받음
1)데이터 요청

Proxy

ProxyUP

3)서버로부터 받은 데이터를 전달

Dao
SERVER

Main

2)서버로 부터JSON으로 데이터 받음
1)데이터 요청

Proxy

ProxyUP

3)서버로부터 받은 데이터를 전달

Dao
4)JSON 데이터를 Dao에 전달
SERVER

Main

2)서버로 부터JSON으로 데이터 받음
1)데이터 요청

Proxy

ProxyUP

3)서버로부터 받은 데이터를 전달

Dao
4)JSON 데이터를 Dao에 전달
5)JSON 데이터를 파싱하여	

SQLite에 insert하기
SERVER

Main

2)서버로 부터JSON으로 데이터 받음
1)데이터 요청

Proxy

ProxyUP

3)서버로부터 받은 데이터를 전달

Dao
4)JSON 데이터를 Dao에 전달
5)JSON 데이터를 파싱하여	

SQLite에 insert하기
6)Dao에 저장되어 있는 게시글 데이터를 가져오기
SERVER

Main

2)서버로 부터JSON으로 데이터 받음
1)데이터 요청

Proxy

ProxyUP

3)서버로부터 받은 데이터를 전달

Dao
4)JSON 데이터를 Dao에 전달
7)Dao로 부터 가져온	

데이터를 리스트에 표시

5)JSON 데이터를 파싱하여	

SQLite에 insert하기

6)Dao에 저장되어 있는 게시글 데이터를 가져오기
SERVER

Main

Proxy

8)글 입력 창으로 이동

ProxyUP

ArticleWrite
Dao

7)Dao로 부터 가져온	

데이터를 리스트에 표시
SERVER

Main

Proxy

8)글 입력 창으로 이동

ProxyUP

ArticleWrite

9)글 제목,내용, 사진 경로등을 전달

Dao
7)Dao로 부터 가져온	

데이터를 리스트에 표시
SERVER

Main

10)post방식으로 서버에 사진 전송

Proxy

8)글 입력 창으로 이동

ProxyUP

ArticleWrite

9)글 제목,내용, 사진 경로등을 전달

Dao
7)Dao로 부터 가져온	

데이터를 리스트에 표시
Q) 불필요한 구조가 많은것 같은데?	

!

A) Main에서 Proxy로 갔다 다시 메인으로 와서	

Dao로 갔다가 또 Main으로 돌아 오는 등 불필요한 부분이 있습니다.	

!

이것은 절차지향적인 설계로 보다 쉽게!? 학습을 위해서 입니다.	

Advanced를 목표로 하는 학생은 독자적으로 설계를 해서	

구현을 하셔도 무방합니다.
Advanced한 설계를 원하시는 분은	

구글에서 권장한 이 방법을 참고해 주세요	

http://~~~
네 많이 복잡하고	

어려워 보입니다…
하지만 천리길도	

한걸음 부터!	

!

그나마 익숙?! 한	

DB를 먼저 구현해 보겠습니다.
Main

DAO (Data Access Objects) 클래스
Dao라는 클래스를 만들어	

데이터를 저장하고 불러오는 과정을	

먼저 구현해 보겠습니다.
SQLite 데이터베이스를 관리하는 클래스
Dao
4)JSON 데이터를 Dao에 전달

5)JSON 데이터를 파싱하여	

SQLite에 insert하기

6)Dao에 저장되어 있는 게시글 데이터를 가져오기
Dao
5)JSON 데이터를 파싱하여	

SQLite에 insert하기

Q) DB를 왜 사용하나요?	

!

A) 안드로이드 자체의 DB를 사용함으로써	

네트워크가 불안정한 상태에서도 게시글의 내용을

화면에 표시를 하는 것이 가능합니다.	

!

특히 해외는 이제서야 3G가 보급되기 시작되고	

불안정한 곳도 많기 때문에 꼭 네트워크가 불안정한 상태를 가정하고	

설계를 해야합니다.	

!

그 외에도 앱 실행 후 빠르게 게시글 내용이 보이는등	

여러 장점이 있습니다.
안드로이드 SQLite사용하기

SQLITE CRUD
Create(생성), Read(읽기), Update(갱신), Delete(삭제)
SQLite란?
SQLite는 MySQL같은 데이터베이스 관리 시스템으로	

!

서버가 아니라 응용 프로그램에 넣어 사용하는	

비교적 가벼운 데이터베이스로	

대규모 작업에는 적합하지 않지만, 중소 규모라면 속도에 손색이 없다. 	

!

또 API는 단순히 라이브러리를 호출하는 것만 있으며	

데이터를 저장하는 데 하나의 파일만을 사용한다.	

!

안드로이드에는 기본 탑재되어 있어 손쉽게 이용이 가능하다.
SQLite란(2)?
SQLiteDB는 파일하나로 구성되어 있으며	

쉽게 DB통째로 복사 및 이동이 가능합니다.	

!

이번예제에서 사용하는 방법은	

/data/data/package_name/databases/DB이름.db	

에 저장이 됩니다.	

!

따로 WRITE_EXTERNAL_STORAGE 권한이 필요없으나	

루팅이 안되어 있는 디바이스에서는 data폴더에 접근을 하지 못합니다.	

!

SQLite파일을 보고 싶으시면 DDMS나 루팅이 되어있는 디바이스, 	

AVD(Genymotion)상에서 확인이 가능 합니다.
SQLite DB 생성하기
SQLite에서는 데이터를 넣기 위해서는	

Table생성보다 먼저 데이터 베이스를 먼저 생성을 해야 합니다.

SqLiteDatabase를 import한 다음 openOrCreateDatabase를	

사용하여 DB파일을 생성거나 DB파일을 읽어줍니다.
안드로이드에서 제공하는 DB 메소드들이 있지만	

JDBC와 동일한 방식으로 DB제어방법을 소개합니다.
테이블 생성

테이블이름

컬럼들…

sql문은 MySql과 동일하며	

execSQL()로 실행합니다.	

!

(AutoIncrement ID와 TITLE을 가지는 테이블)
주의! sqlite에서는	

AUTO_INCREMENT가 아니라	

AUTOINCREMENT입니다.
테이블 삭제

테이블이름

sql문은 MySql과 동일하며	

execSQL()로 실행합니다.
데이터 입력

테이블이름

컬럼명

sql문은 MySql과 동일하며	

execSQL()로 실행합니다.

입력할 데이터
데이터 삭제

테이블이름

ID값이 동일한 것을 삭제

sql문은 MySql과 동일하며	

execSQL()로 실행합니다.
데이터 수정

테이블이름

수정할 데이터

sql문은 MySql과 동일하며	

execSQL()로 실행합니다.

수정할 데이터의 ID
데이터 읽기

sql문은 MySql과 동일하나	

Cursor를 만들고 rawQuery()로 실행합니다.
Cursor

Cursor는 DB의 한행 한행씩 읽어오는데 편리하도록 만들어진	

인터페이스로 while문으로 데이터가 끝날때까지	

반복작업을 할 수 있습니다.
Cursor(2)

Cursor로부터 getString(columnIndex), getInt(columnIndex)로	

각 행마다의 데이터를 가져올 수 있습니다.	

0

!
인자는 컬럼 번호를 뜻합니다.

1

2

3
Cursor(3)

Cursor는 꼭 .close()를 해주지 않으면	

메모리 누수가 발생하므로	

꼭 사용후에는 닫아줍시다.
DB가 오류나면 앱이 바로 종료되요!
TRY CATCH!

중복으로 테이블을 생성한다던지	

유니크인 칼럼에 중복데이터를 넣는다던지 등등	

!

try catch문으로 오류가 발생하여도	

문제가 없도록 예외처리를 해서	

앱이 멈추지 않고 계속 진행하도록 합니다.
테이블 중복 확인을 위한 쿼리로 보호

테이블을 중복 생성을 하려고 하면 오류가 발생합니다.	

CREATE TABLE하기 전에 테이블이 중복이 있는지 확인하는	

쿼리를 날리던지
아니면	

create table if not exists 등으로 쿼리를 잘 짜야하던지 등등	

!

여러 상황이 있을 수 있고 여러 해결 방법이 있지만	

그래도 Try Catch는 생활화 합시다.
안드로이드에서 DB를 사용할 때에는	

일반적인 SQL문을 직접 작성해서 질의를 할 수 있지만	

안드로이드 API를 사용할 수도 있습니다.	

!

sql문을 입력하는 것과 차이는 없지만 api를 사용하면	

컬럼명이나 기타 변경점에 유연하게 대응할 수 있습니다.	

!

학습 진행에 여유가 있으신 분은	


http://developer.android.com/training/basics/data-storage/databases.html	


을 참고해 주세요
이제 본격적으로 게시판 앱을 만들어보겠습니다!
메인화면

글 쓰기

저번 과제로 레이아웃을	

만들었던 프로젝트에서	

작업을 시작합니다
글 읽기
Main

Dao클래스를 만들고
DB에 JSON데이터를 저장하는
방법을 배워봅니다.
DAO (Data Access Objects) 클래스
SQLite 데이터베이스를 관리하는 클래스
Dao
4)JSON 데이터를 Dao에 전달

5)JSON 데이터를 파싱하여	

SQLite에 insert하기

6)Dao에 저장되어 있는 게시글 데이터를 가져오기
마우스	

오른쪽 클릭!

기존에 작업하시던 프로젝트에서 새 클래스를 만들어줍시다.
클래스명은 Dao (Data Access Objects)로 하였습니다.
무사히?! 빈 클래스가 생겼습니다.
DB를 제어하기 위해서는 Context가 필요합니다.	

생성자를 만들고 Context를 받아줍니다.
SQLiteDatabase의 인스턴스를 만들고	

openOrCreateDatabase()로 초기화를 합니다.
이제 DB 테이블을 만들어야 합니다.
이 예제에서는 다음과 같은 테이블을 사용합니다.

ID - primary key값	

ArticleNumber - 게시글 번호 중복X	

Title - 글제목	

WriterName - 작성자	

WriterID - 작성자ID	

Content - 글내용	

WriteDate - 작성일	

ImgName - 사진 파일명 중복X
테이블을 짜실 때에는 기존의 웹기반 게시판에서 보내주는	

JSON형태의 데이터를 사용하시면됩니다.
테이블 쿼리를 만드시고 execSQL()로 실행하시면 됩니다.	

(꼭 저렇게 만드실 필요는 없습니다!!)
이제 JSON형태의 데이터를	

SQLite에 넣어봅시다.
하지만 아직 네트워킹을 위한	

클래스가 준비되지 않았으므로	

테스트용 JSON 문자열을 파싱하여	

DB에 넣어보겠습니다.
아래의 주소에서 getJsonTestData()함수를 복사하여 붙여넣어주세요	

http://pastebin.com/FPFZAh6L

그냥 String문자열이지만 JSON형식을 띄고 있는	

임시 데이터입니다.
String형태의 JSON 데이터를 인자로 받아 파싱한 후	

바로 DB에 넣어주는 함수를 만들어 봅시다(이름 자유)
우선 코드가 눈에 쉽게 들어오도록	

JSON 데이터의 형식에 맞게 필요한 항목을 변수로 만들었습니다.
1
2
3
JSON데이터는 여러개의 데이터를 같이 갖고 있습니다.
JSON데이터를 JSONArray에 넣어서	

여러 데이터를 하나의 배열로 관리를 합니다.
JSONArray의 끝까지 반복하는 것은	

length()를 사용한 for문으로 쉽게 사용 가능합니다.
getJSONObject(index)를 하면 배열로부터
한 데이터를 가져올 수 있는데
!

JSONObject에 getInt()나 getString()등등을 쓰면
원하는 데이터를 가져 올 수 있습니다.
잘 되고 있는지	

확인조차 할 수 없는	

먼길을 오시느라 힘드셨죠??	

!

DB에 데이터를 넣기전에	

JSON을 잘 파싱하는지	

!

확인을 해보겠습니다.
우선 Log.i()를 사용해	

데이터가 잘 파싱되고 있는지 확인을 해보겠습니다.
다시 Main Activity로 돌아가	

Dao를 생성해줍니다.	

!

Dao의 생성자로 넣어줬던 Context는	

getApplicationContext()로 전달해줍니다.
Dao나 다른 클래스로 부터 있던	

테스트 JSON데이터를 가져옵니다.
아까 전에 만든 파싱 함수에 테스트 데이터를 넣어줍니다.
이제 제니모션을 실행하고 테스트를 해봅시다!
Run As Android Application으로 앱을 실행시키고…
제니모션을 선택해서 앱을 실행시킵니다.
내가 원하는 로그만 골라서 보기	

(시간이 여유있을때 보세요!)
LogCat으로 데이터를 확인하여는데	

데이터가 너무 많아서 확인이 힘듭니다!
필터창이 안보일경우 클릭

로그캣에서 + 버튼을 눌러 필터 설정창을 표시합니다.
로그캣에 는 태그를 정해줄수 있는데	

태그정보로 로그를 정리해서 볼 수 있습니다.
FilterName을 정해주고 Log Tag에	

로그에 썻던 Tag를 넣어주면
내가 사용한 로그만	

필터링해서 보여줍니다!	

!

(Tag명으로 test라고 쓰는건 좋은 습관은 아닙니다.)
로그 종류에 따라	

로그의 색이 달라집니다.
이번에야말로	

JSON이 잘 파싱되었는지	

로그를 볼까요?
로그로 잘 JSON이	

파싱된 것을 확인 할 수 있습니다.
이제 잘 파싱된 데이터를 DB에 넣어 봅시다.
다시 Dao클래스로 돌아와	

JSON을 파싱해주던 함수로 돌아옵니다.
파싱 부분 아래쪽에 INSERT 쿼리문을 작성해 줍시다.	

(실수하기 쉬운 곳이므로 주의!)	

!

작성 후에는 쿼리문을 execSQL()로 실행시켜줍니다.
INSERT문을 사용할 때 Unique값을 중복해서 집어넣으면	

오류가 발생할 수 있으므로	

try catch로 미연에 방지합니다.	

(좋은 DB설계는 저런 상황이 발생하지 않도록 잘 설계하는것입니다..)
앱을 실행시키고	

DB에 값이 잘 저장이 되어있는지 확인해 봅시다.
SQLiteDebugger가 없으면	

제니모션에	

설치를 해주세요	

!

APK파일은	

이 주소에서…
http://ui.nhnnext.org/crong/scope/android/week3/SQLiteDebugger.apk
기본적으로	

DB에 접근하려면	

root권한이 필요합니다.	

!

아직 권한을 안주셨으면	

Allow를 눌러주세요
App을 터치하고…

실습 앱을 선택합니다.
(자신의 앱 이름 확인)
이 이름과 동일
테이블을 선택하고

SELECT쿼리를
실행시켜보면…
무사히 데이터가 들어간 것을 확인할 수 있습니다.
INSERT

?

DB에 데이터를 넣는것까지	

성공을 했지만…
아직까지 DB의 내용을 가지고 와서	

사용하는 방법이 없습니다.
저번 시간에 배운
ArrayAdapter를 사용해
메인 화면에 리스트로
표현해 보겠습니다.

Adapter
-ArrayList	

-UI레이아웃
저번수업에 했던 내용 그대로	

게시글 데이터를 담을 클래스를 만듭니다.
이름은 Article로 하였습니다.
이제 이 빈클래스에	

생성자로 게시글 정보를 받고,	

get함수들을 만들 예정입니다.
Dao에서 사용했던 변수들을 그대로 사용해 주시면 됩니다…	

!

(반복해서 말씀드리지만 각자의 데이터 형식에 맞게 변경을…)
생성자로 데이터들을 다 입력하였습니다…
get 함수들은 좀 쉽게하기 위해	

이클립스의 자동 생성 기능을 사용해보겠습니다.
Select Getters를
누른후에 OK를 누르면…
이클립스가 잘 만들어 주었습니다^^
다시 Dao로 돌아와 DB의 내용을 반환해주는	

함수를 만들어보겠습니다.	

!

Adapter에서 바로 사용할 수 있도록	

ArrayListArticle형태로 반환을 합니다.
DB에서 꺼낼때 잠시 받아둘 임시 변수를 만듭니다.	

!

(데이터의 형태는 동일 하므로 또 복붙을 하셔도 무방합니다…)
ArrayListArticle를 만들고	

반환도 List가 되도록 합니다.
이제 DB에서 데이터를 꺼내봅시다.
SELECT 쿼리문을 rawQuery()를 사용하여	

Cursor를 만들고	

while문을 사용하여 DB를 끝까지	

반복하는 명령문을 만들었습니다.
Cursor로부터 get함수를 이용해 DB로부터 데이터를 받아와	

Article로 감싼 다음 ArrayList에 삽입하고 리턴합니다.	

(index 0은 id값이므로 1번부터 받아옵니다.)
ListView

1
2
3
4
…
Gallery
ArrayList

Adapter
-ArrayList	

-UI레이아웃

1 2 3 4 …

GridView
하나의 요소 UI를	

구성할 레이아웃 파일

저번 시간에 한 것처럼	

Adapter를 만들어 줘야합니다.

1 2 3
4 5 6
7 8 9

Adapter의 개념
제대로 된 안드로이드 앱 개발을 위한 안드로이드 프로그래밍 / 진성주 최종렬 백정현 신중훈 공저
이제 DB데이터를 메인화면의	

리스트에 출력을 해보겠습니다.
Adapter용으로	

사용할 레이아웃은	

저번시간 예제와 동일하니	

복붙하셔도 무방합니다.
저번 시간에 사용한 CustomAdapter코드를 복사하여	

사용하도록 하겠습니다.	

(Adapter를 만드는 법은 2주차 강의 자료 참고!)
전에 만든 프로젝트의	

CustomAdapter.java 파일을 복사해서…
NEXTAGRAM 프로젝트에	

파일을 붙여넣기 해줍니다…
엄청난 빨간줄들…
우선 package 이름을 수정합니다.
클래스 명도 Professor에서 Article로 바꾸었습니다.
profData → articleData
TextView tvName → tvTitle
TextView tvVillage → tvContent

변수명도 상황에 맞게 바꾸어 줍시다.	

(eclipse의 Refactor-Rename을 사용하면 편합니다.)	

혹 TextView의 ID가 달라졌으면 새 레이아웃에 맞게 ID도 바꾸어 주세요
getName() → getTitle()
getVillage() → getContent()
getImgPath() → getImgName()

get 함수명도 Article 클래스에 맞게 바꾸어 줍시다.
Assets폴더에 테스트용 사진을 복사합니다.
테스트 사진은 여기에서	

다운받아 주세요	

!

ui.nhnnext.org/crong/scope/android/week3/photo.zip
다시 MainActivity로 돌아와 Dao로 부터	

ArrayList를 받아서 ListView에 Adapter를 적용시킵니다.
다시 한번 테스트를 해보겠습니다.
리스트로	

잘 보여지고 있습니다^^
생각해 봅시다.
게시글 내용 부분이	

리스트에 다 표시되고 있습니다.	

!

만약 게시글의 내용이 길면	

어떻게 될까요?	

!

그러면 어떻게 하는것이	

좋을까요?	

!

Advanced를 목표로 하는 학생은	

이 문제를 해결해주세요!

(지옥 관찰중)
이제 글 상세보기 화면을 만들어 보겠습니다.	

(과제로 만드셨던? Activity입니다.)
레이아웃은	

ImageView한개와	

TextView4개로 만들었습니다.	

!

(좋은 레이아웃이 아닙니다!	

직접 공들여 만들어보세요!!)
메인에서 리스트를 선택하면	

상세보기 페이지로 넘어가도록 이벤트를 만들어 봅니다.
OnItemClickListener를 받은 다음	

ListView에 setOnItemClickListener()로 리스너를 달아줍니다.
OnItemClickListener를 정의하고	

ArticleViewer로 이동하는 Intent를 만들어 줍니다.	

이때 Article값을 같이 붙여서 보내줍니다.
Intent에서 데이터를 다른 Activity로 전달을 할 때	

String이 아닌 Article객체를 통채로 넘겨줄수도 있지만	

객체를 넘기기위해서는 Parcelable(자바의 Serialization과 유사)을	

사용해야 하는데 이 예제에서 다루기에는 복잡하므로	

!
!

Advanced를 목표로 하는 분만 Parcelable에 대해	

학습을 해봐 주세요^^;	

http://developer.android.com/reference/android/os/Parcelable.html
이제 게시글을 보여주는 ArticleViewer Activity에서	

작업을 합니다.
우선 위젯들을 정의합니다.
MainActivity

메인 Activity에서 보낸 게시글 번호를	

ArticleViewer에서 받아옵니다.
하지만 가지고 있는것은 게시글 번호 뿐…	

게시글 내용을 보여줄 글제목이나 글내용등등	

!

Article안의 내용물들이 없습니다…
다시 Dao로 돌아가서	

DB로부터 게시글 번호로 검색해서	

!

게시글 내용을 반환해주는	

함수를 만들어야합니다.
Article을 찾아오는 함수의 내용은 전에만든 내용과 거의 같으므로	

기존에 ArrayList를 반환해주던 함수를 복사해서 재사용합니다.
1단계. 중복되는 함수 이름 변경	


(ex. getArticleList() → getArticleByArticleNumber() )
2단계. 반환하는 데이터 타입 변경	

(데이터가 하나이므로 List가 필요없습니다.)	

( ArrayListArticle → Article )
3단계. 찾을 데이터의 게시글 번호를 인자로 받습니다.
4단계. SQL문을 수정해 게시글 번호로 검색하도록 합니다.
5단계. 데이터는 하나만 검색되므로 while문이 필요없으므로 삭제합니다.
ArticleViewer에서 방금 만든 Dao의 함수를 사용하여	

Article을 받아옵니다.	

(인자가 int여서 형변환을 사용하였습니다…)
가져온 Article로부터 데이터를 꺼내서	

위젯에 데이터를 삽입합니다.
데이터가	

잘 표시되고 있습니다^^
기기 해상도에 따라 이미지가 너무	

크거나 작게 보일 수 있습니다.	

!

그림의 픽셀은 일정한데	

해상도에 맞게 그림의 크기가	

변화되지 못해서입니다.	

!

이 문제점도	

Advanced를 노리는 분은	

Bitmap Resizing을 참고해주세요!
(Advanced를 위한)

생각해 봅시다.

Dao로부터 ArrayList로 Article들을 가져오는데	

리스트는 사진, 글제목, 글내용밖에 없는데	

Article의 내용을 다 가져오고 있습니다. 다른 방법은 없을까요?	

!

동일한 함수를 반복해서 사용을 하고 있습니다.	

한번에 처리 할 방법은 없을까요?	

!

등등 더 나은 앱을 만들기 위해서는	

어떻게 해야 할까요?
과제가 아닙니다!!
정답은 SW 아키텍쳐시간에…
오늘의 정리
이제 JSON형태의 데이터를	

SQLite DB에 넣어보았습니다.
DB의 데이터를	

Adapter를 사용하여	

리스트로 표현하였습니다.

Más contenido relacionado

La actualidad más candente

Parse.com 맛보기
Parse.com 맛보기Parse.com 맛보기
Parse.com 맛보기flashscope
 
Vue guide예제(vue todo-list)-v0.1
Vue guide예제(vue todo-list)-v0.1Vue guide예제(vue todo-list)-v0.1
Vue guide예제(vue todo-list)-v0.1DataUs
 
[115] clean fe development_윤지수
[115] clean fe development_윤지수[115] clean fe development_윤지수
[115] clean fe development_윤지수NAVER D2
 
React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작Taegon Kim
 
React 튜토리얼 2차시
React 튜토리얼 2차시React 튜토리얼 2차시
React 튜토리얼 2차시태현 김
 
React 튜토리얼 1차시
React 튜토리얼 1차시React 튜토리얼 1차시
React 튜토리얼 1차시태현 김
 
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기XpressEngine
 
ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기Taegon Kim
 
Django in Production
Django in ProductionDjango in Production
Django in ProductionHyun-woo Park
 
React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기WebFrameworks
 
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Youtube를활용한app만들기
Youtube를활용한app만들기Youtube를활용한app만들기
Youtube를활용한app만들기DaeHee Jang
 
HTML5의 web worker
HTML5의 web workerHTML5의 web worker
HTML5의 web workerYongho Ji
 
막하는스터디 두번째만남 Express(20151025)
막하는스터디 두번째만남 Express(20151025)막하는스터디 두번째만남 Express(20151025)
막하는스터디 두번째만남 Express(20151025)연웅 조
 
안드로이드App개발 09.task
안드로이드App개발 09.task안드로이드App개발 09.task
안드로이드App개발 09.taskDaeHee Jang
 

La actualidad más candente (20)

Parse.com 맛보기
Parse.com 맛보기Parse.com 맛보기
Parse.com 맛보기
 
4-3. jquery
4-3. jquery4-3. jquery
4-3. jquery
 
Vue guide예제(vue todo-list)-v0.1
Vue guide예제(vue todo-list)-v0.1Vue guide예제(vue todo-list)-v0.1
Vue guide예제(vue todo-list)-v0.1
 
[115] clean fe development_윤지수
[115] clean fe development_윤지수[115] clean fe development_윤지수
[115] clean fe development_윤지수
 
React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작
 
React 튜토리얼 2차시
React 튜토리얼 2차시React 튜토리얼 2차시
React 튜토리얼 2차시
 
React 튜토리얼 1차시
React 튜토리얼 1차시React 튜토리얼 1차시
React 튜토리얼 1차시
 
Meteor2015 codelab
Meteor2015 codelab Meteor2015 codelab
Meteor2015 codelab
 
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
 
Spring Boot 2
Spring Boot 2Spring Boot 2
Spring Boot 2
 
ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기
 
Django in Production
Django in ProductionDjango in Production
Django in Production
 
Spring Boot 1
Spring Boot 1Spring Boot 1
Spring Boot 1
 
React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기
 
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
 
Youtube를활용한app만들기
Youtube를활용한app만들기Youtube를활용한app만들기
Youtube를활용한app만들기
 
HTML5의 web worker
HTML5의 web workerHTML5의 web worker
HTML5의 web worker
 
Web workers
Web workersWeb workers
Web workers
 
막하는스터디 두번째만남 Express(20151025)
막하는스터디 두번째만남 Express(20151025)막하는스터디 두번째만남 Express(20151025)
막하는스터디 두번째만남 Express(20151025)
 
안드로이드App개발 09.task
안드로이드App개발 09.task안드로이드App개발 09.task
안드로이드App개발 09.task
 

Destacado

[NEXT] GCM을 이용한 게시글 자동 갱신
[NEXT] GCM을 이용한 게시글 자동 갱신[NEXT] GCM을 이용한 게시글 자동 갱신
[NEXT] GCM을 이용한 게시글 자동 갱신YoungSu Son
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기) YoungSu Son
 
Node.js DBMS short summary
Node.js DBMS short summaryNode.js DBMS short summary
Node.js DBMS short summaryHoChul Shin
 
하이브리드앱
하이브리드앱하이브리드앱
하이브리드앱knight1128
 
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용jinwook shin
 
하이브리드앱 개발 전략과 이슈
하이브리드앱 개발 전략과 이슈하이브리드앱 개발 전략과 이슈
하이브리드앱 개발 전략과 이슈동수 장
 
Hybrid Mobile Application Framework
Hybrid Mobile Application FrameworkHybrid Mobile Application Framework
Hybrid Mobile Application Framework동수 장
 
C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나NAVER D2
 
HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기정현 황
 
하이브리드 앱_개발_개요
하이브리드 앱_개발_개요하이브리드 앱_개발_개요
하이브리드 앱_개발_개요BongSoo Jang
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법 YoungSu Son
 
06강 자바와 안드로이드 스튜디오 설치
06강 자바와 안드로이드 스튜디오 설치06강 자바와 안드로이드 스튜디오 설치
06강 자바와 안드로이드 스튜디오 설치봉조 김
 
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정Sung Woo Park
 
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리) 오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리) YoungSu Son
 
Requirement analysis for the production of educational hybrid web applications
Requirement analysis for the production of educational hybrid web applicationsRequirement analysis for the production of educational hybrid web applications
Requirement analysis for the production of educational hybrid web applicationsKwangChul Kim
 
안드로이드 오픈소스 어플리케이션 블록 2
안드로이드 오픈소스 어플리케이션 블록 2안드로이드 오픈소스 어플리케이션 블록 2
안드로이드 오픈소스 어플리케이션 블록 2YoungSu Son
 
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
[NEXT] Android  개발 경험 프로젝트 1일차 (Widget, Linear Layout) [NEXT] Android  개발 경험 프로젝트 1일차 (Widget, Linear Layout)
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout) YoungSu Son
 
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료Hannah Kim
 
안드로이드에서 spinner와 DB 연결 간단 예제
안드로이드에서 spinner와 DB 연결 간단 예제안드로이드에서 spinner와 DB 연결 간단 예제
안드로이드에서 spinner와 DB 연결 간단 예제운용 최
 
[NEXT] Android Profiler
[NEXT] Android Profiler[NEXT] Android Profiler
[NEXT] Android ProfilerYoungSu Son
 

Destacado (20)

[NEXT] GCM을 이용한 게시글 자동 갱신
[NEXT] GCM을 이용한 게시글 자동 갱신[NEXT] GCM을 이용한 게시글 자동 갱신
[NEXT] GCM을 이용한 게시글 자동 갱신
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
 
Node.js DBMS short summary
Node.js DBMS short summaryNode.js DBMS short summary
Node.js DBMS short summary
 
하이브리드앱
하이브리드앱하이브리드앱
하이브리드앱
 
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
 
하이브리드앱 개발 전략과 이슈
하이브리드앱 개발 전략과 이슈하이브리드앱 개발 전략과 이슈
하이브리드앱 개발 전략과 이슈
 
Hybrid Mobile Application Framework
Hybrid Mobile Application FrameworkHybrid Mobile Application Framework
Hybrid Mobile Application Framework
 
C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나
 
HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기
 
하이브리드 앱_개발_개요
하이브리드 앱_개발_개요하이브리드 앱_개발_개요
하이브리드 앱_개발_개요
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법
 
06강 자바와 안드로이드 스튜디오 설치
06강 자바와 안드로이드 스튜디오 설치06강 자바와 안드로이드 스튜디오 설치
06강 자바와 안드로이드 스튜디오 설치
 
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
 
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리) 오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
 
Requirement analysis for the production of educational hybrid web applications
Requirement analysis for the production of educational hybrid web applicationsRequirement analysis for the production of educational hybrid web applications
Requirement analysis for the production of educational hybrid web applications
 
안드로이드 오픈소스 어플리케이션 블록 2
안드로이드 오픈소스 어플리케이션 블록 2안드로이드 오픈소스 어플리케이션 블록 2
안드로이드 오픈소스 어플리케이션 블록 2
 
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
[NEXT] Android  개발 경험 프로젝트 1일차 (Widget, Linear Layout) [NEXT] Android  개발 경험 프로젝트 1일차 (Widget, Linear Layout)
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
 
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
 
안드로이드에서 spinner와 DB 연결 간단 예제
안드로이드에서 spinner와 DB 연결 간단 예제안드로이드에서 spinner와 DB 연결 간단 예제
안드로이드에서 spinner와 DB 연결 간단 예제
 
[NEXT] Android Profiler
[NEXT] Android Profiler[NEXT] Android Profiler
[NEXT] Android Profiler
 

Similar a [NEXT] Android 개발 경험 프로젝트 3일차 (Database)

[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)YoungSu Son
 
QnA blog using Django - ORM, 회원가입, 로그인/로그아웃
QnA blog using Django - ORM, 회원가입, 로그인/로그아웃QnA blog using Django - ORM, 회원가입, 로그인/로그아웃
QnA blog using Django - ORM, 회원가입, 로그인/로그아웃Kwangyoun Jung
 
HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1정환 임
 
Holub on-patterns-2-1
Holub on-patterns-2-1Holub on-patterns-2-1
Holub on-patterns-2-1정환 임
 
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기은아 정
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신현욱 김
 
보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계Eb Styles
 
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Dong Chan Shin
 
[HaU] 신입 기술 면접 준비 java
[HaU] 신입 기술 면접 준비 java[HaU] 신입 기술 면접 준비 java
[HaU] 신입 기술 면접 준비 java유리 하
 
Sql 중심 코드 탈피
Sql 중심 코드 탈피Sql 중심 코드 탈피
Sql 중심 코드 탈피ssuser776e2d
 
Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료ssuser776e2d
 
Data oriented design
Data oriented designData oriented design
Data oriented designSangwook Kwon
 
Express framework tutorial
Express framework tutorialExpress framework tutorial
Express framework tutorial우림 류
 
LucideWorks Banana 소개
LucideWorks Banana 소개 LucideWorks Banana 소개
LucideWorks Banana 소개 SuHyun Jeon
 
[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿AnselmKim
 
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http RequestNAVER D2
 
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁창규 김
 
안드로이드스터디 1
안드로이드스터디 1안드로이드스터디 1
안드로이드스터디 1jangpd007
 

Similar a [NEXT] Android 개발 경험 프로젝트 3일차 (Database) (20)

[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
 
QnA blog using Django - ORM, 회원가입, 로그인/로그아웃
QnA blog using Django - ORM, 회원가입, 로그인/로그아웃QnA blog using Django - ORM, 회원가입, 로그인/로그아웃
QnA blog using Django - ORM, 회원가입, 로그인/로그아웃
 
HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1
 
Holub on-patterns-2-1
Holub on-patterns-2-1Holub on-patterns-2-1
Holub on-patterns-2-1
 
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신
 
Database
DatabaseDatabase
Database
 
보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계
 
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
 
[HaU] 신입 기술 면접 준비 java
[HaU] 신입 기술 면접 준비 java[HaU] 신입 기술 면접 준비 java
[HaU] 신입 기술 면접 준비 java
 
Sql 중심 코드 탈피
Sql 중심 코드 탈피Sql 중심 코드 탈피
Sql 중심 코드 탈피
 
Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료
 
Data oriented design
Data oriented designData oriented design
Data oriented design
 
Express framework tutorial
Express framework tutorialExpress framework tutorial
Express framework tutorial
 
LucideWorks Banana 소개
LucideWorks Banana 소개 LucideWorks Banana 소개
LucideWorks Banana 소개
 
[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿
 
PostGIS 시작하기
PostGIS 시작하기PostGIS 시작하기
PostGIS 시작하기
 
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request
 
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
 
안드로이드스터디 1
안드로이드스터디 1안드로이드스터디 1
안드로이드스터디 1
 

Más de YoungSu Son

Fault Tolerance 패턴
Fault Tolerance 패턴 Fault Tolerance 패턴
Fault Tolerance 패턴 YoungSu Son
 
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningClean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningYoungSu Son
 
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화YoungSu Son
 
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) YoungSu Son
 
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)YoungSu Son
 
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 -  EVA, 소마에 10기) Singleton 패턴 (김진영 -  EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기) YoungSu Son
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 YoungSu Son
 
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) 생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) YoungSu Son
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 YoungSu Son
 
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) YoungSu Son
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) YoungSu Son
 
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 YoungSu Son
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항 YoungSu Son
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법YoungSu Son
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기YoungSu Son
 
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 [NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 YoungSu Son
 
Android Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionAndroid Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionYoungSu Son
 
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 YoungSu Son
 
URQA 삼성 컨퍼런스 발표
URQA 삼성 컨퍼런스 발표 URQA 삼성 컨퍼런스 발표
URQA 삼성 컨퍼런스 발표 YoungSu Son
 

Más de YoungSu Son (20)

Fault Tolerance 패턴
Fault Tolerance 패턴 Fault Tolerance 패턴
Fault Tolerance 패턴
 
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningClean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance Tuning
 
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
 
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭) Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭)
 
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
 
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 -  EVA, 소마에 10기) Singleton 패턴 (김진영 -  EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기)
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
 
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기) 생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기)
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심) DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
 
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 [NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법
 
Android Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + GenymotionAndroid Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + Genymotion
 
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
 
URQA 삼성 컨퍼런스 발표
URQA 삼성 컨퍼런스 발표 URQA 삼성 컨퍼런스 발표
URQA 삼성 컨퍼런스 발표
 

Último

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 

Último (6)

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

[NEXT] Android 개발 경험 프로젝트 3일차 (Database)