본문 바로가기

안드로이드

(34)
[안드로이드] ConstraintLayout - Group에 대하여 1월 1일 오전은 할일이 없다. 여자친구는 이직한 회사 자기소개 준비중이다. 나는 오후에 약속이다. 갤럭시 A52s 5G 받으러 가야한다. 카이막도 완성되려면 1시간 더 기다려야 한다. 이런 적적하고 뭔가 게임도 하기 싫은 시간에는 역시 블로그 포스팅이 제격이다. 그래서 오늘은 할일도 없는김에 저번에 하던 ConstraintLayout의 가상 오브젝트 중 Group에 대하여 정리할 것이다. - Group 1명 이상의 사람이 모여서 집단을 만드는것을 우리는 영어로 그룹이라고 한다. 이 개념을 안드로이드 View의 시각으로 바라본다면, 1개 이상의 View를 모아서 집단으로 만드는 것이 Group이다. 이러한 Group을 요래조래 해본 결과 아래와 같은 특징을 보인다. 기본적으로 1개 이상을 대상으로 그룹을..
[안드로이드] ConstraintLayout - Barrier에 대하여 오늘은 ConstraintLayout에서 Barrier에 대한 속성에 대하여 정리를 해보려고 한다. - Barrier 배리어는 한국말로 '방어막'이다. 이러한 방어막은 방어막을 쓴 사람을 주위로 일종의 막이 형성되며, 해당 막 바깥과 안쪽 사이의 물리력을 차단해주는 것을 의미한다. 이러한 맥락에서 ConstraintLayout의 배리어의 의미를 주입시켜보자. 일단 Barrier는 자바의 Object를 상속받는 android.view.View를 상속받는다. 그리고 배리어라는 의미로 미루어 보아 무엇인가의 침입을 막는것인데, 사실상 View에서 뭔가의 침입을 막는다는건 다른 View가 영역을 침범하는 것 밖에 없다. 그러면 이러한 맥락에서 미루어 보아, Constraintlayout의 배리어가 하는 역할은 ..
[안드로이드] ConstraintLayout - Guideline에 대하여 이직할 회사에서는 View를 주로 다룬다. 그래서 ConstraintLayout에 대하여 속성을 정리해 볼 것이다. 오늘은 Guideline에 대하여 정리할 것이다. - Guildeline '특정 위치에서 여기까지가 너가 원하는 길이 / 높이다.' 라고 가이드를 잡아주는 라인을 말하는 것이다. 가이드를 잡아주는 것이므로 View에서는 직접적으로 보이지 않는다. 다만 아래 사진과 같이 일정 간격이 얼만큼 되는지 표시해주는 역할을 한다. 이러한 가이드라인은 아래 3가지의 속성을 갖고 있으며, 속성에 대한 설명은 다음과 같다. layout_constraintGuide_begin : 좌측 혹은 상단에서부터 고정된 값을 나타내준다. layout_constraintGuide_end : 우측 혹은 하단에서부터 고정된..
[안드로이드] Github OAuth를 이용한 로그인 로그아웃 구현해보기 오늘은 Github RestAPI를 이용한 인증 및 로그인/로그아웃을 구현해 보도록 하자. - Github OAuth App 생성해주기 가장 먼저 Github에 들어가서 OAuth App을 생성해줘야 한다. 해당 OAuth App을 생성해주려면, 아래 경로로 들어가주면 된다. * Github 홈페이지 >> Settings >> Developer Settings https://github.com/settings/developers GitHub: Where the world builds software GitHub is where over 73 million developers shape the future of software, together. Contribute to the open source com..
[코틀린] inner class(내부 클래스)와 nested class(중첩 클래스)에 대하여 어제 면접을 갔다 왔다. 정말 많은 방면에서 질문이 들어왔다. 다만 나는 준비가 많이 덜 되있고 부족하다는 생각이 들었다. 내가 안해서 부족한걸 어떡하겠는가. 더 열심히 준비해야지 그래서 면접에서 받은 기술면접 질문 중 내가 멍.... 하게 만든 간단(?) 하면서도 나는 솔직하게 몰라서 제대로 대답하지 못한 질문에 대해서 알아볼 것이다. inner class에 대해서 질문을 받았을 때, 나중에 면접자 분께서 Java에 대해 질문을 하려고 하셨는데, 자바를 잘 모른다고 답해서 해당 질문은 들어오지 않았다. 다만 그 질문이 뭔지 내부 클래스를 찾아보면서 추측할 수 있었다. 자바 프로젝트에서 A 클래스가 있고 B 클래스가 A 클래스 안에 선언되어 있다고 가정해보자. 이렇게 되면 B클래스는 A클래스의 내부 클래..
[안드로이드] 코루틴에 대하여 사실 코루틴은 이미 쓰고있다. 대신 정말 1%만 쓰고있다고 자부할 수 있다. 정말 GlobalScope.launch{ ... } 이렇게 비동기 처리를 할 요량으로만 사용중이다.. 하지만 최근 이직 시장을 살펴보면서 알게된건 코루틴을 사용하는 것에 대하여 보다 면밀하고 세밀하게 알아야 할 필요성을 많이 느껴서 이렇게 코루틴에 대하여 정리를 하게 되었다. Coroutine 코루틴에 대해서 알아보려고 하다가 아래 코틀린을 소개해주는 코틀린 컨퍼런스 영상을 보았다. 시간이 된다면 다들 보는걸 추천한다. 개인적으로 직관적으로 설명을 잘 해주었다. 코틀린 컨퍼런스 2017 - https://www.youtube.com/watch?v=_hfBv0a09Jc 내가 주로 API Call이나 Room 작업을 할 때 메인 스..
[안드로이드] View와 ViewGroup에 대하여 View 액티비티에서 화면을 구성하는 최소 단위로 화면에 보이는 모든것은 View이다. 이러한 View는 Object 클래스를 상속받으며, TextView, EditText, Button 등 모든것들이 다 View에 해당하고, 위젯이라고 부르기도 한다. ViewGroup ViewGroup은 n(n>=1)개 이상의 View를 담을 수 있는 일종의 컨테이너로서, View를 상속받는다. 이러한 ViewGroup은 우리가 흔히 아는 LinearLayout, RelativeLayout, ConstraintLayout이 포함된다.
[안드로이드] 임장노트 #2 LocationManager를 이용한 대략적인 주소 구하기 LocationManager를 이용하여 현재 내 위치를 구현할 것이다. LocationManager를 쓰는게 여러가지를 두고 봤을 때 가장 간단해서 쓰는 것이다. 위 사진과 같이 임장노트를 작성할 때 대략적인 나의 위치를 미리 매핑해주는 역할을 한다. 그렇게 되면, 세부적인 주소만 작성하고 나머지 주소는 따로 타이핑 하지 않아도 되서 간편할 것이다. 과정은 간단하게 아래에 순서대로 서술하겠다. AndroidManifest에 ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION 권한을 추가해준다. 해당 권한을 사용할 수 있게 PermissionListener를 만든다. (tedPermission강력 추천) MyLocation 클래스를 만들어준다. 이때 파라미터에 Activity ..