본문 바로가기

Trouble Shooting

안드로이드 EditText 항목 쓰기방지(read-only)로 만들기 EditText 위젯을 읽기전용(read only)로 설정하고자 했는데, XML상 속성 "android:editable", 폐기예정이므로 몇가지 방법들을 찾아봤다. XML에서 설정"android:inputType" 속성을 제거하고, "android:focusable" 속성값을 "false"로 한다.코드상에서 설정setInputType 함수를 사용한다. 매개값으로 InputType.TYPE_NULL을 넘기면 된다. EditText editWord = (EditText)findViewById(R.id.editWord);editWord.setInputType(InputType.TYPE_NULL); 추가팁 (나만 몰랐던)"LinearLayout" 에서 어떤 위젯이 남은 공간 채우도록 만들기 위해 구글링된 여러 .. 더보기
[GIT 정리] 이미 commit/push된 파일을 .gitignore에 등록하기 이 글은 GIT의 기초를 설명하기 보다는 흔히 현장에서 발생할 수 있는 상황에 대처할 수 있는 실용적인 방법들을 설명하기 위한 두번째 글이다. 프로젝트를 진행하다보면 뒤늦게, 혹은 실수로 이미 소스저장소에 올려진 파일을 .gitignore에 등록해야 할 때가 생긴다. GIT에 대한 이해가 적을 때, 이 작업은 무지 난해한 작업이었다. 그러나 자세히 정리해보니 생각보다 간단한 작업이었다. 1. .gitignore 파일이 정확히 동작하는지 확인하기.gitignore에 소스관리하지 않을 파일을 등록한 후 제대로 동작하는지 확인할 필요가 있다. 그러나 정확하게 명령을 내리지 않으면 정보가 누락되어 잘못된 판단을 할 수 있다. 우선 데모를 위해 이전회의 저장소 및 클론에서 몇가지 상황을 추가했다.클론저장소는 클론.. 더보기
[GIT 정리] 여러 조회 방법 및 충돌 파일 간단 처리 이 글은 GIT의 기초를 설명하기 보다는 흔히 현장에서 발생할 수 있는 상황에 대처할 수 있는 실용적인 방법들을 설명하기 위한 첫번째 글이다. 소스 공유 툴을 사용할 때, 모든 참여자들이 정확히 방법을 숙지하고, 정상적인 경우만 있다면 아무 문제가 없지만, 대부분은 누군가 이상한 작업을 해서 뒤죽박죽 뭔가 섞였을 때... 해결을 못하고 아마도 소스를 백업받고 아예 엎어치는 경우가 종종 있다. 이럴 때면 이걸 왜 쓰지 하는 생각이 들기도 한다. 게다가 SVN보다 GIT이 사용하기 어렵다. 솔직히 너무 어렵게 만든 것 같고 무엇보다도 명령어들이 나에게는 직관적이지 않아서 더욱 어렵다. 언젠가 확실히 이해할 필요가 있다고 생각하던 중, 시간이 되서 정리를 시작해 본다. 1. GIT 클론 저장소와 원격저장소간 .. 더보기
안드로이드 시뮬레이터, root권한 없이 SQLite DB 파일 접근 이 글은 제목 그대로 안드로이드 시뮬레이터에 있는 앱의 SQLite DB 파일을 접근하는 방법을 설명하는데, root권한 없이 간단히 할 수 있는 방법을 설명한다. 먼저 안드로이드 시뮬레이터에 콘솔을 연결해야 하는데, 일반적으로 'adb'프로그램을 사용한다. 이 프로그램은 안드로이드 SDK의 번들로 제공되는 프로그램으로 SDK 설치 디렉토리 아래 '.../platform-tools' 디렉토리에 있다. OSX인경우 기본설정으로 설치했다면 SDK의 위치는 '~/Library/Android/sdk' 이다. 'adb'프로그램은 실물 안드로이드 기기에 연결이 될 뿐만 아니라 안드로이드 시뮬레이터에도 접속이 된다. 이 글에서는 시뮬레이터에 대한 부분만 다루기로 한다. adb devices시뮬레이터를 구동중이라면 아.. 더보기
안드로이드 기기를 사용하는 단위테스트 첫발 안드로이드 프로그램을 처음으로 짜보게 되었다. 단위테스트를 사용하기 위해 JAVA 프로그램을 제작할 때 하듯이 했는데, 간단한 단위테스트는 문제가 없었지만, 기기를 이용해야 되는 경우에는 구현이 까다로왔다. 예를 들면 리소스파일을 읽어오는 테스트... 우선 인터넷에 검색된 문서들의 경우, 제안된 TestCase 클래스들 'AndroidTestCase' 혹은 'ApplicationTestCase' 들은 모두 사라질(deprecated) 상태였다. 이리저리 살펴본 결과 1. 'src/androidTest/java' 디렉토리 아래에 단위테스트 클래스를 반드시 놓아야 했다.2. class annotation @RunWith를 아래와 같이 넣어야 한다.@RunWith(AndroidJUnit4.class) publ.. 더보기
git 레포지토리에서 변경된 파일들중에서 원하는 파일들만 추리기 git 레포지토리에서 변경된 파일들을 모아서 제출할 필요가 있어서 사용한 명령어이다. $ git diff --name-only b847612f65a9d9024d5d943500ea0be502668341 HEAD | grep 'cc\|cpp\|h$' | xargs tar czf changed.tgz 먼저 git 레포지토리에서 변경된 파일만 찾아 파일명들을 출력하는 명령은 다움과 같다git diff --name-only commit-id commit-idcommit-id에는 HEAD 와 같은 예약어를 쓸 수 있다. 두번째 grep문장을 통해 원하는 확장자를 갖는 것들만 추리게 된다. grep의 정규식 규약을 따랐다. '$'는 행의 끝은 의미한다. 정규식의 의미는 cc 혹은 cpp 혹은 h로 끝나는 행(줄)만을.. 더보기
Windows 10 스토어앱 구동 안되는 문제 Windows 10에서 스토어 앱이 구동되지 않았다. 버전을 "Creator"버전으로 올려서 그런건지 아닌지 원인을 알 수는 없었다. 어쨌든. 증상Windows 10 Creator 버전으로 업데이트 함.스토어앱을 구동시켜도 구동되지 않는다.wsreset.exe 프로그램을 실행시키면 잠시후에 "이 ms-windows-store을(를) 열려면 새 앱이 필요합니다."라는 문구를 보이는 창이 뜨고 전혀 해결이 안 된다.해결시작 > 설정 > 앱 으로 이동해서 스토어 앱을 선택한다.(마우스 클릭), Windows 10의 이전 버전에서는 시작 > 설정 > 홈 > 앱 및 기능 으로 이동한다."고급옵션"이 보이게 되면 마우스로 선택한다.고급옵션 창에서 "초기화"버튼을 클릭한다.바로 동작은 안되고, 조금후 정상 동작한다... 더보기