/OUNCE_Android

๐Ÿ’›๐Ÿ’™ We-are-๐Ÿ˜ป๋ƒฅ๐Ÿ˜ปDroid ๐Ÿ’™๐Ÿ’›

Primary LanguageKotlin

๐Ÿ˜ธWe-are-OUNCE 'Android' Developer

WE ARE OUNCE!!

OUNCE์˜ ๋ฉ‹์žˆ๋Š” Logo

๋ชฉ์ฐจ

Library

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ์ 
Retrofit2 ์„œ๋ฒ„ ํ†ต์‹ 
Gson ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜จ Json ๊ฐ์ฒด๋ฅผ Gson์œผ๋กœ ๋ณ€ํ™˜
Glide url์„ ์ด์šฉํ•œ ์ด๋ฏธ์ง€ ๋ทฐ์— ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ
DotIndicator ๋ทฐํŽ˜์ด์ € ์ธ๋””์ผ€์ดํ„ฐ
Cropper ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ ˆ์„ ์œ„ํ•œ Crop ๊ธฐ๋Šฅ
MaterialSearchBar ๊ฒ€์ƒ‰์ฐฝ ๊ตฌํ˜„
TedPermission ๊ฐค๋Ÿฌ๋ฆฌ ์ด์šฉ ์‹œ ๊ถŒํ•œ ์„ค์ •
TedKeyboardObserver ํ‚ค๋ณด๋“œ show/hide ๋ฆฌ์Šค๋„ˆ
RecyclerView_+ SearchView ์ตœ๊ทผ ๊ฒ€์ƒ‰์–ด ๊ฒ€์ƒ‰์ฐฝ
Sticky ScrollView ๋ฉ”์ธ ๋ทฐ ํ—ค๋” Sticky ์Šคํฌ๋กค ๊ตฌํ˜„
EasySharedPreference SharedPreference๋ฅผ ๋” ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
ViewModelProviders, ViewModel ํ”„๋ž˜๊ทธ๋จผํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์— ํ•„์š”ํ•œ ViewModel์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ •
CircleImageView ์‚ฌ์ง„์„ ์›ํ˜•์œผ๋กœ ์‚ฝ์ž…ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
RatingBarCustom ๊ธฐ๋กํ•˜๊ธฐ ๋ทฐ์—์„œ ๋ ˆ์ดํŒ… ๋ฐ” ์ปค์Šคํ…€์„ ์œ„ํ•ด ์‚ฌ์šฉ

ConstraintLayout ์‚ฌ์šฉ์ฒ˜

  • activity_login.xml : Guideline, chain (packed) ์‚ฌ์šฉ

  • activity_sign_up.xml : ํ•˜๋‹จ ๋ฒ„ํŠผ์— chain(packed) ์‚ฌ์šฉ

  • activity_sign_up_finish.xml : ๋ ˆ์ด์•„์›ƒ ์‚ฌ์šฉ

  • fragment_email_check.xml : Guideline ์‚ฌ์šฉ

  • fragment_id.xml : Guideline ์‚ฌ์šฉ

  • fragment_password.xml : Guideline ์‚ฌ์šฉ

  • item_searchmain_similar.xml : chain(spread) ์‚ฌ์šฉ (*ํ•˜๋‹จ ์ด๋ฏธ์ง€์— LinearLayout ์‚ฌ์šฉ)

  • ๊ทธ ์™ธ ๋น„์‚ฌ์šฉ์ฒ˜๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉ

