{"id":3696,"date":"2021-11-01T08:14:20","date_gmt":"2021-10-31T23:14:20","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3696"},"modified":"2021-11-01T15:59:10","modified_gmt":"2021-11-01T06:59:10","slug":"android-%ec%95%b1-%ea%b0%9c%eb%b0%9c%ec%8b%9c-%ec%9c%a0%ec%9a%a9%ed%95%9c-%eb%9d%bc%ec%9d%b4%eb%b8%8c%eb%9f%ac%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3696","title":{"rendered":"Android \uc571 \uac1c\ubc1c\uc2dc \uc720\uc6a9\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac(?)"},"content":{"rendered":"<h1>Android \uc571 \uac1c\ubc1c\uc2dc \uc720\uc6a9\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac(?)<\/h1>\n<p><a href=\"https:\/\/junskims.tistory.com\/15\">\ucc38\uc870<\/a><\/p>\n<p>\uc548\ub4dc\ub85c\uc774\ub4dc \uac1c\ubc1c\uc2dc \uc720\uc6a9\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ubb50\uac00 \uc788\uc744\uae4c \uc54c\uc544\ubd24\ub2e4.<\/p>\n<h2>Glide<\/h2>\n<p>\uc774\ubbf8\uc9c0\uad00\ub828 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc774\ub2e4.<br \/>\n\uc774\ubbf8\uc9c0\ub97c \ube44\ub3d9\uae30\ub85c \ub85c\ub529\ud558\uace0,<br \/>\n\ub85c\ub529\ub418\uae30 \uc804\uc5d0\ub294 \ub85c\ub529\uc911\uc784\uc744 \ud45c\uc2dc\ud558\ub294 \uc774\ubbf8\uc9c0\ub97c \ubcf4\uc5ec\uc8fc\ub294 \uae30\ub2a5\uc744 \ud55c\ub2e4.<\/p>\n<h2>retrofit2<\/h2>\n<p>\ud30c\ub77c\ubbf8\ud130 \ud5e4\ub354\ub97c \uac04\ub2e8\ud788 \ubd99\uc5ec\uc904 \uc218 \uc788\uace0, \ube44\ub3d9\uae30 API \ud638\ucd9c\ub3c4 \uac04\ub2e8\ud788 \uc9c0\uc6d0\ud574 \uc900\ub2e4.<\/p>\n<pre><code class=\"language-java\">public interface ApiInterface {\n\n    \/\/ \uc7a5\uc18c\uc774\ub984\uc73c\ub85c \uac80\uc0c9\n    @GET(&quot;v2\/local\/search\/keyword.json&quot;)\n    Call&lt;CategoryResult&gt; getSearchLocation(\n        @Header(&quot;Authorization&quot;) String token,\n        @Query(&quot;query&quot;) String query,\n        @Query(&quot;category_group_code&quot;) String categoryGroupCode,\n        @Query(&quot;size&quot;) int size,            \/\/ 1 ~ 15\n        @Query(&quot;page&quot;) int page,            \/\/ 1 ~ 45\n        @Query(&quot;sort&quot;) String sort,         \/\/ distance \ub610\ub294 accuracy (\uae30\ubcf8\uac12: accuracy)\n        @Query(&quot;x&quot;) String x,\n        @Query(&quot;y&quot;) String y\n    );\n}<\/code><\/pre>\n<h2>RxJava<\/h2>\n<p><a href=\"https:\/\/medium.com\/@LIP\/rxjava-29cfb3ceb4ca\">\ucc38\uc870<\/a><\/p>\n<p>Observable\uc740 \uc544\uc774\ud15c\ub4e4\uc744 \ubc1c\ud589(emit)\ud558\uace0,<br \/>\nSubscriber\ub294 \uc774 \uc544\uc774\ud15c\ub4e4\uc744 \uc18c\ube44\ud55c\ub2e4(consume).<\/p>\n<p>\uc608\ub97c \ub4e4\uc5b4, \uac80\uc0c9\ucc3d\uc5d0 \ud45c\uc2dc\ub418\ub294 \uc790\ub3d9\uc644\uc131 \uae30\ub2a5\uc744 \uc791\uc131\ud55c\ub2e4\uace0 \ud560\ub54c,<br \/>\n\ud14d\uc2a4\ud2b8\uac00 \ubcc0\uacbd\ub418\uc5c8\uc744 \ub54c, Observable\uc740 \uc774\ubca4\ud2b8\ub97c \ubc1c\uc0dd\uc2dc\ud0a4\uace0,<br \/>\nSubscriber\ub294 \uc790\ub3d9\uc644\uc131 API \ub97c \ud638\ucd9c\ud558\uace0,<br \/>\n\ubc18\ud658\ub41c \ub370\uc774\ud0c0\ub97c \ud654\uba74\uc5d0 \ud45c\uc2dc\ud55c\ub2e4.<\/p>\n<p>\ud55c\uac00\uc9c0 \ub354 \uc7ac\ubbf8\uc788\ub294 \uae30\ub2a5\uc740,<br \/>\n\ud544\ud130(filter) \ub97c \uc8fc\uc5b4 2\uae00\uc790 \uc774\uc0c1\uc77c\ub54c\ub9cc \ud638\ucd9c\ud558\uac8c,<br \/>\n\ub610 \ud0c0\uc774\ud551\uc774 300ms \ub3d9\uc548 \uba48\ucdb0 \uc788\uc744 \ub54c\ub9cc \ud638\ucd9c\ud558\uac8c \ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>Anything is possible.<\/p>\n<p>\ub2f9\uc2e0\uc758 Observable\uc740 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ucffc\ub9ac\uc774\uace0,<br \/>\nSubscriber\uc740 \uadf8 \uacb0\uacfc\ub97c \uac00\uc9c0\uace0 \ud654\uba74\uc5d0 \ubcf4\uc5ec\uc8fc\ub294 \uac83\uc77c \uc218 \uc788\ub2e4.<\/p>\n<p>Observable\uc740 \ud654\uba74\uc758 \ud074\ub9ad\uc774\uace0,<br \/>\nSubscriber\uc740 \uadf8\uc5d0 \ub300\ud55c \ubc18\uc751\uc774 \ub420 \uc218 \uc788\ub2e4.<\/p>\n<p>Observable\uc740 \uc778\ud130\ub137\uc5d0\uc11c \uc77d\uc740 \ubc14\uc774\ud2b8 \uc2a4\ud2b8\ub9bc\uc774\uace0,<br \/>\nSubscriber\uc740 \uc774\uac83\uc744 \ub514\uc2a4\ud06c\uc5d0 \uc800\uc7a5\ud558\ub294 \uac83\uc77c \uc218 \uc788\ub2e4.<\/p>\n<h2>Stetho<\/h2>\n<p>\ub514\ubc84\uae45 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub77c\uace0 \ud55c\ub2e4.<br \/>\n\ubcf8\uc778\uc740 \uc544\uc9c1\uae4c\uc9c0 \ub514\ubc84\uae45\uc740 \uadf8\ub2e5 \uc5b4\ub824\uc6c0\uc774 \uc5c6\uc5b4\uc11c\ub9ac&#8230;<\/p>\n<p>UI \ub514\ubc84\uae45, sqlite db \ub370\uc774\ud0c0 \ud655\uc778, Network \ud2b8\ub798\ud53d \ud655\uc778\uc2dc \uc720\uc6a9\ud558\ub2e4\uace0 \ud55c\ub2e4.<\/p>\n<h2>Firebase<\/h2>\n<p>\uc774\ubca4\ud2b8 \ub85c\uae45 \ud234\uc774\ub2e4.<br \/>\n\uc774\ubbf8 \ubc30\ud3ec\ud55c \uc571\uc5d0\uc11c \uc5d0\ub7ec\uac00 \uc5b4\ub5bb\uac8c \ubc1c\uc0dd\ud558\uace0 \uc788\ub294\uc9c0 \uc218\uc9d1\ud558\uc5ec \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\ub2e8\uc21c\ud788 \uc5d0\ub7ec \ud655\uc778 \ubfd0\ub9cc \uc544\ub2c8\ub77c, \ubaa8\ub4e0 \uc561\uc158\uc5d0 \ub85c\uadf8\ub97c \ubc1c\uc0dd\uc2dc\ud0ac \uc218 \uc788\uc73c\ubbc0\ub85c,<br \/>\n\uba54\ub274\ubcc4 \uc0ac\uc6a9\ube48\ub3c4\uac19\uc740 \uc5ec\ub7ec \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\ub85c\uadf8\uac00 \uad6c\uae00 \uc11c\ubc84\ub85c \uac04\ub2e4.<br \/>\n\uc88b\uac8c \uc0dd\uac01\ud558\uba74 \ub0b4 \ub3c8 \uc548\ub098\uac00\ub294\uac70\uace0, \ub098\uc058\uac8c \uc0dd\uac01\ud558\uba74 \uad6c\uae00\uc774 \ub370\uc774\ud0c0\ub97c \uc804\ubd80 \uc218\uc9d1\ud55c\ub2e4.<\/p>\n<h2>Butterknife<\/h2>\n<p>deprecated<\/p>\n<p><a href=\"https:\/\/developer.android.com\/topic\/libraries\/view-binding\">\ucc38\uc870<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Android \uc571 \uac1c\ubc1c\uc2dc \uc720\uc6a9\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac(?) \ucc38\uc870 \uc548\ub4dc\ub85c\uc774\ub4dc \uac1c\ubc1c\uc2dc \uc720\uc6a9\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ubb50\uac00 \uc788\uc744\uae4c \uc54c\uc544\ubd24\ub2e4. Glide \uc774\ubbf8\uc9c0\uad00\ub828 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc774\ub2e4. \uc774\ubbf8\uc9c0\ub97c \ube44\ub3d9\uae30\ub85c \ub85c\ub529\ud558\uace0, \ub85c\ub529\ub418\uae30 \uc804\uc5d0\ub294 \ub85c\ub529\uc911\uc784\uc744 \ud45c\uc2dc\ud558\ub294 \uc774\ubbf8\uc9c0\ub97c \ubcf4\uc5ec\uc8fc\ub294 \uae30\ub2a5\uc744 \ud55c\ub2e4. retrofit2 \ud30c\ub77c\ubbf8\ud130 \ud5e4\ub354\ub97c \uac04\ub2e8\ud788 \ubd99\uc5ec\uc904 \uc218 \uc788\uace0, \ube44\ub3d9\uae30 API \ud638\ucd9c\ub3c4 \uac04\ub2e8\ud788 \uc9c0\uc6d0\ud574 \uc900\ub2e4. public interface ApiInterface { \/\/ \uc7a5\uc18c\uc774\ub984\uc73c\ub85c \uac80\uc0c9 @GET(&quot;v2\/local\/search\/keyword.json&quot;) Call&lt;CategoryResult&gt; getSearchLocation( @Header(&quot;Authorization&quot;) String token, @Query(&quot;query&quot;) String\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3696\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32],"tags":[],"class_list":["post-3696","post","type-post","status-publish","format-standard","hentry","category-android"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3696"}],"version-history":[{"count":15,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3696\/revisions"}],"predecessor-version":[{"id":3711,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3696\/revisions\/3711"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}