본문 바로가기

프로그래밍/안드로이드

[안드로이드] 안드로이드 Failed to install timeout Failed to install XXx.apk on device '디바이스명 ' : timeout 개발을 하다보면 위와 같은 에러가 가끔 발생합니다. 지금이야 검색하면 바로바로 나오니 큰문제가 되지 않지만 초창기에는 관련문제를 알아내는게 그리 쉽지 만은 않았습니다. 보시는 바와 같이 에러의 마지막에 보시면 timeout 라고 되어 있습니다. 개인적인 생각으로는 이클립스가 이리말하는것 같습니다. " 단말기에 apk파일을 인스톨 할려고 하는데 apk가 용량이 크네. 근데 니가 설치 시간을 짧게 잡아놔서 내가 설치하다가 시간 제한에 걸린거아냐? " 다분히 개인적인 생각입니다. 해결책은 간단합니다. 이클립스에서 상단 메뉴바에서 Window 클릭 --> Preferences 클릭 --> 좌측 메뉴중 Android.. 더보기
[안드로이드/Android] 안드로이드 ViewGroup 안드로이드 ViewGroup ViewGroup는 “ View를 담는 통 ” 이라고 생각하시면 됩니다. ViewGroup를 상속받은 녀석들은 또다른 View를 포함할 수 있습니다. 잘보시면 ViewGroup도 View를 상속 받았습니다. 그러니 ViewGroup는 또다른 ViewGroup도 포함할 수 있다는 것이 되겠죠. 이러한 특징을 잘 이용하시면 보다 멋진 화면구성을 하실 수가 있습니다. 다음은 ViewGroup에서 사용되는 속성들 입니다. ViewGroup은 View를 상속 받기 때문에 대부분의 속성을 View안에 있는 것을 사용 한답니다. 대신 ViewGroup는 내부 클래스인 ViewGroup.LayoutParams 를 가지고 있습니다. 이 녀석 자주 쓰인답니다.^^ 이 ViewGroup.Layo.. 더보기
[안드로이드/Android] 안드로이드 View 안드로이드 View 뷰는 화면상에서 유저 인터페이스를 구성하는 녀석입니다. 뷰가 여러개가 모여서 Activity가되고 Activity가 여러개 모여 하나의 앱이 나오게 됩니다. Button, ImageView, TextView, EditText, RadioButton, CheckBox 등의 기본적인 화면 구성 요소들이 뷰에 포함됩니다. 또한 WebView, Map, Video등을 표시하는 고급 구성 요소들도 모두 뷰에 포함됩니다. 그리고 뷰는 이벤트를 통해서 사용자로 부터 입력을 받아 들일 수 있습니다. 쉽게 말해서 “View는 유저에게 보여지는 하나의 화면 단위” 라고 생각하시면 됩니다. 그리고 View를 상속받은 녀석들은 모두 “아하! 이 녀석은 View를 상속받았으니 유저들이 볼수 있는 녀석이구나”.. 더보기
[안드로이드/Android] 안드로이드 인텐트 - 2 [안드로이드] 안드로이드 인텐트 - 2 Activity 액티비티인텐트 - 1 인텐트 - 2 ☞ 현재 보는곳Activity 간에 값 전달 하기 인텐트로 액티비티 띄우기1. 명시적 액티비티 시작하기 가장 간단하게 사용되는 녀석이라 말할수 있겠네요. Intent intent = new Intent(AAA.this, BBB.class);startActivity(intent);위와 같이 작성하면 끝납니다. startActivity()메소드가 호출되면 BBB라는 이름의 액티비티가 화면에 보여지게 됩니다. 새로 보이는 이 액티비티에서 코드상에서 finish() 를 호출하게 되면 액티비티가 종료되게 됩니다. 아주 간단하죠? 2. 암시적 인텐트 익명의 어플리케이션 컴포넌트가 액션 요청을 서비스할 수 있도록 하는 메커니즘.. 더보기
[안드로이드/Android] 안드로이드 - 리소스 (1) [안드로이드] 안드로이드 - 리소스 (1) 리소스 1 ☜ 현재 보는 곳리소스 2 리소스(Resource)는 안드로이드 아키텍처에서 중요한 역활을 담당한다. 안드로이드 리소스란 실행 가능 애플리케이션에 연결돼 있는 파일(ex : mp3)이나 값(ex : 대화창 제목)을 의미한다. 이러한 파일과 값들은 애플리케이션을 다시 컴파일 해서 디플로이(deploy)하지 않고도 변경할 수 있게끔 실행파일에 연결된다. 리소스는 보편화된 각종 UI프레임워크에서 매우 중요한 역활을 담당한다. 리소스에 대한 보편적 예제들 중에는 문자열, 컬러, 비트맵 예제도 있다. 일례로 애플리케이션에서 문자열을 하드코딩하지 않고 그 문자열들의 ID를 이용할 수도 있다. 이러한 간접적 방법을 사용하면 개발자는 소스코드를 수정하지 않고도 문자.. 더보기
[안드로이드] 안드로이드 - 리소스 (2) [안드로이드] 안드로이드 - 리소스 (2) 리소스 1 리소스 2 ☜ 현재 보는 곳 ◈ 나중을 위해 고유 리소스 ID 정의하기 id를 할당하는 일반적인 방법은 새id를 생성하거나 안드로이드 패키지에 의해 생성된 id를 사용하는 것이다. 그러나 미리 id를 생성해 두었다가 개발자의 패키지에서 나중에 사용하는 방법도 가능하다. 은 text라는 id가 존재할 경우 그 id가 사용될 예정임을 나타낸다. 만일 그 id가 존재하지 않는다면 새 id가 생성될 것이다. 그렇다면 text 같은 id가 재사용되도록 R.java 안에 id 정의를 미리 넣을 수 있는 시점은 언제인가? item이라는 리소스 태그를 사용해서 특정 리소스에 부착하지 않고 id를 정의하는 것이다. Ex) 샘플 파일 .............. type.. 더보기
[안드로이드/Android] 안드로이드 권한(Permission) 종류 안드로이드 권한(Permisstion) 종류 사이트에가서 권한에 대한 정리를 해보았습니다. 짧은 영어로 해석한거라 의미가 애매하네요.정확한 의미, 언제 사용 하는지 등을 아시는분은 댓글좀 달아주세요.. 출처 : http://developer.android.com/reference/android/Manifest.permission.html Constants ACCESS_CHECKIN_PROPERTIES체크인데이터베이스의 속성테이블의 읽고 쓰기 권한 ACCESS_COARSE_LOCATION코드(coarse)위치 권한(Cell-ID, WIFI)gps사용시 선언. ACCESS_FINE_LOCATION파인위치(find location) 허용(gps) gps사용시 선언. ACCESS_LOCATION_EXTRA_CO.. 더보기
[안드로이드/Android] 안드로이드 전화 수신 이벤트 체크하기 안드로이드 전화 수신 이벤트 체크하기 간단한 동영상, mp3파일을 이용하여 어플리케이션을 만든적이 있습니다. 한달간 피드백을 받아본 결과 유저들의 추가 요구 사항은 주로 비슷한 요청이 많았습니다. 사용자 요청 사항 화면이 꺼지더라도 계속 소리가 나왔으면 좋겠어요.무한 반복 설정이 있었으면 좋겠어요. 이 두가지를 해결하여 다시 마켓에 올린 결과 검증이 있는 마켓은 리젝이 되었습니다.이유인 즉슨, "음악이 재생중인데 전화가 오면 전화소리와 음악소리가 겹친다." 였습니다. 그래서 찾아 보았습니다. 전화가 왔을때를 확인 할 수 있느냐? 생각보다 간단하더군요. 전화 수신을 체크하기 위해서는 아래와 같은 녀석들이 필요 합니다.(권한 까먹지 맙시다.)TelephonyManagerPhoneStateListener매너페.. 더보기