본문 바로가기

안드로이드

(14)
안드로이드 스튜디오 앱바 삭제하기 안드로이드 스튜디오에서 상단에 앱바를 삭제하는 과정입니다. 1. 진행하는 프로젝트의 ㅣthemes.xml 파일에 들어갑니다. 2. style 안쪽에 아래 내용을 추가해줍니다. true
안드로이드 스튜디오 Splash 화면 만들기 안드로이드 화면에서 처음 시작시 뜨는 Splash 화면을 만드는 과정입니다. 1. 먼저 splash 화면을 연동할 엑티비티를 하나 만들어줍니다. 2. manifests에서 intent-filter부분을 splashActivity쪽으로 옮겨줍니다. 3. 만들어둔 splash.xml에 원하는 splash 사진을 ImageView로 띄워줍니다. 4. SplashActivity에 handler를 이용하여 3초뒤에 MainActivity로 넘기도록 설정
코틀린, 자바의 비교 연산 차이점(==, ===, equals) 자바 두 참조 변수에서 ==을 사용시 주소값까지 비교한다.(동일성) 두 참조 변수에서 equals로 비교시에는 두 변수의 값만 비교한다.(동등성) 코틀린 자바와 달리 ==을 사용할시 내부적으로 equals를 호출한다.(값만 비교, 동등성) ===을 사용하면 주소값까지 비교할 수 있다. 코틀린에서 equals 와 == 과 같음 동일성 두 객체가 완전히 동일함 하나의 객체만 존재하는 것이고 그 객체를 여러 참조 변수가 사용하는 것을 의미 한마디로 두 변수의 메모리 변수까지 같음 동등성 동일한 정보를 갖는 객체를 의미 서로 다른 객체가 비교 기준에 따라 같은 값을 가지고 있음을 의미 출처 : https://velog.io/@wlsrhkd4023/Kotlin-%EB%8F%99%EB%93%B1%EC%84%B1Eq..
싱글톤 패턴(Kotlin, java) 싱글톤 프로그램에서 클래스의 인스턴스를 단 하나만 만들어야 할 때 사용되는 디자인패턴 사용예시로는 데이터베이스를 변경할 수 있는 DBHandler 클래스의 인스턴스가 두 개 있어서 동시에 데이터베이스에 접근한다면 문제가 생길텐데(데이터베이스 동시성문제) 이를 방지할 수도 있습니다. 자바에서 싱글톤 구현 public class DBHandler { private static DBHandler instance; // 생성자 접근 차단 private DBHandler(){} public static DBHandler getInstance() { if(instance == null) { instance = new DBHandler(); } return instance; } } 먼저 private로 외부에서 생성..
안드로이드에서 http통신(API 사용하기) 안드로이드에서 API를 사용하기 위한 필수 개념으로는 먼저 안드로이드에서 네트워크 통신하는 방법에 대해 알아야한다. 안드로이드에서 네트워크 통신? 안드로이드에서 서버에 데이터를 요청하고 받아온 데이터를 클라이언트 화면에 표시하는 것 클라이언트와 서버가 통신하는 방식은 주로 소켓연결, http 연결로 나뉨 소켓 연결 소켓 : 네트워크 상의 두 프로그램 사이에서 일어나는 양방향 통신 중 한 쪽의 엔드 포인트 클라이언트와 서버가 특정 포트를 통해 연결을 계속 유지 - 실시간 통신 가능 주로 스트리밍이나 온라인 게임에서 사용되는 연결방식 HTTP 연결 HyperText Transfer Protocol의 약자 80번 포트를 사용하여 웹 상에서 정보를 주고받을 수 있는 프로토콜 동작 방식 클라이언트가 서버에 헤더와..
안드로이드 4대 컴포넌트 안드로이드 4대 컴포넌트 안드로이드 4대 컴포넌트란 한마디로 안드로이드 앱을 구성하는 4개의 구성요소를 말한다. 4대 컴포넌트로는 Activity, Service, BroadCast Receiver, Content Provider가 있다. 컴포넌트는 각자 고유한 기능을 수행한다. 각 컴포넌트는 인텐트를 통해 상호작용한다. Activity Activity는 사용자에게 실제로 보이는 화면을 의미한다. 사용자와 상호작용해야하므로 앱에는 반드시 하나 이상의 Activity가 존재해야한다. lifecycle관련 메소드를 활용해 원하는 기능을 구현한다.(lifecycle관련은 다음에..) 1개 이상의 View 또는 ViewGroup을 포함한다. Fragment는 컴포넌트(구성요소)가 아닌가? Frangment는 한..