옛글/안드로이드 프로그래밍
안드로이드 리스트뷰 특정 행 감추고 싶을 때
안드로이드 리스트뷰 작성 중 특정 행을 감추고 싶은데, 전 포스팅과 같이 받아오는 배열은 5개인데, 리스트뷰에 add를 4개만 시키고 하나를 add시키지 않으면, indexoutofbound 에러가 나서 원하지 않는 특정 컬럼이 리스트뷰에 나타날 때, 꼼수이긴 하지만, 방법을 찾다가 찾다가 원하는 답이 없어서 생각해낸 방법입니다. 파싱을 받아오고 리스트뷰에 Add 시킨 후 (정상적으로 받아오는 값 = 리스트뷰에 나타낼 값이기 때문에 에러 넘김) 이 후 getview (리스트뷰에 뿌려주는 부분에서) if문을 써서 조건을 걸어 원하는 특정 행의 조건을 걸어준 뒤에 감추는 방법입니다. 간단하게 예를 들면 list_row = (LinearLayout) v.findViewById(R.id.rowlayout); 파..
indexoutofboundsexception size와 index 에러는 왜 나나요?
자바나 안드로이드에서 흔히 볼 수 잇는 위와 같은 에러는, 배열과 사이즈가 맞지 않아서 일어나는 오류입니다. 주로 안드로이드에서는 '리스트뷰'를 구현할 때 자주 일어나게 됩니다. 이를 테면, for ( int i = 0 ; i
안드로이드 스레드(Thread) 개념
1) Thread 클래스를 상속 2) Runnable 인터페이스를 구현한 클래스를 구현하고 Thread 의 인스턴스를 연결 [Thread] Thread를 상속할때는 새로운 스레드가 실행할 코드를 run() 메소드에 오버라이드 시킨다 Runnable 객체를 매개변수로 받아 객체를 생성할수 있다. Thread() Thread(Runnable) Thread(Runnable, String threadName) Thread(ThreadGroup, Runnable, String threadName) start() :: 메소드는 run() 메소드를 호출한다. sleep(long milisecs) :: 지정된 초만큼 멈춘다. sleep(long milisecs, int nanosecs) :: long + int 시간동..
안드로이드 핸들러와 자바 핸들러의 차이점?
안드로이드의 핸들러 ( handler ) A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. 자바의 핸들러 A Handler takes LogRecord objects from a Logger and, if their severity level is high enough, formats and publishes them to some destination (a file or socket, for example). The subclasses of this abstract class support various destinations, and implement d..
복잡한 안드로이드 코딩 소스 Log.i 로 잡아내자!
안드로이드로 어플리케이션을 제작 시에 굉장히 소스가 복잡해지는 경우가 있는데, 이와 같을 때에는 곳곳에 Log.i(stirng, string) 값을 넣어 DDMS 를 통해 오류를 해결해봅시다. 기존의 Logcat 의 Exception 이나 error Message로는 너무 광범위해서 오류를 찾기 힘든 경우가 많은데, DDMS 를 통해서 오류를 잡는 습관을 기르셔야 나중에 삽질이 훨씬 줄어든다는 점! 조만간, 이클립스 안드로이드 개발의 툴팁을 포스팅할 예정인데, 그에 앞서 Log 문에는 여러 종류가 있습니다. 여러분의 이클립스에서 log를 치시고 . 을 치시면 인텔리센스에 굉장히 많은 종류의 Log 형태들이 나오실텐데요 (위 여러가지 Log 문들도 조만간 포스팅하겠습니다) 간단하게 예를 들면 (너무 급하게..
안드로이드 두 값을 비교해서 반대 값 출력 및 대입 ? "0" : "1"
가끔 조건문 중에 1인 경우 0을 , 그리고 0인 경우 1을 대입하거나 넣는 등의 로직이 필요한데 이때 사용할만한 조건이 ? "0" : "1" 혹은 ? "true" : "false" 를 사용하시면 쉽겠네요. 위와 관련된 조건문이 생각보다 서칭해서 잘 나오질 않아 포스팅합니다. 이를테면 test.is_OnOff 라는 값이 0이면 1을 넣어 불을 켜주고, 1이면 0을 넣어 불을 꺼줄 경우에 test.is_OnOff ? "0" ? "1" 로 제작해주시면 됩니다!
안드로이드 WIFI 모듈 중 Launch timeout has expired, giving up wake lock! 오류
Launch timeout has expired, giving up wake lock! 위와 같은 에러는 메서드 중 원하지 않는 상황이 발생하여 Timeout이 걸리면서 생기는 Lock 오류 입니다. WIFI 수신 관련 생기는 위와 같은 에러 상황은 Handler 사용하기와 애초에 와이파이가 감도가 좋지않아 Lock 이 걸리는 상황에서는 와이파이 감도를 받아와서 일정 수준 낮을 때 처리를 해주시면 됩니다. 일정 수준보다 낮추는 방법은 If 문으로 RSSI 정보 를 받아와 일정 수준 이상일 대와 일정 수준 이하일 때를 구별해주시면 됩니다.
안드로이드 platform-tools 'adb'이용해서 APK (이클립스없이)설치하기
안드로이드 에뮬레이터에 개발한 프로그램이나 다운받은 어플을 직접 설치해 봅시다. 이클립스 기준으로 bin폴더에 파일명.apk파일이 존재합니다. 이 apk파일을 avd에 설치하려면 다음과 같이 진행하면 되겠습니다. 물론 설치하기 전에 프로그램이 구동할 타겟(AVD 또는 실제장비)이 활성화되어 있어야 합니다. C:\>adb install 설치할파일.apk Success - > adb를 알수 없다고 하는 경우는 환경변수가 정해져있지 않기때문에 cd 안드로이드플랫폼이 있는 디렉토리 \ platform-tool 폴더에 들어가서 위와 같이 명령어를 실행 ( 설치할 파일 APK 는 같은 폴더내에 복사 )를 하셔야 합니다. 설치 : adb install apkfilename 삭제 : adb uninstall pakea..