전체 글 (104) 썸네일형 리스트형 2021-03-11 안드로이드 스튜디오(액티비티 생명주기) 어제 공부한 액티비티 생명주기에 이어서 보자~ 어제 보았던 생명주기에서 퍼지상태가 Pause 상태가 되면 잠시정지 상태가 된다고 배웠다 그때에 너무 많은 메모리를 사용할경우 지금 사용하는 액티비티가 더 중요하기 때문에 뒤로 Pause상태인 액티비티의 데이터가 손상될수 있기 때문에 그것을 방지하고자 데이터를 따로 저장 해줄수 있다 그게 바로 아래의 코드 이다 데이터 저장하는 메소드 public void saveData(){ // 데이터를 저장하는 메소드 읽기전용인지 읽고쓰고 다른곳에서도 사용할것인지 SharedPreferences sharedPreferences = getSharedPreferences("pref" , MODE_PRIVATE); // 데이터 저장하는것 SharedPreferences.Edi.. 2021-03-10 안드로이드 스튜디오 (매니패스트에 대하여) 안드로이드 프로젝트를 만들 때 기본적으로 생성되는 파일 중 하나가 매니패스트 파일이다. 매니패스트는 앱이 실행되기 위한 일종의 룰, 규칙 같은 것을 설정하는 파일이라고 생각하면 된다. 매니패스트 파일에는 다음과 같은 정보를 선언해야 한다. 1. 앱의 패키지 이름 2. 앱의 구성 요소(모든 액티비티, 서비스, Broadcast Receiver, 콘텐츠 제공자 포함) 3. 앱이 시스템 또는 다른 앱의 보호된 부분에 액세스하기 위해 필요한 권한 4. 앱에 필요한 하드웨어 및 소프트웨어 기능 안드로이드 프로젝트를 처음 생성했을 때 매니패스트 파일에는 다음과 같이 선언되어있음 첫 번째 줄은 해당 파일은 xml 파일이고, 인코딩 방식은 utf-8임을 나타낸다. 다음으로 는 애플리케이션의 전반적인 정보를 포함한다. .. 2021-03-10 안드로이드 스튜디오 (액티비티 생명주기1) 안드로이드 4대 컨포넌트 Activity Activity는 사용자와 어플리케이션간의 상호작용을 하는 화면을 의미하며 모든 어플리케이션은 하나 이상의 Activity가 존재한다. Activity는 생명주기 관련 메서드들을 재정의 하여 원하는 기능을 넣어서 사용자와 상호작용 할수 있다. Service Service는 사용자와 직접적으로 상호작용 하지는 않으며 대체적으로 개발자가 백그라운드에서 필요한 작업을 처리하기 위해 Service를 사용한다. 서비스는 메인스레드에서 동작하기 때문에 Service내부에서 별도의 스레드를 생성하여 작업을 처리해 주어야 한다. BroadcastReceiver BroadcastReceiver는 안드로이드 시스템으로 부터 발생하는 이벤트와 정보들을 받아 처리해 준다. 예를.. 2021-03-09 안드로이드 스튜디오 (암시적인텐트 사용하기) 오늘은 진도 보다 암시적인텐트를 사용하여 여러가지 기능들을 사용해보았다~!! 어짜피 코드로 구성되어 있어서 코드보면서 이해하면되고 딱히 정리할게 없다 암시적 인텐트를 통한 각종 기능 구현 (카메라 , 음성인식, 전화걸기 , 맵 ,브라우저 연결 ) package com.example.myapp; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; import android.Manifest; import android.content.Intent; import android.content.pm.PackageManager; impor.. 2021-03-08 안드로이드 스튜디오 (명시적인텐트 , 암시적인텐트 ) 쉽게 생각해서 정보나 데이터를 보내고 받는거라고 생각하면 되는데 명시적인 인텐트는 내가 보낼곳을 딱 정해서 보내고 받는것 암시적인 인텐트는 내가 보낼곳을 명시하지 않고 보내고 받는것 명시적인텐트는 전에 정리 해놓은것들을 참조하면 될것이다 암시적 인텐트 특정 클래스를 지정하지 않고 (직접적으로 말 안함!) 찾아가게 한다 예) ~를 보여줘! 라고 하면 ~가 가능한 곳으로 찾아가서 해당하는 것들을 실행 시켜준다 내부에서 아래 그럼처럼 이동하는데 매니패스트에 작성한 것을 패키지 매니저가 알고있다 패키지 매니저가 매니패스트를 보고 찾아준뒤에 실행 하는 원리이다 다른패키지를 할때 사용하는게 조하!!!!! 사용방법 1. 명시적 인텐트와 같이 보내는곳을 먼저 정의 해주어야한다 그때 받는곳에 매니패스트를 통하여 전달을 .. 2021-03-05 안드로이드 스튜디오 (직렬화) 직렬화 primitive 타입 boolean , byte, short, int ,long, float, double ,string 등과 같이 가공되지 않은 순수한 자료형을 말한다 그림 참조 메모리에 올라갈때 위처럼 각각 할당이 아닌 한줄로 쭉 들어가는형태로 직렬화임 프리미티브 타입도 그래서 직렬화 임!! Serializable 클래스 직렬화 하기 Serializable 객체를 상속하여 준다 객체단위를 보낼때 사용한다 고유의 아이디 값 ( 마커인터페이스) 으로 설정하여 사용한다 메인 클래스 ( 인텐트로 보내주는 곳 ) Intent intent = new Intent(); //명시적 인텐트 Person person = new Person("Twice", 28); Person person2 = new Pers.. 2021-03-03 안드로이드 스튜디오 (intent) 액티비티 실행과 인텐트(Intent) 어플리케이션을 제작하게 되면 한 엑티비티(보여지는화면)만 사용하는 것이 아니라 여러 화면을 사용하게 된다 예를 어떤 어플을 들어갓을떄 메뉴에 나와있는 버튼이나 각종 뷰를 눌럿을때 화면이 바뀌는데 그 모든것들이 하나의 액티비티 화면인거다~!! 위처럼 화면과 화면의 이동과 자료를 넘겨주거나 받아올수 있도록 도와주는게 Intent이다 작업을 하다보면 하나의 패키지로 만들수도 있지만 반대로 다른패키지에서 작업을 해서 연결해줄때도 있을텐데 사용법이 다르니 코드표를 보면서 참고하면 되겠다 먼저 같은 패키지내에서 이동및 값전달하고 전달받는 방법 package com.example.chap07; public class MainActivity extends AppCompatActiv.. 2021-02-28 자바공부 (String 클래스) 예전에 배운 스트링 클래스에대해서 다시 복습겸 정리하는 시간이다~ ! String은 무조건 새롭게 만들어지는 것이다!! 이름이 다른 변수에 같은 글씨를 담게 되면 실제로 다른 변수처럼 그 내용물이 담기는게 아닌 그 글씨의 주소값을 바라보는 것 단 String str1 = new String(my String) ; 이렇게 하게 되면 새로운 인스턴스를 생성하여 주소가 다르게 저장된다 그래서 위처럼 비교를 하게되면 서로 다른 주소값을 가지고 있는것을 확인 할수 있다 . String을 사용한 기본 문자열 연산익히기 concat(String str) : 대상문자열 뒤에 매개변수 붙여 반환 abc.concat(“def”) => 결과 “abcdef” substring(int beginindex) :대상 문자열 매개변.. 이전 1 ··· 9 10 11 12 13 다음