[안드로이드]다운로드, 기본개념, 프로젝트 기본순서, 액티비티생명주기, 로그캣

[안드로이드]다운로드, 기본개념, 프로젝트 기본순서, 액티비티생명주기, 로그캣

안드로이드 다운로드

  1. 안드로이드 다운로드
  2. 안드로이드 설치가이드
  3. 안드로이드 AVD 생성
    • AVD = Android Virtual Device
    • 스마트폰이나 태블릿 없이도 안드로이드 응용 프로그램의 테스트를 가능케 해준다.
    • 실습하기 적당한 AVD는 xxhdpi(1080X1920)해상도이고 화면 5.5인치
      • 보통 픽셀2 API 사용
  4. 안드로이드 SDK업데이트 확인
    • SDK = Software Development Kit
    • 가장 최신버전을 다운로드하면 된다. 보통 R버전.
    • 확인방법 : Tools -> SDK manager




안드로이드 프로젝트에서 프로그래머가 주로 변겨하거나 접근할 폴더와 파일

  1. activity_main.xml : 기본 액티비티(화면)
  2. MainActivity.java : 메인 java코드
  3. strings.xml : 문자열이 저장된 파일
  4. drawable폴더 : 앱에서 사용할 이미지 파일을 저장하는 폴더
  5. AndroidMainfest.xml : 앱의 기본적인 정보가 설정된 파일




프로젝트 기본 순서

안드로이드 프로젝트생성 : 프로젝트명 첫글자 대문자, 공백쓰지말것

  • new studio project에서 Empty Activity클릭
  • 보통 Empty Activity로 프로젝트를 시작한다.
  • 언어 기본설정 : java
  • 최하 실행버전 기본설정 : Android 4.1 (Jelly Bean)




.xml 화면 디자인

  • 기본 배치관리자 : LinearLayout
  • LinearLayout과 android:orientation=”vertical”` 항상 세트로 코딩
1
2
3
4
5
6
7
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
  • layout_width와 layout_height 모든 태그에 작성 필수
  • id작성규칙 : 영어대소문자와 숫자로 이루어져야함. 실무에서 보통 소문자사용
1
2
3
4
5
6
<TextView
android:id="@+id/Text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="반려동물 월드컵 시작하시겠습니까?"
/>




.java 코딩

  • 자바코드는 3단계에 걸쳐서 작성된다
    1. 변수 선언
    2. 변수에 위젯 대입
    3. 클릭할때 동작하는 클래스 정의
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//버튼의 java코드
//1.변수선언
Button mybtn

//2.변수에 위젯대입
mybtn = (Button) findViewById(R.id.button1);

//3.버튼 클릭할때 동작하는 클래스 정의
mybtn.setOnclickListener(new View.OnClickListener(){
public void onClick(View v){
// 동작할 코드 작성
}
})


//체크박스의 java코드
//1.변수선언
checkBox mycheck;

//2.변수에 위젯대입
mycheck = (CheckBox) findViewById(R.id.checkbox1);

//3.버튼 클릭할때 동작하는 클래스 정의
mycheck.setOncheckedChangeListener( new OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton arg0, boolean arg1){
//이 부분에 동작할 코드 작성
}
})
  • 아래 코드는 MainActivity.java이다.
  • 전역변수 생성 : 태그타입적은 뒤 소문자로 변수명 생성
  • view페이지에서 id값 가져올 때 findViewById(R.id.id명)을 사용
    • R은 R클래스이다.
    • findViewById(R.id.id명)로 가져온 건 object타입이다.
    • 이때 안드로이드스튜디오에서는 casting 불필요하다고 warning이 뜨지만 JAVA파일이므로 java에선 다운캐스팅해줘야한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class MainActivity extends AppCompatActivity {

//전역변수
TextView text1, text2;
CheckBox chkAgree;
RadioGroup rG1;
RadioButton dog, cat, rabbit;
Button btnOk;
ImageView imgPet;

//r클래스(P102) : R클래스는 개발자가 건들일수없는 코드이다

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("반려동물 사진보기");

//findViewById는 object이다
//안드로이드스튜디오에서는 에러나지만 JAVA에선 다운캐스팅해줘야한다
text1 = (TextView) findViewById(R.id.Text1);
chkAgree = (CheckBox) findViewById(R.id.ChkAgree);
text2 = (TextView) findViewById(R.id.Text2);

(중략)
}
}




RUN : AVD로 프로젝트 실행 및 결과 확인




액티비티생명주기

  • Activity란?
  • 안드로이드 응용 프로그램은 PC용과 달리 화면이 작으므로 동시에 여러 개의 액티비티(화면)가 나올 수 없다.
  • 하나의 액티비티가 실행중이면 다른 액티비티는 비활성화된다.
  • 액티비티 생명주기 : 액티비티의 생성부터 소멸까지의 주기




로그캣

  • 로그 모은 것을 화면 나타낸다.
  • 작성 중인 프로그램에 예기치 못한 오류가 발생했을 때 원인을 파악하는 방법 중 하나.
  • 로그캣을 정말 잘 설명해둔 안드로이드 문서




이미지파일확장자

  • 안드로이드에서 가장 빠르게 처리할 수 있는 이미지파일확장자 : png




안드로이드 래퍼런스