1. 안드로이드 역사
    • 1.0 Applie Pie - API Level 1
    • 1.1 Banana Brade - 2
    • 1.5 CupCake - 3 - 세계최초 상용버전
    • 1.6 Donut - 4
    • 2.0 Eclair - 5
    • 2.2 Froyo - 8 - 성능이 2~5배 향상됨 - 갤럭시S가 처음 탑재함
    • 2.3 ~ 2.3.4 Ginger Bread - NFC
    • 3.0 Holo Design - 새로운 UI등장, 4.4버전까지 사용됨
    • 4.0~4.0.3 Icecream Sandwich - 최초 통합  OS, 모든 단말기에 같은 OS사용
    • 4.1 ~ 4.3 Jelly Bean 운영체제 속도 최적화(Project Butter - 메모리사용에서 코드, 그래픽 사용영역을 유동적으로 변경함) - 버벅거림 없어짐
    • 4.4 Kitkat
    • 5.0 Lollipop - Material Design(보이는 부분을 여러 층으로 나눔 - 3D같은 효과), 다시 단말기에 따라 운영체제 나눔 (Android, Android ware, Android TV, Android auto)
  2. 안드로이드 4가지 구성요소
    1. 액티비티 - 화면을 가진 실행단위
    2. 서비스 - 백그라운드로 실행 화면 없음
    3. 방송 수신자 (BR) - 리스너로, OS에 의해 브로드캐스팅된 메시지를 받음. App은 아무 실행 안하다가 브로드캐스팅 된 메시지가 있으면 OS가 해당  App을 실행함 - 예, 배터리사용확인 어플
    4. 콘텐츠 제공자 (CP) - 안드로이드에는 기본 RDB가 하나 설치되어 잇음. A가 데이터를 제공한다면 A는 CP가 됨. A가 제공한 데이터를 B 어플이 OS를 통해 사용할 수 있도록 함.
  3. 안드로이드 개발 환경 세팅
    • jdk설치 - 1.8 www.oracle.com
    • java 환경변수 설정 - JAVA_HOME=C:\Program Files\Java\jdk1.8.0_25
    • Android 개발 IDE 설치 - developer.android.com
    • SDK 매니저를 이용한 패키지 설치
      • IDE는 반드시 실행되지 않은 상태에서
      • SDK Manager 실행 - 관리자로 실행
      • Install packages
  4. Android와 iOS의 차이
    1. iOS는 GPU사용, 레티나 디스플레이에 core를 사용 따라서 iOS는 버벅거림 없음. 안드로이드는 외형상 스펙이 높으나 GPU사용 하지 않아 그래픽 처리에 버벅거림 후에 개선됨.
  5. 예제
    1. 홈 .android 삭제
    2. Android Studio (AS) 실행
    3. package 이름은 전세계에서 유일해야함
    4. blank activity 선택 (예제들은 Github.com에 많이 있음)
    5. App -> 실행 -> launch emulator - workspace 선택
  6. 시뮬레이터
    1. 아이콘 중 AVD Manager 선택하면 시뮬레이터 생성/삭제/수정 가능함
  7. 단말기에서 테스트
    1. 단말기 통합USB 드라이버 설치함 (제조회사에서 다운로드)
    2. 설정 - 디바이스정보 - 빌드번호 부분 막누름 - 앞으로하면 개발자옵션이 나옴 - 개발자옵션 - USB디버깅 클릭 - 폰 연결하면 폰에서 허용할지 메시지 나옴 - 허용
    3. 장치관리자에서 연결된 단말기가 정상적인 장치로 나와야 함 (기타장치에 나오면 안됨)
  8. 파일/폴더
    1. AndroidManifest.xml 설정 파일
    2. src/ 밑에 작업한 자바파일
    3. app/build/generated/source/~~/R.java 자동생성
    4. app/build/outputs/apk/ apk파일
    5. res/ 리소스파일 - 미디어, XML 등. 지칭만하면 됨
    6. assets/ - res에 들어가지 못하는 모든 파일, 직접 읽어주어야함
  9. 난독툴 - Android proguard : 코드가 변경되어 분석을 어렵게 함. 개발후 배포전에 반드시 실행
  10. Android 첫화면 실행
    1. AndroidManifest.xml 파일에서
      1. android:versionName : 업데이트시 반드시 변경해야함
      2. minSdkVersion: API Level을 표기 최소 지원할 안드로이드 버전
      3. android:icon - 어플의 아이콘이미지
      4. android:lable - 어플의 아이콘 아래 이름
      5. action android:name="android.intent.action.MAIN 이름인 액티비티를 제일 먼저 실행함 이이름을 가진 액티비티가 첫 화면임 딱 1개만 가능 여러개일경우 최상위의 것만 실행 (참고 4요소 각각에 이름을 붙일수 있다. 이것은 외부 다른 어플에서 사용가능하게 하기 위함)
      6. android:anme=".MainActivity" 여기서 . 은 현재 어플이라는 의미 MainActivity는 클래스파일이름. 첫화면실행시 android.intent.action.MAIN 액티비티에서 MainActivity 클래스를 호출함  MainActivity 내 OnCreate 메소드 (생성자) 실행함. OS가 어플실행시 여기까지 해줌.
    2. MainActivity.java에서
      1. OnCreate 실행 (처음한번 자동 실행)
        1. setContentView(R.layout.activity_main) - R은 res 폴더를 의미함. res/layout/activity_main.xml을 지칭함. 또한 app/build/generated/source/r/debug/com/../R.java 파일에 보면 R 클래스가 있고 layout 매소드가 있고 activity_main 값이 있음 - 자동으로 생성함
    3. 위젯: 자기만의 기능을 가진것 - 버튼, 텍스트뷰,에디트 ..
      1. 뷰그룹: 컨테이너, 뷰의 집합, 레이아웃
      2. 뷰속성 - id 값은 하나의 XML 파일내에서 중복되어서는 안됨
      3. layout_width, layout_height 의 속성값으로 match_parent, wrap_content, 상수 크기 값이 들어갈 수 있다.
      4. match_parent : 부모의 주어진 크기 다 채움
      5. wrap_conent : 내용물의 크기에 맞춤
      6. 가로/세로 값을 위 값 주는 것에 따라 크기 달라짐.
      7. 단위를 dp 사용하면 해상도 상관없이 같은 크기로 보여주게 할 수 있다.
      8. padding 자기 자신의 내부 여백을 지칭
      9. margin 자기 자신의 외부 여백을 지칭함

 

'Mobile' 카테고리의 다른 글

Android App 개발 과정 - 2일차  (0) 2014.12.16
Posted by 옥탑방람보
,