728x90

분류 전체보기 160

[Java] Pair / 자료 구조 / 2개의 데이터 관리하기

이번 포스팅에서는 Pair 클래스에 대해 알아보자. Pair ? 안드로이드 관련 서적을 읽던 중 Pair라는 자료구조를 처음 만나게 되었다. 해당 코드는 2가지 데이터를 관리하는 단순한 구조였다. *Pair : 한 짝, 한 쌍 사전적 정의를 듣고 보니 포커 족보의 원·투 페어가 이 페어인 것 같다. 별도의 데이터 클래스를 생성할 필요 없이 2개의 데이터를 관리할 수 있기에 편리해 보였다. Pair 클래스는 Java 8 버전부터 추가된 클래스이며, 그 이전까지는 외부 라이브러리를 통해 사용되었다. 단순히 2가지의 데이터를 다룰 때 주로 사용된다. 이는 Key - Value 형태로 볼 수도 있고, First - Second 형태로 볼 수도 있다. 개인적인 견해로는 First - Second 형태에 더 가깝다..

Java (자바) 2024.03.25

git flow / git branch 관리하기

이번 포스팅에서는 git flow에 대해 알아보겠다. git flow 란? git flow를 알아보기 전, git에 대한 이해가 부족하다면 이전 포스팅을 참고하기 바란다. git 이란 무엇일까? / git 을 사용해보자 ✅ git이란 무엇일까? ● 리누스 토르발스가 개발한 버전 관리 시스템 * 리누스 토르발스 : 리눅스 창시자 버전 관리 시스템이란, 소스 코드를 보다 효율적으로 관리하기 위한 시스템이다. 문서 oscarstory.tistory.com *flow : 흐름 git flow는 git에서 제공하는 브랜칭 기능을 관리하는 전략이라고 볼 수 있다. git flow는 다음 5가지 브랜치를 사용한다. main(master) : 사용자들에게 배포된(배포할) 브랜치 release : QA 작업 등이 이루어..

git 2024.03.13

[Android] strings.xml / colors.xml / string · color 파일 참조

아직도 위와 같이 텍스트를 작성하고 있는 사람?? 노란색 경고창은 가볍게 생각하고 넘어가는 사람도 많다. 하지만 가벼운 경고라도 다 이유가 있으니 표시해 주는 게 아닐까? 경고 내용을 살펴보면 '하드코딩 되었으니, @string 리소스를 사용해' 라는 내용이다. 이번 포스팅에서는 values 패키지에 있는 리소스 파일을 알아보자. strings.xml 안드로이드 스튜디오 좌측 프로젝트 탭에서 res > values 패키지 속에 있는 strings.xml 파일을 찾아보자. 파일을 열어보면 대충 다음과 같은 내용이 적혀 있을 것이다. 앱 이름 ... 이 파일에 앱에 들어갈 웬만한 텍스트를 정리해주면 된다. ... 제목 텍스트 완료 위와 같이 작성했다고 가정하고, 레이아웃 파일을 보자. strings.xml ..

[Android] onBackPressed / OnBackPressedDispatcher / 기기 · 시스템 뒤로가기 버튼 / 두 번 눌러서 뒤로가기

