no image
5장 - 액션바 사용하기
액션바는 앱의 제목(Title)이 보이는 위쪽 부분이다.옵션 메뉴는 액션바에 포함되어 보이도록 만들어짐 옵션 메뉴 : 시스템 [메뉴] 버튼을 눌렀을 때 나타나는 메뉴. 각 화면마다 설정할 수 있음컨텍스트 메뉴 : 화면을 길게 누르면 나타나는 메뉴. 텍스트뷰의 편집을 바꾸거나 할 때 사용됨 (ex. 복사, 붙여넣기). 메뉴는 각각의 액티비티마다 설정할 수 있다. onCreateOptionMenu(Menu menu)onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)Menu나 ContextMenu 객체의 add 메서드를 사용해서 메뉴 아이템을 추가할 수 있다.(그렇지만 add로 메뉴를 추가하는 것보다는 XML에서..
2024.12.19
no image
5장 - 프래그먼트 수명주기 & 분할화면 만들기
프래그먼트는 액티비티 위에 올라가는 것이므로, 프래그먼트의 수명주기도 액티비티의 수명주기에 종속적이다.그리고 여기에 프래그먼트만 가질 수 있는 독립적인 상태 정보들이 추가되었다. onAttach(Activity) : 프래그먼트가 액티비티와 연결될 때 호출됨. 프래그먼트에서 해당 액티비티를 참조하고 싶다면 onAttach 메서드로 전달되는 파라미터를 참조하거나 / getActivity 메서드를 호출하여 반환되는 객체를 참조할 수 있다.onCreate(Bundle) : 프래그먼트가 초기화될 때 호출됨.onCreateView(LayoutInflator, ViewGroup, Bundle) : 프래그먼트와 관련되는 뷰 계층을 만들어서 리턴함.      프래그먼트와 연결된 액티비티의 상태에 영향을 받는 메서드onA..
2024.12.16
no image
5장 - 프래그먼트 기초1 : 2개의 화면전환
이전 글(https://sand-to-desert.tistory.com/81)에 이어서 프래그먼트의 기초에 대한 예제를 진행하겠다. 저번에 만든 프로젝트를 이어서 사용한다. 1. 메인 프래그먼트의 XML, java 파일을 복사 붙여넣기 하여 새로운 프래그먼트인 메뉴 프래그먼트를 만든다. 2. 메뉴 프래그먼트의 화면을 설정해준다.3. package org.techtown.fragment;public class MainFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ViewGroup roo..
2024.12.16
no image
5장 - Fragment : 액티비티에 프래그먼트 추가하기
프래그먼트는 분할된 화면들을 독립적으로 구성하고, 화면들의 상태를 관리하기 위해 존재한다. (그래서 태블릿의 경우 더욱 유용하게 사용됨)액티비티 안에 다른 액티비티를 넣는 것은 비효율적이기 때문에 프래그먼트를 넣는 것.프래그먼트 관점에서 액티비티가 시스템 역할을 해주기 때문에, 프래그먼트는 액티비티 위에 올라가야함. (올라가는 시점이 프래그먼트가 동작하는 시점이다.) (액티비티의 '화면'과 프래그먼트의 '화면'은 다른 것이다. 액티비티는 시스템에서 관리하는 화면이고 프래그먼트는 단순히 화면의 일부이다.) 액티비티와 액티비티 간의 데이터 전달 : 인텐트 사용액티비티와 프래그먼트 간의 데이터 전달 : 메서드 사용 (더 단순함)-> 화면 전환에는 액티비티보단 프래그먼트를 사용하는 것이 더 가볍게 만들 수 있음..
2024.12.16
no image
패키지명 변경하기
예제를 따라하다가 프로젝트 만들 때 패키지명을 새로 입력하라고 한 걸 못 보고 만들어버림.새 프로젝트를 만들려다가.. 변경이 간단한지 알아보았다. 처음 상태 : 패키지명은 com.example.chapter5_1이었다.MainActivity.java는 java/com/example/chapter5_1 폴더 안에 들어있던 것.바꾸려는 패키지명 : org.techtown.example 1. 톱니바퀴 -> Tree Appearance -> Compact Middle Packages를 누른다. (패키지명이 분리됨)MainActivity.java 파일이 com.example.chapter5_1 폴더에 들어있었는데,위 설정을 하고 나면 java > com > example > chapter5_1 폴더에 들어있는 것..
2024.12.16
no image
도전!8 - 세 개 이상의 화면 만들어 전환하기
도전!7 문제에 이어서 작성했다. 액티비티는 총 5개. 로그인 화면, 메인메뉴, 고객 관리, 매출 관리, 상품관리로그인 화면 : 아이디와 비밀번호를 입력한 뒤 버튼을 누르면 메인메뉴로 넘어간다. (아이디, 비밀번호 입력이 되어있지 않을 경우 토스트로 입력하라는 메시지가 뜬다.)메인메뉴 : 3개의 버튼이 존재한다. , , 버튼. 버튼을 누르면 각각의 화면으로 넘어간다.고객 관리 / 매출 관리 / 상품관리 : 화면 구성은 같다. 2개의 버튼이 존재한다. , 버튼.       합쳐서 관리 액티비티라고 부르겠다.        : 직전 화면인 메인메뉴 화면으로 돌아간다.        : 초기화면인 로그인 화면으로 돌아간다.이 때 어떤 화면으로부터 보내온 응답인지 토스트 메시지로 띄워야한다. 1. 화면 구성구..
2024.12.13
no image
도전!7 - 로그인 화면과 메뉴 화면 전환하기
목표구현할 화면 : 로그인 화면, 메인메뉴 화면동작 :1. 로그인 화면 - 버튼을 누르면 메인메뉴 화면으로 넘어간다.2. 메인메뉴 화면 - 세 개의 버튼이 존재한다. 각각의 버튼을 누르면 다시 로그인 화면으로 돌아가서, 눌렀던 버튼의 이름을 토스트로 띄운다. 과정1. 액티비티를 하나 추가한다. MainActivity(로그인 화면), MenuActivity(메인메뉴 화면)아래와 같이 XML을 구성한다. 2. MainActivity.javapackage com.example.doitmission_07;public class MainActivity extends AppCompatActivity { public static final int REQUEST_CODE = 100; @Override ..
2024.12.12
no image
그냥 신세 한탄
공부를 하면서 현타가 온다.지금 제대로 된 포트폴리오 하나가 없다는 사실이 너무 어이가 없다. 너무 뒤쳐진 것 같다.인생은 길고, 뒤늦게 다른 일을 시작한 사람들도 많으니까 조급해하지 말고 내가 감당할 수 있는 속도로 나아가자고 생각했는데..뭔가 20대 초중반 동안 한 게 없는 것 같아서 좀 심란하다. 그나마 편입으로 대학 좀 괜찮은 곳으로 바꾸긴 했다만..아무것도 한 게 없는 기분이다. 제대로 파고들지 않아서 그런걸까.좀 더 진지하게 임하는 자세가 필요하다는 걸 요즘 느낀다.
2024.12.12
no image
4장 태스크 관리, 생명주기
앱이 어떻게 동작할지 결정하는 데 사용된다.프로세스는 독립적인 하나의 상자와 같아서 다른 프로세스와 정보를 공유할 수 없다.즉 하나의 프로세스에서 다른 프로세스를 띄우려면 시스템의 도움이 필요함. 이 때 시스템에서 액티비티의 각종 정보를 저장해두기 위해 태스크를 만든다. 테스크의 흐름 관리 : 프로세스 실행 -> VM(Virtual Machine) 생성 -> 앱 실행 1. activity_main.xml을 다음과 같이 만들어준다. 2. MainActivity 코드를 작성한다.package com.example.chapter4_5;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundl..
2024.12.07