오늘도 배우자!

귀찮음에 배움을 멀리하지 않기를...

Develop/Android 9

RecyclerView를 사용해보자아(2)

써야지 써야지 하고 다른 일을 하느라 조금 늦었다... 오늘 이 시간에는 RecylcerView의 View를 구현하기는 했는데 ListView 처럼 Item Click Event를 어떻게 핸들링하는지 다루어 보도록 하겠다~!!! 이번 내용은 도움이 많이 될 것 이다. 꿀이거든 꿀... 늘 그래왔듯이 중요한 점을 키워드로 정리를 하자!! Item 을 누르는 행위는 크게 Click 과 Touch 2가지로 분류된다. 구별이 잘 안가는 사람을 위해 조금 설명을 하자면 Click은 손을 눌렀다가 뗄 때 인지되는 것이고, Touch는 누를 때, 뗄 때 모두 인지되는 것이다. RecyclerView에서 항목(Item)을 클릭하거나 터치하여 게시판처럼 다른 Activity로 넘어가거나 어떤 것을 눌렀는지 Toast를 ..

Develop/Android 2017.02.26

RecyclerView를 사용해보자아(1)

이번글에서는 RecyclerView를 이용해서 Data를 그리는 것 '만' 해보도록하겠다.아마도 다음 포스팅때는 ItemTouchListener를 달아서 Touch Event를 처리하거나, EndlessRecyclerViewScrollListener를 이용해서리스트의 끝에 도달했을 때 Data를 Reload 해오는 내용을 다룰 것 같다...글자 모양과 크기를 한번 바꿔봤는데... 쫌 맘에 든다...호호호 1. RecyclerView 개념 보통 게시판이나, 카톡 프로필 리스트처럼 여러개의 리스트를 띄워주는 내용을 구현 할 때 ListView를 사용해왔다.하지만 ListView를 사용 할 때 ViewHolder라는 하나의 클래스를 따로 작성해서 ListView의 성능을 높여주는 작업을 따로 해왔지만Recyc..

Develop/Android 2017.02.21

JSON 개념 이해

