retrofit을 이용한 서버 통신중 암호화 이후 특수문자 인코딩 오류로 인한 오류 해결. 검색중 String에 .toString()으로 해결하라는 내용도 있으나 log에는 이상 없음을 확인. 결론적으로 특정 인코딩이 필요한 parameter만 encoded 옵션 지정. 로그에 찍히는 결과값 Parma은 MkO2u%2FQ0t01vO4yTMLDvpg%3D%3D%0A 형태로 encoded 옵션 주었을 때와 동일하게 찍히지만 정상적으로 통신 됨을 확인. 123456//error@Field(value = "longitude") String longitude); //modify@Field(value = "longitude",encoded = true) String longitude); Colored by Colo..
EditText Focus 제거에 대한 실험!! - Dialog 호출 시 키패드 활성화 되는 문제를 해결하고자 구글링 후 최종 결과 기록. 1. EditText를 감싸고 있는 LinearLayout에 옵션 추가.android:focusable="true"android:focusableInTouchMode="true" -> 포커스는 사라지지만 키패드는 활성화 됨. 2. edittext.clearFocus() 호출. -> 변화없음. 3. Edittext XML에 옵션을 주고 키패드 닫힘 매서드 호출.android:focusable="true"android:focusableInTouchMode="true" -> 변화없음. 4. delay를 통한 focus제거. -> 키패드 내려감!!! -> 원인은 화면이 그려..
날짜 정보 가져오는 것 테스트 한다고 시스템 시간을 변경했더니 빌드 할 때 앱이 죽는문제 발생.도대체 뭐가 문제인지 GCM키 확인해 보고, 코드 다시 확인하고, 위치정보 권한 받는 부분에 에러코드가 나와서삽질끝에...try catch에 걸린 오류는 java.io.IOException: SERVICE_NOT_AVAILABLE 시스템 환경설정 시간을 자동으로 설정하니 해결되었다.
원하는 년도만 선택할 수 있는 다이얼로그가 필요했다.DatePicker를 사용하여 월, 일을 제거하고 사용하는 방법도 있지만 NumberPicker로 구성해 보았다.캘린더에서 년도를 가져오고 min, max를 지정하고 기본 디폴트 값을 지정한다.다음은 관련 코드 전부이다. 리소스 연동은 필요여하에 따라 변경하거나 삭제하면 된다. 선언부123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 private void showBirthDayPicker() { Calendar calender = Calendar.getInstance(); int year = c..
Android Studio에서 처음으로 스토어 배포용 APK를 생성하였다. 내부적으로 배포 했을 경우에 문제가 없기에 당연히 아무 문제도 없을 것이라 생각하고 바로 프로덕션 배포를 진행하였으나, 스토어 배포 된 버전에서 S급 오류가 무더기로 쏟아졌다. 특정 라이브러리를 사용하는 모든 기능에서 앱이 죽는 것이다.부랴부랴 검색을 하고, 이것도 고쳐보고 저것도 고쳐보았지만 이유를 알지 못한체 Release로 배포를 수십 번 했음에도 마음이 급해 원인을 찾지 못하고 있었다.그러다 마음을 가라 앉히고 Release일 때 문제가 생긴점을 감안해 app.Gradle 파일을 다시 훑어본 결과 BuildTypes가 눈에 띄웠다. 1234567891011121314 buildTypes { debug { signingCon..
iOS 다음 지도 길찾기 연동 및 설치되어 있지 않을 경우 다음지도 앱스토어로 이동 처리. 1234567891011121314151617181920212223242526272829303132333435363738394041// 다음지도를 통한 길찾기 버튼 클릭 리스너-(void)goNaverMapClick{ NSURL *url = [NSURL URLWithString:[NSString stringWithFormat: @"daummaps://route?sp=%f,%f&ep=%f,%f&by=CAR",mainView.userLatitude, mainView.userLongitude, lat, lon]]; //다음 지도 설치 유무 판단. BOOL isInstall = [[UIApplication sharedAp..
GCM관련하여 Notification을 생성할 때 이미지를 보여줄 수 있다. 123456789101112131415161718192021222324252627282930313233343536 try { URL url = new URL("https://xxx.com/test.jpg"); URLConnection conn = url.openConnection(); conn.connect(); BufferedInputStream bis = new BufferedInputStream( conn.getInputStream()); Bitmap imgBitmap = BitmapFactory.decodeStream(bis); bis.close(); NotificationCompat.Builder mBuilder = n..
년/월/일 설정하는 Dialog 생성하기. 12345678910111213141516171819OnDateSetListener callBack = new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { String resultBirthday = year + "년 " + String.format("%02d", monthOfYear+1) + "월 " + String.format("%02d", dayOfMonth)+ "일"; text_birthday.setText(resultBirthday); Toast.makeText(RegistInfoActivity..
체크 리스트 다이얼로그 생성 및 갯수 제한하기. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 AlertDialog.Builder build = new AlertDialog.Builder(this); build.create(); build.setTitle("숫자 선택"); build.setIcon(R.drawable.ic_launcher); final String[] items = {"하나","둘","셋","넷","다섯","여섯","일곱"}; boolean[] checkedItems = { false, false, false, false, fal..