평소에 서버에서 Get이나 Post아니면 그냥 자료를 받을때 Broadcast등을 이용해 Json 형식의 자료를 받기위해 긴 줄에 걸쳐(물론 한 번 만들어 놓으면... 복붙이지만) 해당 코드를 만들었었다. 하지만 Okhttp를 알게된 이후로는 그럴일이 없을것 같다. 너무나도 간단한 OKhttp 사용법을 살펴보자! Okhttp 사용법 사용을 해보면 왜 이름이 Okhttp인지 알게된다. 바로 살펴보자. 1) Gradle 추가 Gradle에서 다음과 같이 추가하여준다.( 2017.06.03일 기준 최신버전이다. ) 1compile 'com.squareup.okhttp3:okhttp:3.8.0'cs 2) 사용 Gradle에 추가를 해주고 Sync까지 해주었다면 바로 사용을 해보자.(이하 모든 코드는 네트워크 작..
이 오류에 앞서 다음과 같은 Method 초과로 인한 문제로 발생한 다음의 오류에서도 같은 방법을 적용할 수 있습니다. 12Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536cs 123trouble writing output:Too many field references: 131000; max is 65536.You may try using --multi-dex option.cs 그럼 이제 다시 본론으로 돌아와 보겠습니다. 앱을 만들던중 다음과 같은 오류가 발생하였습니다. 1java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptio..
다음과 같은 오류가 발생하였습니다. 1234Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.squareup.okhttp3/okhttp/pom.properties File1: C:\Users\j-pc\.gradle\caches\modules-2\files-2.1\com.squareup.okhttp3\okhttp\3.8.0\5a11f0..
이전에 카카오톡 로그인 기능을 위해 카카오톡 API를 사용했었습니다. 그때의 SDK 버전은 다음과 같았습니다. (gradle.properties 에서 확인) 1KAKAO_SDK_VERSION=1.1.7cs 이번에 다른 기능을 추가하기위해 카카오 측에서 제시한 가이드를 따라 함수를 사용하던 중 사용을 하지 못하는 함수가 있어 이곳저곳 살펴보았지만 compile로 넣어준 패키지에서도 해당 class를 전혀 찾을 수 가 없어 카카오측에 문의를 3번이나 한 끝에야 문제를 찾을 수 있었습니다. 바로 SDK가 그 사이에 1.2.2 까지 나온것이고, 해당 class는 1.2.x 부터 사용이 가능했던 것입니다. 따라서 다음과 같이 수정한 후에는 문제없이 진행할 수 있었습니다. 1KAKAO_SDK_VERSION=1.2...
UI / UX Libraries 소프트웨어가 꾸준히 발전하는 이유중 하나가 바로 이런 라이브러리 때문이 아닌가 싶습니다! 혼자서는 구현하기 힘들고 오래걸리는것들을 오픈소스인 라이브러리가 개인 개발자나 팀 단위에서 개발 시간을 짧게 만들어주고 개발을 쉽게 만들어 주고 있는것 같네요. 저는 어떠한 기능을 구현해야 할 때 우선 라이브러리가 있는지 살펴보고 시작을 한답니다.자주이용하는 Github에서 자주쓰이는 혹은 Star를 많이 받은 라이브러리(오픈소스)들을 모아논 페이지입니다.!! Github UI / UX 라이브러리 모음 에서 보실 수 있습니다!!(클릭하시면 새창으로 열립니다.) 위와 같이 다양한 종류의 라이브러리들이 기다리고 있습니다. Adapter 같은 기능을 따로 만들기 귀찮은 ViewPager나 ..
간단하게 메뉴나 목록을 만들수 있는 ListView에 대해서 알아보겠습니다.ListView 우선 xml에서 ListView를 만들어 주었습니다. 1234 =cs 이제 MainActivity에서 ListView에 Item을 추가시켜 주겠습니다. 1234567891011ListView test;public class MainActivity extends AppCompatActivity { ListView test; // ListView 형태를 선언. String[] item; // String 배열을 추가. ArrayAdapter adapter; // String과 ListView를 연결해주기 위해 선언. @Override protected void onCreate(Bundle savedInstanceSta..
이전 [안드로이드] Thread Handler 예제를 만드는데 마지막에 TextView에서 스크롤이 안되어 작성하게 되었습니다. Scroll Bar를 달아보자 ScrollView를 통해 아주 간단하게 TextView에 스크롤의 기능을 추가할 수 있습니다. ScrollView 추가를 위해 xml로 이동하였습니다. ScrollView와 HorizontalScrollView를 보실 수 있습니다. 전자는 세로로 스크롤을 지원하고 후자는 가로로 스크롤을 지원해줍니다. 양방향이 필요하시면 둘다 쓰시면 됩니다. ScrollView를 끌어다가 만들어준 뒤 TextView를 ScrollView안에 넣어주시면 됩니다. 위와 같이 TextView를 끌어다가 ScrollView 안에 넣어주셔도 되고 xml의 text 부분에서..
이전에 백 버튼(뒤로가기 버튼) 클릭 시 한 번 더 의견을 물어 일정 시간 안에 백 버튼을 다시 누르면 어플이 종료되는 예제를 알아보았습니다.[안드로이드] 뒤로가기 버튼 이벤트 예제 이러한 예제를 사용한 곳도 있지만 종료를 위해 뒤로가기 버튼을 누르면 팝업창이 뜨면서 광고 또는 공지가 정말 종료할 것이냐는 말과 함께 종료나 취소를 선택할 수 있게 됩니다. 여기서는 광고나 공지를 올리는 건 아니지만 종료를 위해 백 버튼을 누르면 팝업창에서 선택할 수 있는 형태를 AlertDialog를 통해 간단히 만들어 보겠습니다. AlertDialog를 통해 팝업창을 띄어보자 팝업창을 띄우는 방법은 여러 가지가 있지만 사용이 간단하면서도 구글에서 추구하는 Material Design으로 디자인 되어있으므로 다른것은 신경..
아주 기본적인 형태의 ProgressBar(프로그래스바)를 사용해 보겠습니다. 사용된 예제는 다음의 예제에서 가져왔습니다. [안드로이드] AsyncTask를 이용한 Thread 예제 Progress Bar 사용 간단한 형태를 살펴볼 것이므로 기본으로 주어지는 원형 프로그래스바를 다뤄보겠습니다. 기본적으로 XML에서 프로그래스바를 끌어다가 놓으면 원형 형태를 가진 프로그래스바가 만들어지게 됩니다. 위치는 문자가 가려지지 않도록 오른쪽 아래에다가 두었습니다. 그리고 바로 실행시키면 코딩 작업을 하지 않아도 다음과 같이 원형의 프로그래스바가 돌고 있는 것을 보실 수 있습니다. 원형 프로그래스 바는 데이터 처리 퍼센트를 보여주지 않으므로 예제에서는 시작할 때는 프로그래스바를 안 보이게 해두었다가 시작 되면 보이..
Thread에 대한 내용이 궁금하신 분은 아래의 게시물을 읽고 오시면 됩니다. 1. [안드로이드] Thread 예제2. [안드로이드] Thread Handler 예제 이번엔 AsyncTask를 이용한 Thread 사용을 살펴보려고 합니다. 이전까지는 Thread를 사용하기 위해서 Thread를 만들어주고 Runnable로 할 일 을 주고 Handler로 메인 Thread에 할 일을 요청하는것들을 했었습니다! 이런 일들을 더 간편하게 해주기 위해서 나온 AsyncTask를 살펴보겠습니다! AsyncTask AsyncTask는 간단히 말하면 Thread를 쉽게 사용하기 위해 만들어졌습니다. AsyncTask의 Override 함수들을 먼저 살펴보겠습니다. AsyncTask doInBackground Thre..
- Total
- Today
- Yesterday