기기의 뒤로 가기 버튼을 눌렀을 때 발생하는 이벤트를 제어해보자. 안드로이드 기기라면 모두 갖고 있는 위 버튼이다. onBackPressed 기본적으로 액티비티는 AppCompatActivity를 상속하기에, 다음과 같이 onBackPressed() 메서드를 @Override하여 사용할 수 있다. @Override public void onBackPressed() { super.onBackPressed(); } 위 코드만 작성하고 실행해보면 달라진 것이 없을 것이다. super.onBackPressed()를 지워주고, 작업을 추가해보자. @Override public void onBackPressed() { Toast.makeText(this, "한 번 더 누르면 종료됩니다.", Toast.LENGTH_..

[Android] Google AdMob / 앱에 광고 붙이기 / 배너 광고

이번 포스팅에서는 앱에 광고 붙이는 방법을 알아보겠다. 광고는 Google AdMob을 사용할 것이다. Google AdMob ? Google AdMob은 앱으로 수익을 창출하려고 할 때 사용할 수 있는 모바일 광고 플랫폼이다. 개발자가 AdMob 플랫폼에 앱과 광고 단위를 등록하면 Google AdMob에서 사용자에게 알맞은 광고를 띄워준다. 즉, 개발자는 어떤 광고가 띄워질지는 모른다. 노출 수에 비례하는 수익을 창출하는 원리이며, 개발자는 AdMob 콘솔에서 광고 활동 보고서를 통해 세부 내용을 확인할 수 있다. 사용할 수 있는 광고 단위는 다음과 같다. 이번 포스팅에서는 배너 광고를 달아볼 것이다. 앱 적용 프로세스 크게 2가지 단계로 나누어 실습해보자. ✅ AdMob 콘솔에서의 작업 ● AdMo..

[Java] Garbage Collector

이번 포스팅에서는 Garbage Collector에 대해 알아보자. Garbage Collector 직역하면 ' 쓰레기 수집가 ' Java의 메모리 관리 기법 중 하나이다. 프로그램이 할당했던 메모리 중에서 더 이상 사용되지 않는 메모리를 해제하는 기능이다. 더이상 사용되지 않는 메모리를 해제해주지 않으면 메모리가 계속 쌓이기만 하는 메모리 누수가 발생한다. C언어의 경우, 더 이상 사용되지 않는 메모리는 직접 해제해준다. 하지만 Java의 경우 개발자가 메모리를 직접 해제해주는 일이 없다. 그 이유가 바로 Garbage Collector의 존재 덕분이다. Heap 영역 / Minor GC · Major GC ✅ Garbage Collector는 JVM의 Heap 영역에서 동작한다. Heap 영역이 뭐에..

Java (자바) 2024.03.06

[Java] JVM 메모리 할당 방식 - Stack · Heap Memory

지난 포스팅에서 JDK · JRE · JVM에 대해 간단히 알아보았다. [Java] JDK · JRE · JVM JDK · JRE · JVM에 대해 알아보자. JDK Java Development Kit Java로 프로그램을 개발하는데 필요한 툴을 모아놓은 소프트웨어 패키지다. JDK는 JRE, JVM을 포함하고 있다. 그렇기에 JDK를 설치하면 JRE · JVM이 oscarstory.tistory.com 이번 포스팅에서는 JVM을 조금만 더 공부해보려 하는데, 그 중에서 JVM의 메모리 할당 방식에 대해 알아보겠다. JVM은 Stack Memory · Heap Memory라는 2가지 공간을 사용하여 메모리를 할당한다. ✅ Stack Memory 지난 포스팅을 보고 왔다면 알겠지만, 우리가 작성한 코드를..

Java (자바) 2024.03.05

[Java] JDK · JRE · JVM

JDK · JRE · JVM에 대해 알아보자. JDK Java Development Kit Java로 프로그램을 개발하는데 필요한 툴을 모아놓은 소프트웨어 패키지다. JDK는 JRE, JVM을 포함하고 있다. 그렇기에 JDK를 설치하면 JRE · JVM이 함께 설치된다고 볼 수 있다. 이외에도 다음과 같은 요소를 포함한다. - java : 자바 인터프리터 - javac : 자바 컴파일러 - jdb : 자바 디버거 - jar : 자바 클래스 압축 파일을 관리하는 프로그램 - javap : 컴파일된 클래스 파일을 원래의 소스 코드로 변환해주는 프로그램 등 ✅ JDK 버전 흔히 말하는 Java의 버전은 곧 JDK의 버전이다. JDK 버전 히스토리는 다음과 같다. Version Release Date JDK 1..

Java (자바) 2024.03.04
728x90