본문 바로가기

분류 전체보기

퇴근 못하는줄 알았네 ​ 3바퀴 4바퀴 너덜너덜해질때까지 읽자!! 그리고 새로운 책을 사서 또 익히자!! 더보기
나과장님께서 주신 입사 선물 더보기
setRetainInstance(true) Vs onSaveInstanceState(Bundle) 둘의 차이점은 보존된 데이터가 얼마나 오래 존속하는가이다. 짧은 시간동안 데이터를 보존해야 할 때: setRetainInstance(true)액티비티가 소멸될만큼 오랜 시간동안: onSaveInstanceState(Bundle) 더보기
Android Studio에서 @drawable 대신 @mipmap! Ch13 MediaPlayer를 사용한 오디오 재생 / HelloMoon 앱을 제작중이다. 이미지 파일을 mdpi 폴더에 넣었다. 이제 Fragment를 위한 XML에서 이미지를 지정해줘야하는데@drawable 하위에 없다고 에러가 난다.이상할 건 아니다. 위 그림에 있는 계층에서만 봐도 'drawable' 폴더는 비어있다.혹시나 @mipmap...? 역시나 : ) 안드로이드 스튜디오에서는 mipmap을 사용하면 되는구나~ 더보기
매니페스트 정의: XML파일이며, 안드로이드 운영체제에게 앱을 설명하는 메타데이터를 포함한다. 우리 프로젝트의 루트 디렉터리에 위치한다. 앱의 모든 액티비티는 운영체제가 접근할 수 있게 반드시 매니페스트에 선언되어야 한다.왜냐하면.. Intent에 실린 class 이름이 그 패키지의 매니페스트에 선언되었는지를 확인하기 때문이다.매니페스트에 시작시킬 액티비티 이름이 없으면 ActivityNotFoundException 예외가 발생한다. 이클립스에서는 직접 매니페스트에 새로 만든 액티비티를 선언해줘야 했는데,안드로이드 스튜디오는 액티비티를 생성하면 자동으로 매니페스트에 선언해준다.내가 생각하는 안드로이드 스튜디오의 최대 장점이다.대학생 학부 시험에서 이 부분때문에 점수를 잃어본 기억이 있다.세상 점점 좋아지네 ㅎ.ㅎ 더보기
장치 회전과 액티비티의 부활 런타임 시에 언제든 구성 변경이 생기면안드로이드는 현재의 액티비티를 소멸시키고새로운 액티비티를 생성한다. 구성 변경의 예) 화면 전환(가장 빈번하다.), 키보드, 언어의 변경 장치 회전 시 데이터 저장하기안드로이드는 런타임 시에 대체 리소스를 제공하는 일을 훌륭하게 수행한다.그러나 이 때 반드시 데이터를 저장하는 방법이 필요하다.방향 전화 후 새로 생성된 액티비티는 이전 액티비티가 포함했던 데이터 값을 모른다. onSaveInstanceState(Bundle)이 열쇠다.Bundle은 문자열 키를 제한된 타입의 값으로 연관시키는, 키와 값을 한 쌍으로 데이터를 저장하는 구조이다.데이터를 Bundle 객체에 저장하기 위해 onSaveInstanceState()를 오버라이드 할 수 있다.그리고 그 데이터는 o.. 더보기
CH02 챌린지 all clear 1. 리스너를 TextView에 추가한다.2. 이전 버튼을 추가한다.mCurrentIndex += 2;mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length;3. Button에서 ImageButton으로 변경한다. QuizActivity.java123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103package com.bignerdranch.android.. 더보기
모델-뷰-컨트롤러, MVC # MVC란? 안드로이드 어플리케이션은 모델-뷰-컨트롤러(MVC)라는 아키텍처에 맞추어 설계된다.우리 애플리케이션의 어떤 객체든 모델 객체 또는 뷰 객체 또는 컨트롤러 객체가 되어야 한다는 것이 MVC의 주요 관점이다. 모델 객체들은 애플리케이션의 데이터와 "비즈니스 로직"을 갖는다. 모델 클래스들은 우리 앱과 관계가 있는 것들을 모델 객체로 만들기 위해 설계된다. 모델 객체들은 사용자 인터페이스를 모른다. 데이터를 보존하고 관리하는 것이 유일한 목적이다. 안드로이드 어플리케이션에서 모델 클래스들은 일반적으로 우리가 생성하는 커스텀 클래스들이다. 뷰 객체들은 자신을 화면에 그리는 방법과 터치나 마우스 클릭과 같은 사용자의 입력에 응답하는 방법을 안다. 화면에 볼 수 있는 것이라면 뷰 객체이다. 보통 xm.. 더보기