본문 바로가기

IT 자료/프로그래밍

(11)
안드로이드 액티비티(Activity) 생명주기 원리 이해하기 액티비티는 안드로이드의 4대 컴포넌트 중 하나로써 안드로이드 응용 프로그램의 화면을 구성하는 주요 단위입니다. 안드로이드를 이해하고 개발을 하기 위해선 반드시 이해를 하고 넘어가야 합니다. 다음은 프로젝트를 생성하면 기본으로 생성되는 HelloWorld 자바 코드입니다. 액티비티 샘플코드 public class HelloWorld extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } public class HelloWorld extends Activity : Activity 클래스를 상속하여 ..
안드로이드 스튜디오 릴리즈(release) 버전 프로가드(proguard) 해제하기 개발을 하다 보면 이해할 수 없는 상황들이 자주 발생하는데요. 이건 최신 개발환경인 안드로이드라고 다르지는 않습니다. 그래들을 도입해서 처음에 배우기 어렵지만 어느정도 익숙해지면 자동으로 문법도 지적하고 코드도 생성해주고 다른 개발환경에 비해서 편하기는 합니다. 물론 저는 안드로이드와 자바 초짜이기 때문에 아직도 사경을 헤메고 있습니다 ㅎㅎ 프로가드(proguard) 를 모르시는 분들을 위해 간략하게 설명하자면 코드를 난독화하는 프로그램으로 안드로이드 스튜디오에 기본적으로 내장되어 있습니다. 설정이 올바르게 셋팅이 되지 않으면 프로그램이 제대로 실행되지 않는 경우가 있어 외부 모듈을 사용시 가이드라인에 따라 프로가드를 설정해줘야 합니다. 프로가드 설정 때문에 디버그에서는 실행이 되는데 릴리즈에서는 실행이..
tftp 사용법 임베디드 시스템에서 주로 사용하는 파일 전송규약으로 FTP에 있는 대부분의 기능을 제외하여 구현하기 쉽습니다. FTP는 TCP를 사용하지만 TFTP는 UDP를 사용하여 통신을 합니다. 사용법 tftp [OPTION]... HOST [PORT] 옵션 -l FILE Local FILE. -r FILE Remote FILE. -g Get file. -p Put file. Put 로컬에서 호스트로 파일 보냅니다. ex)tftp -p -l [로컬파일] [호스트 IP 주소] Get 호스트에 있는 파일을 로컬로 받습니다. tftp -g -r [호스트 파일] [로컬 IP 주소]
ADB에서 TCP/IP로 디버깅하기 안드로이드 디버깅시 일반적으로 USB 포트를 이용해 디버깅을 이용하는데 USB포트 장치와 관련한 개발을 하는 등의 특수한 상황이면 TCP/IP를 통한 디버깅이 가능합니다. 장치 연결 확인하기를 하여 연결이 확인된 상태에서 진행하면 됩니다. TCP/IP 포트 설정하기 > adb tcpip 5555 위와 같이 내용을 입력하여 디바이스에서 사용할 포트를 설정합니다. > restarting in TCP mode port: 5555 성공시 위와 같은 메세지가 표시되면 USB를 제거합니다. TCP/IP 접속하기 > adb connect :5555 IP로 접속하여 디바이스에 접속합니다. 장치 연결해제 > adb disconnect
안드로이드 AndroidManifest.xml에서 uses-permission 권한 사용하기 안드로이드에 개발을 할 때 특별한 기능을 사용하기 위해서는 AndroidManifest.xml 에서 권한을 설정해야 합니다. AndroidManifest.xml에서 uses-permission 사용 방법과 권한 및 기능은 다음과 같습니다. 마시멜로우 버전 이상부터는 uses-permission 를 설정하더라도 사용자가 별도로 권한을 enable 해야 사용이 가능하므로 주의하시기 바랍니다. uses-permission 사용방법과 권한 종류는 다음과 같습니다. 권한기능android.permission.INTERNET인터넷 사용android.permission.READ_CALENDAR캘린더 읽어오기android.permission.WRITE_CALENDAR캘린더 쓰기android.permission.READ_..
안드로이드 ADB 장치 연결 확인하기 USB로 디바이스를 연결한 상태에서 디바이스가 인식이 되는지 다음과 같이 확인이 가능합니다. C:\Users\test>adb devicesList of devices attached41000b66dcXXXXXX device위와 같이 리스트로 장치의 시리얼 번호와 함께 표시됩니다.시리얼 번호는 /sys/class/android_usb/f_accessory/device/iSerial에 저장되어 있어 쉘에서 확인이 가능합니다. 장치가 연결이 안되면 시리얼 번호가 표시되지 않습니다.
안드로이드 AsyncTask가 실행되지 않을 때 해결 방법 AsyncTask는 안드로이드에서 UI 갱신을 할 때 사용하는 스레드(Thread)입니다. 안드로이드는 스레드에서는 UI에 접근하기가 쉽지 않은데 AsyncTask를 이용하면 쉽게 접근이 가능하게 합니다. 이런 이유 때문에 AsyncTask를 자주 사용하게 되는데 예제대로 해도 AsyncTask를 호출해도 실행이 안되는 경우가 있습니다.안드로이드 4.0(허니콤) 이상에서는 executeOnExecutor 메소드로 호출해야 실행이 됩니다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) my_task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[])null);else my_task.execut..
안드로이드 ADB(Android Debug Bridge) 쉘(shell) 실행하기 ADB는 안드로이드 스튜디오를 설치한 기준으로“C:\Users\[사용자명]\AppData\Local\Android\sdk\platform-tools”에 설치됩니다.못찾겠으면 전체검색으로 adb.exe를 검색해서 찾는게 빠릅니다.작업을 하기 전에 반드시 스마트폰을 연결하고 디버깅을 활성화해야 합니다. adb가 존재하지 않는 경로에서 실행을 하려면 미리 path를 설정해야 합니다. 콘솔에서 쉘 명령을 다음과 같이 실행합니다. adb shell 성공하면 다음과 같이 쉘이 실행됩니다. C:\Users\test>adb shellshell@tre3calteskt:/ $ 장치를 인식하지 못해 실패하면 다음과 같이 실행이 되지 않습니다.C:\Users\test>adb shell* daemon not running. s..
Tortoise SVN에서 로그인 인증정보 삭제하기 Tortoise SVN에서 사용자 로그인 인증정보를 자동으로 저장하는데 이 정보를 지워하는 하는 경우가 있습니다. 어디있는지 몰라서 헤매다가 간신히 찾았습니다. 오른쪽 마우스 버튼을 클릭하고 Settings을 선택합니다. 왼쪽 메뉴에서 Saved data를 선택합니다. Authentication data에서 Clear나 Clear all 을 선택하면 로그인 정보를 삭제할 수 있습니다.
안드로이드 스튜디오에서 샘플코드 사용하기 안드로이드 스튜디오를 쓰다보니깐 괜찮은 예제가 없지 않을까 알아봤는데 프로그램 자체에서 샘플 코드를 지원합니다. Import Sample을 합니다. 참고할 만한 적절한 샘플을 선택합니다. GitHub에서 샘플 코드를 바로 가져오네요.. 전에는 샘플 코드 구하려면 인터넷 찾아다니고 했는데 이제 개발 툴 자체에서 지원해주니 좋은 것 같습니다. 참고하세요^^