일반적으로 을 통해 request 시 'POST','GET' method는 지원 하지만 'PUT','DELETE'는 지원 하지 않는다. 하지만 REST서비스의 경우 'PUT','DELETE'를 사용 해야 하는 경우가 많은데, 이럴때는 아래와 같은 방법으로 'PUT','DELETE'를 처리 할 수 있다. 태그 밑에 input hidden 을 만들어 주고 value에 사용하고자 하는 method를 넣어 주면 된다. -PUT method 처리123 Colored by Color Scriptercs
[Android]JSON데이터 파싱하기(GSON 이용) 개발을 진행 하다보면 각종 서버와 데이터를 주고 받고 받아야 하는 경우가 많이 생깁니다.요즘에는 서버 API들이 대개 JSON으로 데이터를 주고 받는 편입니다. 단말기에서는 이러한 JSON를 파싱하여 사용 할 필요가 있는데, 이때 가장 많이 이용 되는 라이브러리가 바로 "GSON"입니다.GSON은 간단한 코드 몇줄로 복잡한 JSON도 간단하게 파싱하여 처리해 주는 강력한 라이브러리 입니다. 이번 포스팅에서 GSON을 이용한 JSON 파싱 방법에 대해서 알아보도록 하겠습니다. GSON Github : https://github.com/google/gson 1. GSON 준비 하기 자신에 개발 환경에 맞게 라이브러리 추가 해주면 됩니다. -안드로이드12..
프로젝트를 빌드 하다 보면 Execution failed for task ':app:transformClassesWithDexForDebug'에러가 발생 될 때가 있습니다.위 오류는 많은 원인에서 발생 하게 되는데 해당 원인 및 해결방안은 아래와 같습니다. 원인 1 :중복된 클래스 파일 이름이 사용된 경우해결방법 :여러 라이브러리를 사용 하는 경우 종종 같은 클래스 파일이 사용 되는 경우 가 있습니다. 이럴때 중복된 클래스 파일 이름이 없도록 클래스 파일 명을 확인 해 주어야 합니다. 원인 2 :캐시 메모리가 부족한 경우해결방법 :장시간 개발을 하다보면 Android Studio 내 캐시메모리가 지속적으로 쌓여 메모리가 부족할 때 해당 에러가 발생 될 수 있습니다.Android Studio 상단 메뉴바에..
개발을 진행 하던 중 OnTouchListener를 사용 하여 터치 발생 시 특정 이벤트를 처리 하는 코드를 구현 하여 사용 하던 중 view 되는 항목이 늘어나 ScrollView를 사용 하여 Layout을 감싸 사용을 하였더니 ScrollView 사용으로 인해 화면을 스크롤링(scrolling) 하면OnTouchListener가 콜백 되어 의도하지 않았던 이벤트가 발생 되는 문제가 발생 되었습니다. OnTouchListener는 터치시에만 이벤트가 발생되고 스크롤링을 할때는 해당 이벤트를 미처리 해야 경우가 발생 하였습니다.그래서 아래의 코드와 같이 OnTouchListener에서 시간 간격을 체크 하여 스크롤링 될때에는 이벤트가 발생 되지 않도록 하는 코드를 사용 하여 해결 하였습니다. 123456..
AlarmManager의 필요성 개발을 진행하면서 백그라운드로 특정주기마다 특정서버와 데이터를 동기화 하는 기능을 수행해야 하는 경우가 있었습니다. 처음에는 Service에서 Thread를 돌리면서 sleep을 주어 특정주기마다 돌면서 하는 방향으로 진행 하면 되는 것으로 생각 했지만 실제로 테스트 구동을 해보니 문제가 발견 되었습니다. 서비스에서 thread는 돌고 있지만 돌면서 주기가 일정하지 않고 지속적으로 delay 현상이 발생되고 있었던 것입니다. 폰의 대기모드등 doz상태에 빠지게 되는 경우 OS에서 배터리 손실을 방지 하기 위해서 최소한의 동작을 제외한 백그라운드 작업들은 특정주기마다 모아서 처리 하기 때문에서비스에서 돌고 있던 Thread의 delay가 발생 되고 있었던 것이었습니다. 해당..
Dialog를 dismiss()하는 경우 java.lang.IllegalArgumentException 에러가 발생 되는 경우가 있습니다. 해당에러는 Dialog를 dismiss()하는 과정에서 해당 dialog를 가지고 있는 Activity가 이미 종료되어 버린 상황에서 발생 되게 됩니다. (activity finish();) if(dialog != null && dialog.isShowing()){ dialog.dismiss(); } 일부 게시글에서는 Dialog를 dismiss() 하기 전에 위 코드로 체크 후 종료하면 해결 된다고 하지만 해당 코드를 적용 해도 java.lang.IllegalArgumentException가 발생 하기도 합니다. 이 에러를 해결하기 위해서는 Dialog를 dismi..
ScrollView사용 시 여러개의 View를 가지고 있는데, 이중 특정 View로 이동 시켜야 하는 경우가 발생 됩니다.이럴때 이동 하고자 하는 View만 알면 아래의 코드를 이용 해 해당 View로 이동 시킬 수 있습니다. 123456789101112131415public static void scrollToView(View view, final ScrollView scrollView, int count) { if (view != null && view != scrollView) { count += view.getTop(); scrollToView((View) view.getParent(), scrollView, count); } else if (scrollView != null) { final in..
위경도 좌표 2개의 좌표간에 거리 차이를 구하는 코드 입니다.거리를 구할 2개의 좌표를 넘겨 주면 좌표간에 거리가 리턴 되는 코드 입니다. 1234567891011121314151617181920212223242526/** * 두 좌표간 거리 계산 * @param lat1 * @param lon1 * @param lat2 * @param lon2 * @return */ public static String calcDistance(double lat1, double lon1, double lat2, double lon2){ double EARTH_R, Rad, radLat1, radLat2, radDist; double distance, ret; EARTH_R = 6371000.0; Rad = Math.P..
입력된 텍스트에서 특수문자 사용을 허용/미허용 하는 경우에 특수문자 포함 여부를 확인 해주는 기능을 하는 코드 입니다. String을 넘겨주면 특수문자 포함 여부를 true/false로 리턴 해주는 코드입니다. 1234567891011121314151617 /** * 특수문자 포함 여부 확인 * @param string * @return */ public static boolean hasSpecialCharacter(String string) { if (TextUtils.isEmpty(string)) { return false; } for (int i = 0; i
안드로이드에서 앱을 개발 하다 보면 각종 링크, 전화번호, 이메일드에 추가 액션을 취할수 있는 링크처리가 필요할 수 있습니다. 해당 기능은 안드로이드 자체에 기능이 구현되어 있어 바로 사용 하기만 하면 손쉽게 원하는 기능을 구현 할 수 있게 됩니다. layout(xml)에서 autolink 적용 하기 123456Colored by Color Scriptercs 링크를 적용 할 TextView에 autoLink를 추가 해 주면 됩니다. autoLink의 상세 값은 아래와 같습니다. -NONE => android:autoLink="none" -e-mail => android:autoLink="email" -주소 => android:autoLink="map" -인터넷 URL => android:autoLink..
- 7700K
- 사제 쿨러
- 티스토리 초대장
- GPU 출시
- ONLINE JSON
- Looper.prepare()
- 예약메일 전송
- 블로그 개설
- 초대장
- 국기 다는 시간
- 림의 외경
- 테일즈 오브 베르세리아
- 포아너
- 하이엔드 그래픽카드
- 라이젠
- 한글패치
- 배달 지연
- 오픈베타
- 19대 선거
- 단면폭
- JSON PASER
- 1800TI
- GPU 출시가격
- 1800X
- 민주당 대선 후보
- 다렉
- 한글 패치
- 래디어 구조
- unbound prefix
- 투표소
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |