2012년 6월 25일 월요일

[MAC] 맥 폰트가 흐릿한 경우 해결법

맥 폰트 흐릿한 문제

http://clien.career.co.kr/cs2/bbs/board.php?bo_table=cm_mac&wr_id=458305

[MAC] 맥 한글 폰트 바꾸기

맥 한글 폰트는 정말 눈아프다 -ㅁ-;;
이렇게 바꿔 보자

http://blackturtle.tistory.com/711488

2012년 6월 24일 일요일

[Mantis] 첨부파일 용량 늘리기

php의 업로드 용량 조정 또는 mysql의 용량 조정으로 해결 할 수 있다.

http://www.manghon.com/blog/628

[MAC] MAC에 PATH 추가 하기

MAC에 PATH 추가 하기

http://underclub.tistory.com/454

그리고 좋은거 배웠다~
open XXX
명령어로 텍스트 편집기를 열 수 있다는 사실~

2012년 5월 24일 목요일

[안드로이드] /system 디렉토리를 쓰기용으로 마운트 하기


당연히 루팅되어 있어야 합니다.

그리고 커맨드 창에서 adb shell로 쉘 진입후,
su 등으로 루트권한 확보 후

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system


요래 하면 됩니다.

2012년 5월 8일 화요일

[안드로이드] 부팅시간? 켜진시간??


public static final String ACTION_BOOT_COMPLETED

안드로이드가 껐다 켜지면 위와 같은 액션을 브로드케스트 리시버를 달아 받을 수 있다.
하지만 피치 못할 사정으로 브로드케스트 리시버를 사용 할 수 없다면?

SystemClock에 다음과 같은 두 메쏘드가 있다.

static long elapsedRealtime()
딥슬립 시간을 포함한 부팅 후 경과한 시간을 밀리초 단위로 리턴함.

static long uptimeMillis()
딥슬립 시간을 제외한 부팅 후 경과한 시간을 밀리초 단위로 리턴함.

uptimeMillis()의 경우는 딥슬립 시간을 제외 하니 다른 용도로 써야겠고..
elapsedRealtime()을 쓰면 될듯 하다. System.currentTimeMillis() - elapsedRealtime()하면 부팅 시간이니 말이다.

가령 shared_prefernce 등에 시간을 저장해 두고
OnCreate()에서 그값을 읽어와 부팅시간과 비교해
값이 적다면 새로 부팅한거니 그에 따른 처리를 한뒤 shared_prefernce에 다시 값을 넣어 주고,
값이 더 크다면 아무 것도 하지 않으면 된다.

물론 BOOT_COMPLETED를 받아야만 하는 경우도 있겠지만, 단순히 우리 어플리케이션이 안드로이드가 부팅되고 처음 실행 되는 건지 아닌지 정도는 구분할수 있다.

2012년 4월 17일 화요일

[안드로이드] SD 마운트-탈착에 관한 인텐트



SD 카드에 관련한 작업을 하다보면 예외적인 상황을 고려하지 않을 수 없다. 작업중에 강제로 SD카드가 뽑히거나, USB 연결등으로 마운트 해제가 될수도 있기 때문이다. 그러한 경우 다행히 Broadcast가 날라 오므로 필요에 맞게 받아 처리 할 수 있다.
  • Intent.ACTION_MEDIA_MOUNTED
SD 카드가 마운트 되면 날라옴
  • Intent.ACTION_MEDIA_EJECT
SD 카드가 강제로 뽑히거나 유저가 마운트 해제 하였을때 날라옴
  • Intent.ACTION_MEDIA_UNMOUNTED
유저가 마운트 해제 하였을때 날라옴
  • Intent.ACTION_MEDIA_REMOVED
SD 카드가 장치에서 제거 되었을때 날라옴
  • Intent.ACTION_MEDIA_BAD_REMOVAL
유저가 마운트 해제 하지 않은체 SD 카드가 강제로 뽑혔을때 날라옴

실제로 SD카드를 강제로 뽑아 보면 다음 순으로 발생 함
Intent.ACTION_MEDIA_BAD_REMOVAL -> Intent.ACTION_MEDIA_EJECT

마운트 해제 하면 다음 순으로 발생함
Intent.ACTION_MEDIA_EJECT -> Intent.ACTION_MEDIA_UNMOUNTED

SD 카드를 새로 꼽으면 다음 순으로 발생함
Intent.ACTION_MEDIA_UNMOUNTED -> Intent.ACTION_MEDIA_MOUNTED
희안하게도 언마운트가 먼저 호출되니 처리시 주의가 필요함

참고로 위 인텐트들을 등록 할 때는 아래와 같이 Data scheme을 지정해 줘야 한다.
<receiver android:name=".TestBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.MEDIA_EJECT" />
        <action android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
        <action android:name="android.intent.action.MEDIA_MOUNTED" />
        <action android:name="android.intent.action.MEDIA_REMOVED" />
        <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
        <data android:scheme="file"></data>
    </intent-filter>
</receiver>