안드로이드 9일차

ParkJinYoung·2022년 10월 19일

4대컴포넌트(개체)

  • 1.Activity
    - 화면을 구성하는 단위
    - View를 담당하는 xml 파일과 알고리즘 (로직)을 담당하는 java파일로 이루어짐
    - Manifest.xml 파일에 activity 태그로 등록
    - 첫번째 뜨는 activity(MainActivity)가 되려면 intent-filter 태그를 포함

  • 2.Service
    - Activity와 동일하지만 화면을 구성하는 요소가 없음
    - 무한루프를 돌려주면 => 화면이 없이 무한히 반복되는 App을 만들수 있음 => 백그라운드에서 동작하는 App
    - 스트리밍 App, 카톡, 알람, 위젯 띄울 때

  • 3.Broadcast Receiver
    - 하드웨어(핸드폰)에서 일어나는 모든 일을 감지
    - 보통 Service와 함께 사용
    - 갤럭시 루틴, 후후 App

  • 4.Content Provider
    - App끼리 정보를 제공할 수 있음 => 공개된 정보만
    - 주소록, 갤러리(썸네일), 통화목록 접근 가능
    - 단, 핸드폰 외장메모리의 파일에 접근하는 것은 조금 복잡함 => 보안
    - Android 버전이 업데이트 되면서 중요성이 매우매우 강조되고 있음


Activity 생명주기

finish() => onResume()
finish() 없으면 onCreate()

Adapter View




  • 만드는 순서
    -템플릿 : xml파일로 구현
    -데이터 : 배열(데이터 변동없을때) or ArrayList(데이터 가변적일때)로 구현
    -필요하다면 VO 설계
    -어댑터 : TextView만 표현할 경우에는 기본으로 제공해주는 ArrayAdapter 사용 가능,
    -템플릿이 복잡해지면 BaseAdapter를 상속받아 Adapter를 새로 구현해야함!(Custom Adapter)

public class MainActivity extends AppCompatActivity {
	Button btn_login;
    Button btn_write;
    TextView tv_title1;
    ListView list_board;
    int REQUEST_LOGIN = 1;
    //문자열을 저장할 수 있는 ArrayList 생성하고 게시판 글 5개 저장하기
    ArrayList<String> list;
    ArrayAdapter<String> adapter;
    //메소드 호출은 메소드 안에서만 가능하다.
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
        btn_login = findViewById(R.id.btn_login);
        btn_write = findViewById(R.id.btn_write);
        tv_title1 = findViewById(R.id.tv_title1);
        list_board = findViewById(R.id.tv_board);
        //데이터
        list = new ArrayList<>();//<>안쓰면 상속을 받는 스타일 <Object> 상태
        list.add("1. 앱 만들기");
        list.add("2. 문자 차단앱 만들기");
        list.add("3. 문장과 단어를 특정해서");
        list.add("4. 문자가 왔을시에 특정단어가");
        list.add("5. 들어있을때는 문자를 휴지통으로 이동");
        //어뎁터
        adapter = new ArrayAdapter<>(getApplicationContext(),
                R.layout.templete,list);
        //만들어진 어뎁터를 ListView에 연결한다.
        list_board.setAdapter(adapter);
profile
꾸준히

0개의 댓글