본문 바로가기

개발

[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.. 더보기
[NAS] 우분투(ubuntu) 12.04.4 를 이용한 자작나스( NAS ) 구축하기 우분투(ubuntu) 12.04.4 를 이용한 자작나스( NAS ) 구축하기 나스위키에서 보기내안의 작은세상에서 바로보기 목차자작나스 구축1.서론1-1.하드웨어 구성1-2.OS설치2.웹서비스2-1. APM설치2-2. 워드프레스 설치3.웹하드3-1. Samba 설치3-2. OwnCloud 설치3-3. FTP설치3-4. WebFTP설치3.5. 웹토렌트 설치4.미디어 센터4-1. Plex Media Server 설치4-2. SubSonic Music Server 설치5.개발센터5-1. Tomcat7 + JDK7 설치5-2. PHP MyAdmin 설치5-3. Git 설치5-4. Git LAB 설치6.튜닝6-1. 예약된 작업 구성6-2. DDNS 구성을 통한 유동IP 대응6-3. HDD절전모드 구성6-4. HDD.. 더보기
[Android] 3초간 중복터치 막기 Android에서 간단하게 중복터치를 막는 방법입니다.3초간 또다른 액션이 들어온다면 return 을 통해 터치를 막습니다 // 중복터치 체크if (SystemClock.elapsedRealtime() - mLastClickTime < 3000){MMLog.d("중복터치 막음"); return; }mLastClickTime = SystemClock.elapsedRealtime(); 더보기
[Android] Android4.4 에서 루팅없이 ADB로 화면 녹화 하기 Android4.4 로 업데이트되면서 새롭게 추가된게 있습니다바로 화면녹화(Screen Recording) 기능이 추가되었습니다. 하지만 앱자체에서 제어할 수 있는건 아니고 ADB를 통해서 녹화가 가능합니다. 물론 루팅(rooting)는 필요없습니다. 사용환경: Windows / Linux / MAC Step.1[개발자 옵션 - USB디버깅] 옵션을 체크한뒤 컴퓨터와 연결 Step.2ADB가 설치된 경로로 이동(Windows 의 경으 CMD / Linux,MAC 의 경우 터미널 이용 )( android-sdk-windows\platform-tools) Step.3휴대폰 ADB접속 확인해보기platform-tools> adb devices List of devices attached0171352dxxxxx.. 더보기
[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.. 더보기
[Android] 루팅(rooting)여부 확인하기 안드로이폰이 루팅이 되어있을경우 어플의 실행을 막고싶으면 폰이 루팅되어있는지 체크를 해야한다가장 간단한 방법은 두가지(솔직히 더는 모르겠다) 1.직접 su에 루트권한을 요청한다.2.루팅 구성파일 su 파일이 있는지를 체크한다. 일단 첫번째 방법이 가장 낳은듯 하다.. 두번째 방법은 파일 구성이 바뀌거나 하면 못잡아내므로.. 방법은 루팅권한 요청 -> 루팅권한 요청을 날려봤자 의미가 없으면 exception 발생즉 요청이 들어가면(수락을 하든 안하든 상관없이) exception이 발생하지 않으므로, 어플을 종료시켜버리면된다만약 예외처리가 발생하게되면 어플을 정상적으로 실행하면 된다. 뭐 그 반대로 해도될듯 하다 try {Runtime.getRuntime().exec("su");Toast.makeText(T.. 더보기