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..
앱간 연동 스키마 설정 및 해당 앱이 설치 되지 않았을 경우 해당 스토어로 이동. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849//전역설정.private AlertDialog mDialog = null; //이동시킬 인텐트 생성.Intent intent = getPackageManager().getLaunchIntentForPackage("[패키지명]"); if (intent == null){ //다이얼로그 생성. mDialog = createDialog(); mDialog.show();}else{ intent.setData(Uri.parse("해당 앱 연결할 스키마://")); startA..
문제 :EditText가 활성화 되면서 전체 컨텐츠 영역이 키패드에 가려지는 문제. 해결 : ScrollView로 레이아웃을 한번 감싸준다. 추가 문제 : EditText에 포커스가 자동 할당되어 키패드가 엑티비티 실행 시 나타난다. 해결 :1. 안드로이드 메니페스트의 해당 엑티비티에 android:windowSoftInputMode="stateAlwaysHidden" 또는 "stateHidden"추가.2. getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN );3.editText.setType( InputType.NULL );4. 그외 ScrollView에 리스너를 추가하거나 EditText에 리스..
목적viewpager를 사용할 수 없고, 화면 전환이나 그와 유사한 이벤트가 필요하여 사용.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374import android.view.View.OnTouchListener; import android.view.GestureDetector;import android.view.GestureDetector.OnGestureListener;import android.view.GestureDetector.SimpleOnGestureListener; Context mContex..
youtube에 등록된 도영상을 앱내에서 재생하기 위해서 관련 자료를 찾아보았다.//구글 문서https://developers.google.com/youtube/android/player/ 요약하자면 다음과 같다.1. 구글 api에서 인증키를 발급 받는다. https://console.developers.google.com/project 1.2.1 버전 사용. 2. 다운로드한 YouTubeAndroidPlayerApi.jar 라이브러리 파일을 추가한다.https://developers.google.com/youtube/android/player/downloads/ 라이브러리 파일은 Add External JARs...를 선택하여 추가하였다. 3. Manifest에 permission 추가 4. 상황에 맞..