개발/안드로이드(Android-Kotlin) 39

WEBVIEW

웹뷰는 안드로이드 앱에서, 브라우저에 url를 입력해서 띄우는 것 처럼 뷰를 보여주는 것입니다. 웹뷰에 www.naver.com 으로 이동시키게 해놓으면, 네이버로 이동된 창이 뜨는 것이죠. 어떻게 만드는지는 간단한데 레이아웃 부분에 webview를 만들어줍니다. 그러면 아래와 같이 레이아웃에 WebView라고 나오는데, 저 영역에 인터넷 창이 뜹니다. 그런 다음 이동하고 싶은 URL로 이동하도록 url를 구글 주소를 입력해주면 구글 창이 뜹니다. 아. 그리고 android:hardwareAccelerated="true" 를 추가해주면 성능 향상에 도움이 된다고 합니다. 끝.

Fragment

안드로이드 Fragment라는게 있습니다. 프래그먼트 (Fragment)는 하나의 액티비에서 여러 개의 화면을 표현하기 위해 사용합니다. 아래의 앱 화면과 같이, 하단에 여러개의 탭이 있을 때, 탭을 누르면 현재 Activity 안에서 다양한 화면을 보여주게 됩니다. 자, 그러면 Fragment란 어떻게 사용할까요? 일단 이렇게 만듭니다. 자, 이렇게 하고 나면 Fragment 만들 수 있게 되는데 아래의 보면 체크박스에 Inclue fragment factory --- Include interface callbacks 이런게 있습니다. 얘들은 뭘까요 쟤들을 체크하면 아래와 같은 여러가지 메소드가 생깁니다. Inclue fragment factory --- 은 프래그먼트의 디자인 패턴, 생명주기 등을 설..

include layout

메인 액티비티 같은 경우에는, 많은 양의 레이아웃이 들어갑니다. 그런데 한가지 레이아웃 파일에 모든 XML 코드를 넣으면 비효율적이죠 매우 길어지고, 유지 보수가 어렵고 등등 자, 그렇다면 어떻게 해야하는가 아래와 같은 레이아웃을 Main에 넣고싶습니다. 그러면 이제 아래와 같이 레이아웃을 인클루드 해줍니다. 그러면 레이아웃이 잘 include 되어 나옵니다.

뒤에 둥글게 background radius

배경에 둥글게 선을 넣는 방법인데 매우 간단합니다. drawable 폴더에 background_radius.xml 파일을 만들어주고 아래와 같은 코드를 칩니다. corners 는 얼마나 둥글게 할 것인지? solid는 안의 색상 stroke 같은 경우 선의 두께와 색상입니다. 그렇다면 아래와 같이 나오는데 그런 다음 android:background="@drawable/background_radius" 를 해주면 됩니다. 그렇다면 위와 같이 둥그런 선이 적용된 것을 볼 수 있습니다.

Vector Image

안드로이드 개발을 하다 보면 각각의 기종별로 해상도 대응을 해줘야 해서 이미지를 여러가지로 만들어야 하는 불편함이 있습니다. 이럴때 Vector이미지를 사용해주면 좋습니다. (주의해줄 사항으로, API21미만에서는 에러가 발생할 수 있습니다) build.gradle에 들어가서 "vectorDrawables.useSupportLibrary = true" 를 추가해줍니다. 그런다음 drawable 폴더에서 Vector Asset 을 만들어주고 Local file을 선택해서 app:srcCompat 로 접근해주면 됩니다. 그러면 아래와 이미지 잘 나옵니다.

listview recyclerview 차이

Listview와 Recyclerview를 많이 사용하는데 둘의 차이를 검색해보면, 무슨 뷰홀더를 사용하고 itemClick이벤트가 내장되어있고, 뭐 이런 이야기들이 나오는데 차의를 비교해보면 이렇게 나옵니다. 출처 - https://armful-log.tistory.com/27 [안드로이드] RecyclerView ( ListView와 차이 ) RecyclerView - 새로운 ViewGroup으로 ListView와 GridView의 기능을 제공한다. - 버전은 support-v7이다. - 가로 및 세로 레이아웃을 모두 구현할 수 있다. - RecyclerView.Adapter : 데이터 집합과 view를 연결.. armful-log.tistory.com 하지만, 둘의 차이를 하나만 기억해야 한다면 L..