기타/문제해결기2015. 2. 26. 15:03

안드로이드 개발에서 구글맵등을 사용할 때, 구글 서비스 패키지를 import후 library시켜야 한다. 개발중인 앱의 빌드까지 에러없이 잘 되었는데 막상 실행시키면 logcat에서 'Noclassedeffounderror'라는 에러가 뜨면서 앱이 강제종료가 될 때가 있다.

구글에서 검색하면 여러가지 해결방법이 나오는데, 나같은 경우에는 library의 jar파일이 missing이라고 했었다. 해당 폴더에 jar파일을 복붙하여도 안됐었는데 결국 해결하였다.


원인은... 구글 서비스 패키지를 빌드시켜주지 않았었다는것. 라이브러리 시키는 패키지도 빌드를 시켜주어야 하며, 빌드해주면 jar파일이 생성된다.

Posted by 십자성군
Software/Android2015. 2. 5. 14:21


Posted by 십자성군
Software/Android2015. 2. 5. 13:30

앞서 다룬 리니어레이아웃 외에도 다양한 레이아웃이 존재한다. 여기서는 리니어레이아웃과 함께 자주쓰이는 렐러티브레이아웃(Relative layout)을 다루도록 한다.


리니어레이아웃은 기본이 '순서대로 차곡차곡 배치'한다는 것이다. 렐러티브레이아웃의 배치는 ~의 위에, 아래에 배치하는 상대배치이다. 즉, 뷰와 부모 또는 뷰 끼리의 위치관계를 지정하여 배치하는 것이다.


아래는 렐러티브레이아웃의 배치속성이다.


렐러티브레이아웃의 배치를 위해서는 비교대상이 먼저 정의되어 있어야한다는 사실에 주의해야한다.

가령 A와 B라는 뷰가 있는데 레이아웃상에 B를 A의 아래에 배치하고 싶다면 A가 먼저 정의되고 배치되어야 한다.


또한 논리에 맞지 않는 정의는 당연히 불가능하다.

가령 A를 B의 위에, B를 A의 위에 같은 정의는 불가능하다.

'Software > Android' 카테고리의 다른 글

[Android] GoogleMaps의 화면이 안뜰때  (0) 2015.03.10
레이아웃 중첩  (0) 2015.02.05
리니어 레이아웃과 배치  (0) 2015.02.04
앱의 전체적인 화면 방향의 설정과 고정  (0) 2015.02.04
위젯와 뷰그룹의 계층  (0) 2015.02.02
Posted by 십자성군