본문 바로가기

안드로이드

[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.. 더보기