마무리 작업을 하고 있다.
타겟에 올려보니 실제와 다른 부분이 몇가지 있다.

특히 SDCARD부분이 다소 달랐다.
만약, SDCARD가 컴퓨터에 연결이 되어 있다면 디바이스에 인스톨된 어플리케이션은 SDCARD에 접근을 하지 못하는 것 같다.

곰곰히 생각해보니, 만약 어플 사용자가 선을 연결해놓고 실행하려 하는 경우 동일한 문제가 발생할 수 있다는 생각이 들었다.

따라서 SDCARD를 사용하려면 반드시 사용하기 전에 SDCARD의 상태가 정상적인지 확인하는 것이 필요하다.

SDCARD의 상태를 확인하는 것은 getExternalStorageState() 를 사용하면 된다.
android.os.Environment.getExternalStorageState()
아래는 안드로이드 Developer 자료
Constants
String MEDIA_BAD_REMOVAL getExternalStorageState() returns MEDIA_BAD_REMOVAL if the media was removed before it was unmounted.
String MEDIA_CHECKING getExternalStorageState() returns MEDIA_CHECKING if the media is present and being disk-checked
String MEDIA_MOUNTED getExternalStorageState() returns MEDIA_MOUNTED if the media is present and mounted at its mount point with read/write access.
String MEDIA_MOUNTED_READ_ONLY getExternalStorageState() returns MEDIA_MOUNTED_READ_ONLY if the media is present and mounted at its mount point with read only access.
String MEDIA_NOFS getExternalStorageState() returns MEDIA_NOFS if the media is present but is blank or is using an unsupported filesystem
String MEDIA_REMOVED getExternalStorageState() returns MEDIA_REMOVED if the media is not present.
String MEDIA_SHARED getExternalStorageState() returns MEDIA_SHARED if the media is present not mounted, and shared via USB mass storage.
String MEDIA_UNMOUNTABLE getExternalStorageState() returns MEDIA_UNMOUNTABLE if the media is present but cannot be mounted.
String MEDIA_UNMOUNTED getExternalStorageState() returns MEDIA_UNMOUNTED if the media is present but not mounted.

최소한 MEDIA_SHARED 상태인지 확인하는 것이 필요하다고 여겨진다.

허접한 글이지만, 도움이 되셨다면 아래 손가락 꾹 눌러주세요.
안드로이드 에서 검색 버튼을 누르면 searchbox 가 뜬다.


이 searchbox가 뜨는 것을 막으려면

Activity에 아래와 같이 onKeyDown을 오버라이드 하면 된다.
모든 Activity에 넣어야 하는게 문제인데 혹시 다른 방법이 있다면 조언 부탁드립니다.

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        Log.w("ENGLISH1", "KEYCODE : " + keyCode + " vs " + KeyEvent.KEYCODE_SEARCH);
        if (keyCode == KeyEvent.KEYCODE_SEARCH)
            return true;
        return super.onKeyDown(keyCode, event);
    }

허접한 글이지만, 도움이 되신다면 손가락 꾹 눌러주세요.

'<안드로이드>개발 > 안드로이드/App' 카테고리의 다른 글

[팁] SDCARD의 상태 확인  (0) 2010.06.26
[Widget][예제]ListView with CursorAdaptor  (3) 2010.06.24
[팁] Quick Search Box 막기(안뜨게 하기)  (0) 2010.06.19
MediaPlayer  (0) 2010.06.17
[공부] Thread  (2) 2010.06.17
[Widget 스터디] Seekbar  (4) 2010.06.16

저작권 문제 있으면 삭제 하겠습니다.

android.os.Environment.getExternalStorageDirectory().getAbsolutePath();

/sdcard/ 가 기본 경로인듯 하다.

또 sdcard에 파일을 쓰려고 한다면,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
을 반드시 주어야 함.
안드로이드 작업하다가 가끔 빌드가 안된다며 불평할 때가 있다.
코드에 문제점이 아무데도 없지만 이렇게 불평하는 경우 막막하다.

아래와 같은 경우에 주로 발생했다.
1. 확장자가 대문자 또는 - 또는 예약어가 들어간 파일들을 resource에 넣고 수정한 다음
2. layout 파일을 수정중

이런 경우 refresh를 해도 해당 오류가 해결이 안된다면
일단
1. 프로젝트를 Clean해본다. 메뉴의 Project > clean을 누르면 된다.
2. R.java를 지워본다. gen 폴더의 R.java를 지워본다.
3. 아래 방법을 사용해본다.(도움은 안될것이다.)
프로젝트의 preference에서 안드로이드를 다시 설정해보는 것을 추천한다.(안되도 어쩔수 없지만)

1. 프로젝트 명을 선택하고 ALT+ENTER
2. Preference에서 ANDROID 탭 선택
3. 본인의 환경에 맞는 Target을 선택해제후 재 선택
4. Apply 버튼 클릭
5. 확인 버튼 클릭

허접한 글이지만, 도움이 되신다면 아래 손가락 꾹 눌러주세요.

+ Recent posts