Android35 [안드로이드] JAVA 싱글톤 패턴 싱글톤 패턴(Singleton): 싱글톤(Singleton) 패턴의 정의는 단순하다. 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { // 생성자는 외부에서 호출못하게 private 으로 지정해야 한다. } public static Singleton getInstance() { return instance; }} 1. 싱글톤 패턴의 사용하는 이유1. 메모리 낭비 방지최초 한 번의 new 연산자를 통해서 고정된 메모리 영역을 사용하기 때문에 추후 해당 객체에 .. 2022. 4. 16. [안드로이드] Swiperefreshlayout - Swipe 새로고침 Swiperefreshlayout: Swiperefreshlayout은 사용자가 수동으로 업데이트 를 요청할 수 있도록 한다. Swiperefreshlayout이 적용되어 있는 Activity에 수직으로 pull하면 업데이트가 트리거된다. 아래의 예시는 새로고침을 할 때마다 새로고침 횟수를 알려준다. 1. build.gradle (Module: app) 수정dependencies { implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"} build.gradle(Module: app) 파일을 열어 Swiperefreshlayout와 관련된 빌드 종속성을 추가해준다. 2. xml 파일 수정- activity_main.xml .. 2022. 4. 15. [안드로이드] RecyclerView 사용하기 RecyclerView리사이클러뷰(RecyclerView)는 "사용자가 관리하는 많은 수의 데이터 집합(Data Set)을 개별 아이템 단위로 구성하여 화면에 출력하는 뷰그룹(ViewGroup)이며, 한 화면에 표시되기 힘든 많은 수의 데이터를 스크롤 가능한 리스트로 표시해주는 위젯"입니다. - ViewHolder : 항목에 필요한 뷰 객체를 가진다. - Adapter : 항목을 구성한다. - LayoutManager : 항목을 배치한다. - ItemDecoration : 항목을 꾸민다. 목록의 뷰는 ViewHolder로 표현되며 각 ViewHolder는 View를 사용하여 각 항목을 표시하는 역할을 한다.ViewHolder 객체는 Adapter에서 관리하며 Adapter는 필요에 따라 ViewHold.. 2022. 4. 14. [안드로이드] Toast 메시지 Toast 메시지 띄우기 1. Toast 클래스 Toast는 사용자를 위한 간단한 메시지가 포함된 메시지입니다. Toast 메시지가 표시되면 Focus를 받지 않고 애플리케이션 위에 잠시 동안 떠오릅니다. Toast 메시지를 사용하는 가장 간단한 방법은 Toast 클래스의 정적 메서드 중 하나를 호출하는 것입니다. - Public Methods: 반환 값 프로토타입 static Toast makeText(Context context, int resId, int duration) static Toast makeText(Context context, CharSequence text, int duration) makeText(getApplicationContext(), R.string.toast_message.. 2022. 4. 14. [안드로이드] Android 개요 Android: 안드로이드는 구글에서 만든 스마트폰용 운영체제입니다. 운영체제와 미들웨어, 사용자 인터페이스, 애플리케이션, MMS 서비스 등을 하나로 묶어 서비스를 제공하며 다양한 애플리케이션을 만들어 설치하면 실행될 수 있도록 구성된 애플리케이션 플랫폼입니다. 많은 사람들이 iOS(애플 운영체제)에 견주어 스마트폰과 태블릿으로 안드로이드 운영체제를 사용하면서, 안드로이드는 세계 모바일 시장에서 가장 성공한 OS라는 평가를 받고있습니다. 안드로이드는 리눅스(Linux)를 기반으로 제작되었고 언어는 자바(java)를 사용합니다. 1. 안드로이드의 이해: 안드로이드는 구글(Google)에서 만든 스마트폰 운영체제(OS, Operating System)이자 다양한 앱을 설치하여 실행할 수 있도록 구성.. 2022. 4. 13. [안드로이드] 4대 컴포넌트: 액티비티, 서비스, 콘텐츠 프로바이더, 브로드캐스트 리시버 안드로이드 컴포넌트컴포넌트(Component)란 안드로이드 애플리케이션을 생성할 수 있도록 제공되는 구성 요소(building block)이다. 각각의 컴포넌트는 다른 진입점을 통하여 애플리케이션에 들어간다. 안드로이드 애플리케이션은 4개의 핵심 컴포넌트를 가지고 있으며 각 컴포넌트의 객체를 생성하고 제거하는 라이프사이클의 구조도 각각 다르다. 1. 액티비티(Activity)1.1. 액티비티의 개요액티비티는 사용자에게 보이는 단일 화면으로, android.app.Activity 클래스를 상속받아 생성하며 사용자와 상호 작용하는 UI를 제공한다.액티비티는 시스템으로부터 애플리케이션이 시작되는 진입점 역할을 수행하며 안드로이드 애플리케이션은 1개 이상의 액티비티로 구성되어 있다. 액티비티는 화면에 표시하는.. 2022. 4. 13. [안드로이드][에러 처리] IllegalStateException: Can not perform this action after onSaveInstanceState IllegalStateException : 메서드가 불법적이거나 부적절한 시간에 호출되었음을 알립니다. java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 재현 경로: Fragment의 onStop()에서 transacntion을 실행했을 때 위와 같은 Runtime Error가 발생이 된다. 원인: onSaveInstanceState()이 호출된 이후에 Fragment 전환이 발생한다면, onSaveInstanceState()을 통해 결정되는 복구 시점과 다르기에 해당 FragmentTransaction에 대해서는 복구할 수 없게 돼버립니다. 만약 이런 상황이 발생한다면 사용자 경험(UX)을 해치는 .. 2022. 4. 13. [안드로이드][활용] Instagram oEmbed API Android App에 Instagram 게시물을 추가하기 위해선 oEmbed API 를 추가하는 작업이 필요합니다.Facebook 개발자 계정에 인스타그램 연동(개인: 소비자 유형 계정, 법인이나 단체: 비즈니스 유형 계정)이 필요합니다.Instagram oEmbed API: Instagram oEmbed 엔드포인트를 쿼리 하여 게시물의 포함된 HTML과 기본 메타데이터를 가져오고 다른 웹사이트나 앱에 게시물을 표시하기 위한 API.(사진, 동영상 등 지원) ● 요구 사항 - Facebook 개발자 계정 - 액세스 토큰 - oEmbed 읽기 기능에 대한 앱 검수● 절차 1. Facebook 개발자 계정에 앱 등록 2. Instagram 비즈니스 계정 연결 3. 앱 검수 4. 클라.. 2022. 4. 12. [안드로이드] NestedScrollView NestedScrollView NestedScrollView는 그냥 ScrollView이다. 안드로이드 공식 문서에서도 "NestedScrollView is just like ScrollView"라고 작성되어 있다. 심지어 사용하는 방법도 ScrollView와 다를 것이 별로 없다. 왜 ScrollView 말고 NestedScrollView를 사용하는가? 하나의 스크롤에 여러 형태의 리스트가 필요하다면 NestedScrollView 하위에 RecyclerView 들을 배치합니다. 하지만, 그냥 사용하게 되면 스크롤이 부자연스러운 현상이 발생됩니다. .... RecyclerView에서 스크롤을 시작해서 스크롤뷰 영역에서 스크롤 중인 화면을 터치하면 스크롤이 멈추지 않고 계속 움직이게 된다. 자연스럽게 .. 2022. 4. 11. [안드로이드] ButterKnife Library에 대하여 ButterKnife Library 사용 : Android 개발 시 유요한 기능. 1. findViewById 안드로이드 개발 시 화면 Layout을 잡은 후 View를 전부 findViewById로 찾아 전역 변수를 빼놓는 경우가 많습니다. 그럴 때마다 전역 변수 만들고, 해당 전역 변수를 findViewById를 통해서 가지고 오고 또 Cast 합니다. 소스 라인이 많아집니다. 하지만 ButterKnife 라이브러리를 쓰면 이 모든 게 간단하게 작성이 됩니다. private EditText mEdit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVie.. 2022. 4. 11. [안드로이드] 화면 해상도 dp에 대하여 Android 화면 해상도 단위 dp, px, dpi, cm dp: 안드로이드에서 사용하는 가상의 단위로 같은 dp가 단말의 해상도나 화면 크기에 상관없이 같은 물리적 길이를 가진다. px: 물리적 해상도를 표시하는 단위 픽셀(Pixel)이다. 개발자뿐 아니라 컴퓨터 사용자에게 가장 친숙한 단위다. 아이폰을 비롯한 다양한 모바일 기기들이 px 단위를 사용해 GUI를 개발했다. dpi(Dot Per Inch) : 1인치당 도트의 개수다. 밀도(density)를 잴 때 쓴다. 숫자가 크면 밀도가 높고, 고화질로 보인다. cm(Centimeters) : 모두다 아는 물리적인 길이를 재는 단위다. 단말의 SW(Small width)를 구하면, 1440px / (640 dpi / 160 dpi) = 360dp이다.. 2022. 4. 6. 이전 1 2 3 다음 728x90