Skip to content

Instantly share code, notes, and snippets.

View muabe's full-sized avatar
๐Ÿ†
Focusing

JaeWoong Oh muabe

๐Ÿ†
Focusing
View GitHub Profile
@muabe
muabe / Bluetooth ๊ฐœ์š”.md
Last active April 12, 2021 05:24
Bluetooth API ์‚ฌ์šฉ๋ฒ•

Bluetooth ๊ฐœ์š”

Android Bluetooth๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ์ „์— Bluetooth ํ†ต์‹ ์—๋Œ€ํ•œ ์•ฝ๊ฐ„์˜ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
Bluetooth Process๋ฅผ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด ์ฃผ๋ณ€์— ์—ฐ๊ฒฐํ•˜๋ ค๋Š” ๋””๋ฐ”์ด์Šค๋ฅผ ์ฐพ๊ณ 
์ฐพ์€ ๊ธฐ๊ธฐ์ค‘ ์—ฐ๊ฒฐํ•  ๊ธฐ๊ธฐ์— ์ธ์ฆ์„ ๋ฐ›์€ ํ›„ ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ํ†ต์‹ ์„ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋‚ด์šฉ์€ ํฌ๊ฒŒ Discovery,Pairing,Connection,Streaming 4๊ฐ€์ง€ STEP์œผ๋กœ ๋‚˜๋ˆŒ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1.Discovery

์ฃผ๋ณ€ ๋””๋ฐ”์ด์Šค ๊ฒ€์ƒ‰ ํ•ฉ๋‹ˆ๋‹ค

  • Discovery๋Š” ์ฃผ๋ณ€์— ๋ธ”๋ฃจํˆฌ์Šค์™€ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•œ ๋””๋ฐ”์ด์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š”๊ฒƒ ์ž…๋‹ˆ๋‹ค.

#Android Wear ๊ฐœ๋ฐœํ™˜๊ฒฝ ์ค€๋น„ Google์—์„œ๋Š” Android Wear ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋นŒ๋“œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ Android Studio์—์„œ ์ง€์›ํ•ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ ์•ž์œผ๋กœ Android Studio๊ฐ€ ๋ฒ ํƒ€๋ฒ„์ „์ด ๋๋‚˜๊ณ  ์ •์‹์œผ๋กœ ๋ฆด๋ฆฌ์ฆˆ ๋  ๊ฒฝ์šฐ ๊ธฐ์กด Eclipse IDE์˜ ๋นŒ๋“œ
ํ™˜๊ฒฝ์— ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ฉ๋‚˜๋‹ค.
์ด๋Š” Android ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋น ๋ฅด๊ฒŒ Android Studio๋กœ ๊ฐˆ์•„ํƒ€์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ํ˜„์žฌ ๊ฐœ๋ฐœ๋œ Eclipse ํ™˜๊ฒฝ์„ ๋ฒ ํƒ€ ๋ฒ„์ „์ธ Android Studio์— ๋ฐ”๋กœ ์ ์šฉํ•˜๊ธฐ์—๋Š”
์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์— ๋”ฐ๋ผ ๋ฌด๋ฆฌ๊ฐ€ ๋”ฐ๋ฅผ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ Android Wear๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด Android studio์™€ Eclipse์˜ ๋‘๊ฐ€์ง€ ๊ฐœ๋ฐœํ™˜๊ฒฝ์— ๋Œ€ํ•ด ๊ฐ๊ฐ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

@muabe
muabe / Gist text.md
Created February 26, 2015 02:54
Gist ๋ฌธ๋ฒ• ํ…Œ์ŠคํŠธ

Alt text for your video

Android ํ™˜๊ฒฝ ์„ค์ •

๋ฃจํŠธ์ˆ˜์ค€(ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€) build.gradle ์„ค์ •

Firebase์˜ ์ œํ’ˆ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ณ„๋„์˜ gradle ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ํ”Œ๋Ÿฌ๊ทธ์ธ์€ google ์ €์žฅ์†Œ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— repositories์— google()์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ dependencies์— classpath๋ฅผ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.

  • repositories์— google()์„ ์ถ”๊ฐ€
  • dependencies์— classpath 'com.google.gms:google-services:4.3.3' ์ถ”๊ฐ€
buildscript {

Dart ๋น„๋™๊ธฐ Future

๋น„๋™๊ธฐ๋Š” ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ๋งŽ์€ ์—๋Ÿฌ์˜ ์›์ธ์ด ๋˜๋ฉฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ฅผ ์ดˆ๋ž˜ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋น„๋™๊ธฐ์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ์ดํ•ด์™€ ์•ˆ์ „ํ•œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์ตํžˆ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. Dart์˜ ๊ณต์‹๋ฌธ์„œ์™€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ณด๋ฉฐ ์ข€๋” ์ž์„ธํ•˜๊ฒŒ ์ดํ•ดํ•˜๋ ค ๋…ธ๋ ฅํ–ˆ๋‹ค.

Future ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„๋™๊ธฐ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, Future ์ƒ์„ฑ์ž์— ํ•จ์ˆ˜๋ฅผ ๋„ฃ์–ด Runnable ํ˜•ํƒœ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

Runnable

print("ready");

Stream

๋จผ์ € Stream์„ ์™œ ์“ฐ๋Š”์ง€๋ถ€ํ„ฐ ์ƒ๊ฐํ•ด๋ณด์ž. Stream์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์ง€๋ฉด ์ƒ์‚ฐ์ž์—์„œ ์†Œ๋น„์ž๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. ์ด๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ์„ ๋ฐฉ์ง€ํ•ด ์ค€๋‹ค.
๋‘๋ฒˆ์žฌ๋กœ ๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฅผ ์˜์—ญ๊ณผ UI์˜์—ญ์„ ๋ถ„๋ฆฌํ•˜๋Š”๋ฐ ์ด๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ UI์— ์ „๋‹ฌ ํ•ด์ฃผ๋Š” ๋งค๊ฐœ์ฒด๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์ด๋‹ค. Stream์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์›”ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๋งค๊ฐœ์ฒด ์—ญํ• ์„ ํ•œ๋‹ค. Stream์€ ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž๋กœ ์˜์—ญ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๋จผ ๊ณณ๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ์ผ๋•Œ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.
  • ๋ฐ์ดํ„ฐ ์˜์—ญ๊ณผ ์ฒ˜๋ฆฌ์˜์—ญ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌ ํ• ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณต ํ•ด์ค€๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๊ณ  ์žฌ์ƒ์‚ฐ ํ• ์ˆ˜ ์žˆ์–ด ์›๋ณธ ๋ฐ์ดํ„ฐ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™” ํ•œ๋‹ค.