본문 바로가기

Android

[Android] ListView 에서 처음과 끝 구분하기( 최상단 , 최하단 체크 하기 ) 안드로이드 ListView 를 사용하면서 최하단과 최상단을 체크할일이 생겼다최하단인지를 체크하는 이유는 하단에서 데이터를 더 가져오기 위함이고, 최상단에서 체크하는 이유는 Pull to refresh 때문이었다. 위 처럼 OnScrollListener 을 이용하여 최상단과 최하단을 체크할 수 있다. 더보기
[Android] Activity를 dialog띄웠을때 영역외 터치시 닫히는거 막기 액티비티를 다이얼로그로 띄우면 기본적으로 다일러로그 영역외(뒷배경)을 터치하면 다이얼로그가 닫힌다이를 막기 위해서는 아래와 같은 오버라이드해서 터치발생시 return 을 주면된다 @Override public boolean dispatchTouchEvent(MotionEvent ev) { // TODO Auto-generated method stub Rect dialogBounds = new Rect(); getWindow().getDecorView().getHitRect(dialogBounds); if (!dialogBounds.contains((int) ev.getX(), (int) ev.getY())) { // 영역외 터치시 닫히지 않도록 return false; } return super.disp.. 더보기
[Android] 3초간 중복터치 막기 Android에서 간단하게 중복터치를 막는 방법입니다.3초간 또다른 액션이 들어온다면 return 을 통해 터치를 막습니다 // 중복터치 체크if (SystemClock.elapsedRealtime() - mLastClickTime < 3000){MMLog.d("중복터치 막음"); return; }mLastClickTime = SystemClock.elapsedRealtime(); 더보기
[Android] OutOfMemory Error 해결방법 , 이미지 처리 이미지를 메모리에 올리지 않고, 이미지의 사이즈 구하는 방법 ( 이는 OutOfMemory 오류를 방지합니다 ) /** Get Bitmap's Width **/ public static int getBitmapOfWidth( String fileName ){ try { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(fileName, options); return options.outWidth; } catch(Exception e) { return 0; } } /** Get Bitmap's height **/ public static in.. 더보기
[Android] 국가별 언어 지정 코드(국가 코드) 언어 (국가) 폴더 이름 (언어) 폴더 이름 (언어 + 국가) 체코어 (체코) values-cs values-cs-rCZ 독일어 (독일) values-de values-de-rDE 독일어 (오스트리아) values-de-rAT 독일어 (스위스) values-de-rCH 독일어 (리히텐슈타인) valued-de-rLI 영어 (미국) values-en values-en-rUS 영어 (영국) values-en-rGB 영어 (캐나다) values-en-rCA 영어 (호주) values-en-rAU 영어 (뉴질랜드) values-en-rNZ 영어 (싱가포르) values-en-rSG 스페인어 (스페인) values-es values-es-rES 프랑스어 (프랑스) values-fr values-fr-rFR 프랑스.. 더보기
[Android]SQLite 기본 명령어 정리 데이터베이스 리스트 조회 ContextWrapper.databaseList(); ContextWrapper == ConText 데이터베이스 삭제 ContextWrapper.deleteDatabase("삭제할 데이터베이스명"); 예) if (Arrays.binarySearch(databaseList(), DATABASE_NAME) >= 0) { deleteDatabase(DATABASE_NAME); } 어플리케이션내에 데이터베이스 열거나 생성 ContextWrapper.openOrCreateDatabase("데이터베이스명.db", 데이터베이스모드, 쿼리가호출되는 커서를 선택); 예) SQLiteDatabase mydb=openOrCreateDatabase(DATABASE_NAME, SQLiteDatabas.. 더보기