이제 서버와 통신하는 방법을 배웠으니, 오늘은 서버와 주고받는 데이터에 대해서 공부를 해보겠다.보통 Server(Back End) 개발자와 Client(Front End) 개발자가 서로 통신에 대해서 이야기를 할때 대부분 JSON을 사용하여 통신을 한다. JSON의 형태는 Object를 Array형태로 담아서 전송하는 것 인데, 이렇게만 이야기 하면 느낌이 오지 않을테니 직접 보면서 이해를 해보도록 하자. 1. JSON 형태 { "student" : [ { "studentId" : "0001", "studentName" : "양시영", "studentAddress" : "공릉동" }, { "studentId" : "0002", "studentName" : "김우진", "studentAddress" : "..

Develop/Android 2017.02.11

OkHttp 사용법

사람들 마다 자신이 선호하는 개발 방식이 다르고, 사용하는 라이브러리도 다르다. 나는 통신 라이브러리 중에서 OkHttp와 Retrofit이 개인적으로 가장 입맛에 맞아서 먼저 OkHttp에 관한 내용을 기록해두려 한다. 배경지식으로 알아두면 좋은 점은 OkHttp는 Third-party(프로그래밍을 도와주는 라이브러리를 만드는 회사) library로 이 라이브러리를 만든 회사는 'Square' 라는 회사이다. OkHttp는 HTTP 기반의 request/response 방식이며, 훗날 Retrofit이라는 라이브러리의 베이스가 된다. 1. OkHttp Gradle compile 'com.squareup.okhttp3:okhttp:3.3.0' 2. AndroidManifest에 INTERNET Permi..

Develop/Android 2017.02.09

카카오톡 로그인 API를 사용해보자아(3)

드 디 어 카카오톡 로그인을 완성하는 글을 쓰게 되었다... 하아... 어렵진 않은데 뭔가 번거롭다... 그래도 도움이 되겠지... 이제 구현해야하는건 GlobalApplication, KakaoApapter, CallBack, KakaoLoginButton 요 네가지이다. 솔직히 요기는 적당한 복붙만하면 다 되는 부분이다... 출발해본다.. 1. GlobalApplication 구현 및 Manifest 등록 클래스를 하나 만들어서 Application을 extends하여 구현을 시작하면 된다. 그리고 다음과 같은 소스코드를 복 to the 붙 하면 GlobalApplication 구현은 끝난것이다. public class GlobalApplication extends Application { priva..

Develop/Android 2017.02.07

카카오톡 로그인 API를 사용해보자아(2)

첫번째 글(http://onlyformylittlefox.tistory.com/3)에서 카카오톡 개발자 사이트에 앱 등록을 완료했으니이제 카카오톡에서 제공하는 라이브러리를 사용하기위해서 Gradle 세팅을 해줘야합니다. 이번글을 좀 쉬우니까 마음 편안하게 보시길바랍니다~!!! 1. build.gradle(project) 파일 설정 요거 또 헷갈려하시는 분들이 계실까봐 사진으로 설명 갑니다 왼쪽 메뉴에 저 build.gradle 파일에 들어가서 allprojects라는 곳에 오른쪽에 하이라이팅한 부분과 같이 똑같이 해주면 됩니다. 따라보고 치기 귀찮다~~ 하시는 분들은 아래의 코드를 복붙해주세용 jcenter() mavenCentral() maven { url 'http://devrepo.kakao.com..

Develop/Android 2017.02.06

카카오톡 로그인 API를 사용해보자아(1)

이번엔 요즘에 많이들 사용하고 또 어려워 하는 사람들이 많은 것 같은 카카오톡 로그인 연동을 해보는 시간을 가지겠습니다!!!!!...시끄러웠으려나... *****개발환경은 Android Studio입니다.***** 카카오톡 로그인을 하기위해서는 세가지만 기억하시면 돼요. 첫번째, 카카오톡 개발자 사이트(https://developers.kakao.com/)에 App 등록 및 Native App Key 획득 두번째, Android Studio에 Kakao SDK 사용을 위한 Gradle 세팅 및 첫번째에서 획득한 Native App Key 등록 세번째, Kakao Login 버튼 구현, CallBack 구현, Kakao SDK Adapter, GlobalApplication 구현 자 그럼 이제 출발해보겠슴..

Develop/Android 2017.02.05

Navigation Drawer를 사용해보자

1. Navigation Drawer란 무엇인가요즘 App에서 거의 필수로 쓰이는 기능으로, 안드로이드 기준 액션바 왼쪽에 위치하는 메뉴를 누르면옆에서 메뉴창이 스르륵하고 나타나는데 그 기능을 Navigation Drawer라고 한다. 아래 영상을 참고하라 2. 구현Navigation Drawer를 구현하기 위해서 몇단계를 거쳐야한다.예전에는 Navigation Drawer가 위의 상태 바(status bar)를 가리곤 했는데 요새는 가리지 않도록 이쁘게 나왔다. 1) Design Support Library를 Gradle에 추가 Dependencies{ Compile 'com.android.support:design:23.1.1' } 그런데 여기서 중요한 점은 design 뒤에 붙는 저 숫자들이다.저게..

Develop/Android 2017.01.06

Context 탐구

1. Context란? Application의 상태를 포함하고있는 정보의 접근을 제공하는 것 2. 언제 Context를 사용하는가? 1) 현재 개발 중인 Application 내의 Component를 '명시적'으로 실행하는 경우 예를 들어, 흔히 우리가 현재화면에서 다음화면으로 넘어갈 때 Intent를 사용하는데 그때 사용하는 것이 Context이다. Intent intent = new Intent(MainActivity.this, NextActivity.class); startActivity(intent); 요것이 왜 중요하냐면... 우리가 어플 내에서 '명시적'으로 Component를 호출할 때 필요한 것이 있는데고것에 대한 정보를 Context가 제공해준다. 여기서 어떤것이 필요할까?? 궁금증이 생..

Develop/Android 2016.12.28