ConstraintLayout ๋น„์‚ฌ์šฉ์ฒ˜

  • activity_home.xml : CoordinatorLayout, RelativeLayout ์‚ฌ์šฉ

    • ์ด์œ  : BottomAppBar ๊ตฌํ˜„์„ ์œ„ํ•œ ๋ ˆ์ด์•„์›ƒ ์ฑ„ํƒ
  • activity_product_review.xml : CoordinatorLayout, RelativeLayout ์‚ฌ์šฉ

    • ์ด์œ  : CollapsingToolBarLayout์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ฑ„ํƒ
  • activity_record.xml : CoordinatorLayout ์‚ฌ์šฉ

    • ์ด์œ : CollapsingToolBarLayout์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ฑ„ํƒ
  • fragment_search.xml : LinearLayout ์‚ฌ์šฉ

    • ์ด์œ : ํ…์ŠคํŠธ, ๋ฆฌ์†Œ์Šค ์ˆ˜ํ‰, ์ˆ˜์ง ๊ฐ„๊ฒฉ ํšจ์œจ์ ์ธ ์„ค์ •์„ ์œ„ํ•จ
  • item_product_review_review.xml : LinearLayout ์‚ฌ์šฉ

    • ์ด์œ : ํ…์ŠคํŠธ, ๋ฆฌ์†Œ์Šค ์ˆ˜ํ‰, ์ˆ˜์ง ๊ฐ„๊ฒฉ ํšจ์œจ์ ์ธ ์„ค์ •์„ ์œ„ํ•จ
  • item_product_review_review.xml : LinearLayout ์‚ฌ์šฉ

    • ์ด์œ : ํ…์ŠคํŠธ, ๋ฆฌ์†Œ์Šค ์ˆ˜ํ‰, ์ˆ˜์ง ๊ฐ„๊ฒฉ ํšจ์œจ์ ์ธ ์„ค์ •์„ ์œ„ํ•จ
  • main_review_list_item.xml : LinearLayout ์‚ฌ์šฉ

    • ์ด์œ : ํ…์ŠคํŠธ, ๋ฆฌ์†Œ์Šค ์ˆ˜ํ‰, ์ˆ˜์ง ๊ฐ„๊ฒฉ ํšจ์œจ์ ์ธ ์„ค์ •์„ ์œ„ํ•จ
  • item_searchmain_similar.xml : ํ•˜๋‹จ ์ด๋ฏธ์ง€์— LinearLayout ์‚ฌ์šฉ

    • ์ด์œ : ๋ฆฌ์†Œ์Šค ์ˆ˜ํ‰ ๊ฐ„๊ฒฉ ํšจ์œจ์ ์ธ ์„ค์ •์„ ์œ„ํ•จ)

ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์†Œ๊ฐœ + ๊ตฌํ˜„

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

Kotlin

Collection ํ•จ์ˆ˜ ์‚ฌ์šฉ

  • clear() : ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ ์ „๋ถ€ ์‚ญ์ œ

HomeFragment.kt, OtherActivity.kt -> ๋ฆฌ๋ทฐ ํ•„ํ„ฐ ์ ์šฉ ํ›„ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ ์•„์ดํ…œ ์ดˆ๊ธฐํ™” ์‹œ ์‚ฌ์šฉ

์ •๋ ฌ๊ธฐ์ค€์ด ๋ณ€๊ฒฝ ์‹œ ์ƒˆ๋กœ์šด ์ •๋ ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

  • addall() : ๋ฆฌ์ŠคํŠธ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ „๋ถ€ arrayList์— ์ €์žฅ

HomeFragment.kt, OtherActivity.kt-> ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ์ตœํ•˜๋‹จ ๋„์ฐฉ ์‹œ ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

  • split(String) : ๊ตฌ๋ถ„์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด๋“ค์„ List<String>์œผ๋กœ ํŒŒ์‹ฑ

  • map(List) : ๋ฆฌ์ŠคํŠธ ๊ฐ๊ฐ์˜ ์›์†Œ์— map์•ˆ์— ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ทธ ์›์†Œ๋“ค๋กœ ๋‹ค์‹œ List๋ฅผ ์ƒ์„ฑ

  • trim(String): ๋ฌธ์ž์—ด ์•ž ๋’ค์— ์žˆ๋Š” ๊ณต๋ฐฑ ์ œ๊ฑฐ

ItemSearchActivity.kt

ํ™•์žฅ ํ•จ์ˆ˜ ์‚ฌ์šฉ ๊ตฌ๊ฐ„

  • ๋กœ๊ทธ ์ถœ๋ ฅ์„ ์œ„ํ•œ ํ™•์žฅ ํ•จ์ˆ˜

    fun String.showLog(message: String?) {
      if (message != null) {
          Log.d(this, message)
      }
      else{
          Log.d(this,"null")
      }
    }
    

    ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ (HomeFragment.kt showBottomSheet()ํ•จ์ˆ˜์—์„œ ์‚ฌ์šฉ)

Project

ํŒ€์›

ํŒ€์› ์—ญํ•  ๊ฐœ์ธ ๋ชฉํ‘œ

๊ฐ•๋ฏผ๊ตฌ
์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ์—ญ๋™์ ์ธ ์•ฑ + ํ”Œ๋ ˆ์ด ์Šคํ† ์–ด ์ถœ์‹œ!

์ดํ˜„์šฐ
์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•ด๋„ ์†Œ๋น„์ž๋“ค์ด ๋งŒ์กฑํ•˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถœ์‹œ, ์ข‹์€ ์‚ฌ๋žŒ๋“ค๊ณผ ์•ฑ์žผ ์ž˜ ์น˜๋ค„๋‚˜๊ฐ€์„œ ํ‰์ƒ์นœ๊ตฌ ๋จน๊ธฐ

๋ฐ•์ฃผ์˜ˆ
์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ Ounce ๊ฐœ๋ฐœ ๋งก์€ ์—ญํ•  ์—ด์‹ฌํžˆ ํ•˜๊ธฐ, ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ๊ณผ์ • ๊ธฐ๋กํ•˜๊ธฐ