Android Programming 고급위젯

Slides:



Advertisements
Similar presentations
Android Application. 최신버전 안드로이드 SDK 설치 1. SDK 설치 접속.
Advertisements

Android Tutorial 안드로이드 SDK 설치 및 기초 프로그래밍 강좌입니다 서울대학교 네트워크 융합 및 보안 연구실 권 윤
제 2 강 프로젝트 구성과 View 안드로이드 앱 개발 강좌. 목 차목 차목 차목 차 목 차목 차목 차목 차 안드로이드 프로젝트 구성 2 에뮬레이터 사용법 3 버전과 screen size 4 5 Hello World 앱 작성하기 1 View 와 ViewGroup.
삼성소프트웨어멤버십 20 th 박희근 ( A n d r o i d.
Android Application 데이터베이 스. 데이터베이스 활용하 기  안드로이드에 쓰이는 DBMS 의 이름은 SQLite.  SQLite 는 경량의 임베디드 데이터베이스 엔젠이며, 아이폰, 파이어폭스 등 여 러 곳에서 이미 많이 채택된 검증된 엔진이다. 
Unlocking Android 안드로이드 패키지 (1/2) 2 Unlocking Android 안드로이드 패키지 (2/2) 3.
CHAP 3. 첫번째 애플리케이션 예제 #1: text 문자를 출력 예제 #2: UI를 XML로 표현 – main.xml
6 메 뉴.
기본위젯과 레이아웃 둘째 마당 - Chapter 01 Do It! 안드로이드 앱 프로그래밍 Jun. 2013
CHAP 8. 그래픽.
CHAP 18. 멀티미디어.
CHAP 10. 액티비티와 인텐트.
CHAP 10. 액티비티와 인텐트.
액션바와 네비게이션
Contents 학습목표 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다. 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술 실습. 학습내용 이벤트 핸들러 여러 가지 이벤트.
Android 개발환경 설정 및 Android View 소개
04. 기본 위젯 익히기 제목. 04. 기본 위젯 익히기 제목 뷰와 뷰 상속을 이해한다. 기본 위젯을 다루는 방법을 익힌다. 안드로이드 앱의 기본적인 프로그래밍을 숙달한다.
2. 앱 개발환경 구축 Step by Step 안드로이드 프로그래밍 쉽게 시작하는 안드로이드 4.4 앱 개발.
Android Application 애플리케이션 위젯.
CHAP 19. 구글맵.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
Contents 학습목표 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다. 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술 실습. 학습내용 이벤트 핸들러 여러 가지 이벤트.
CHAP 7. 메뉴와 대화상자.
Contents 학습목표 Canvas와 Paint 객체를 통해 화면에 원하는 도형을 그리고 속성을 변경하는 기본적인 방법에 대해 소개한다. 토스트로 메시지를 출력하는 방법과 스피커를 통해 소리를 출력하는 방법에 대해서도 알아본다. 학습내용 캔버스 그리기 객체 쉐이더 그외.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
04. 기본 위젯 익히기 제목.
Java Seminar 6.
첫 번째 애플리케이션 첫째 마당 - Chapter 03 Do It! 안드로이드 앱 프로그래밍 Jun. 2013
CHAP 4. 이벤트 처리.
CHAP 6. 이벤트 처리.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
UNIT 07 그림책 만들기 1/2 로봇 SW 콘텐츠 연구원 조용수.
08. 파일 처리 제목. 08. 파일 처리 제목 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다.
안드로이드 개요 2005년 휴대폰 소프트웨어 개발사인 Android를 구글이 인수 2007년 11월 오픈소스로 공개
CHAP 11. 액티비티와 인텐트.
CHAP 7. 메뉴와 대화상자.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
06. 고급 위젯 다루기 제목. 06. 고급 위젯 다루기 제목 고급 위젯을 다루는 방법을 익힌다. 뷰 컨테이너와 그 응용법을 학습한다. 매니패스트 파일의 설정법을 배운다.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
06. 고급 위젯 다루기 제목. 06. 고급 위젯 다루기 제목 고급 위젯을 다루는 방법을 익힌다. 뷰 컨테이너와 그 응용법을 학습한다. 매니패스트 파일의 설정법을 배운다.
08. 파일 처리 제목. 08. 파일 처리 제목 파일을 처리하는 방식을 익힌다. SD카드의 파일을 처리하는 방식을 배운다. 커스텀뷰의 작성법을 알아본다.
CHAP 8. 그래픽.
CHAP 6. 이벤트 처리.
UNIT 05 신문 만들기 로봇 SW 콘텐츠 연구원 조용수.
CHAP 14. 데이터베이스와 환경 설정.
CHAP 13. 네트워크.
02. 처음으로 만드는 안드로이드 애플리케이션 제목.
CHAP 12. 리소스와 보안.
CHAP 3. 첫번째 애플리케이션.
Lesson 2. 기본 데이터형.
Achro-5250, IMX6 안드로이드 어플리케이션.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
CHAP 13. 서비스와 방송 수신자.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Bingo 빙고 따라가기.
10. 액티비티와 인텐트 제목. 10. 액티비티와 인텐트 제목 액티비티의 개념을 파악한다. 인텐트의 개념과 활용법을 익힌다. 액티비티 생명주기에 대해 알아본다.
3강_레이아웃-I 화면구성 요소 뷰에 대한 이해 LinearLayout Lecturer Kim Myoung-Ho
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
05. 레이아웃 익히기 제목.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
위젯과 레이아웃.
CHAP 11. 리소스와 보안.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
CHAP 5. 메뉴와 대화상자.
Ch 4. 선택 위젯의 사용과 커스텀뷰 만들기 Assignment #1 04 – 1, 2) 08학번 정보과학과 유재윤
BoardGame 보드게임 따라가기.
Presentation transcript:

Android Programming 고급위젯 이 자료는 모바일IT공학전공 내부 수업자료로 활용하기위해 작성되었으므로 배포 및 인터넷게시를 금한다.

날짜/시간 관련 위젯 [activity_main.xml ] 프로젝트명: AndExam6_1_2_3 패키지명: com.example.andexam6_1_2_3 [activity_main.xml ] <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"> <!--This class was deprecated in API level 23. --> <AnalogClock android:layout_width="match_parent" android:layout_height="wrap_content" /> <DigitalClock android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" /> <Chronometer android:layout_width="match_parent" android:layout_height="wrap_content" android:format="시간 측정: %s" android:gravity="center" android:textSize="30sp" /> <TimePicker android:timePickerMode="spinner" android:layout_width="match_parent" android:layout_height="wrap_content" /> <DatePicker android:datePickerMode="spinner" android:layout_width="match_parent" android:layout_height="wrap_content" /> <CalendarView android:layout_width="match_parent" android:layout_height="match_parent" android:showWeekNumber="false" /> </LinearLayout>

날짜/시간 예약 앱 만들기 프로젝트명: Project6_1 패키지명: com.example.project6_1 어플리케이션 설명 타이머기능: <예약시작>과 <예약완료>버튼을 클릭하면 크로노미터가 타이머로 동작한다. 날짜/시간설정: <날짜설정>과<시간설정>을 클릭하면 예약할 날짜와 시간을 변경할 수 있다. <예약완료>를 클릭하면 설정한 날짜와 시간이 결정된다.

날짜/시간 예약 앱 만들기 [activity_main.xml ] [activity_main.xml(계속) ] 프로젝트명: Project6_1 패키지명: com.example.project6_1 [activity_main.xml ] <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <Chronometer android:id="@+id/chronometer1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#cccccc" android:format="예약에 걸린 시간 %s" android:gravity="center" android:textSize="20dp" /> <Button android:id="@+id/btnStart" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="예약 시작"/> </LinearLayout> <RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/radioCal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="날짜 설정" /> [activity_main.xml(계속) ] <RadioButton android:id="@+id/radioTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="시간 설정" /> </RadioGroup> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <CalendarView android:id="@+id/calendarView1" android:showWeekNumber="false" android:layout_width="match_parent" android:layout_height="match_parent" /> <TimePicker android:id="@+id/timePicker1" android:timePickerMode="spinner" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" /> </FrameLayout> </LinearLayout>

날짜/시간 예약 앱 만들기 [MainActivity.java(계속) ] [MainActivity.java ] 프로젝트명: Project6_1 패키지명: com.example.project6_1 [MainActivity.java ] public class MainActivity extends AppCompatActivity { Button btnStart, btnEnd; Chronometer chrono; RadioButton radioCal, radioTime; CalendarView calView; TimePicker tPicker; TextView tvYear, tvMonth, tvDay, tvHour, tvMinute; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setTitle("시간 예약"); btnStart = (Button) findViewById(R.id.btnStart); btnEnd = (Button) findViewById(R.id.btnEnd); // 크로노미터 chrono = (Chronometer) findViewById(R.id.chronometer1); // 라디오버튼2개 radioCal = (RadioButton) findViewById(R.id.radioCal); radioTime = (RadioButton) findViewById(R.id.radioTime); // FrameLayout의 2개위젯 calView = (CalendarView) findViewById(R.id.calendarView1); tPicker = (TimePicker) findViewById(R.id.timePicker1); // 텍스트뷰중에서 연,월,일,시,분 숫자 tvYear = (TextView) findViewById(R.id.tvYear); tvMonth = (TextView) findViewById(R.id.tvMonth); tvDay = (TextView) findViewById(R.id.tvDay); tvHour = (TextView) findViewById(R.id.tvHour); tvMinute = (TextView) findViewById(R.id.tvMinute); tPicker.setVisibility(View.INVISIBLE); calView.setVisibility(View.INVISIBLE); [MainActivity.java(계속) ] radioCal.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { tPicker.setVisibility(View.INVISIBLE); calView.setVisibility(View.VISIBLE); } }); radioTime.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { tPicker.setVisibility(View.VISIBLE); calView.setVisibility(View.INVISIBLE); } }); btnStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //예약시작버튼을 누를때마다 크로노미터를 0으로 초기화 chrono.setBase(SystemClock.elapsedRealtime()); chrono.start(); // 타이머가시작하면 글자가 빨간색으로, chrono.setTextColor(Color.RED); } }); btnEnd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { chrono.stop(); // 타이머가 중지하면 글자가 파란색으로 chrono.setTextColor(Color.BLUE); java.util.Calendar curDate = java.util.Calendar.getInstance(); curDate.setTimeInMillis((calView.getDate())); tvYear.setText(Integer.toString(curDate.get(Calendar.YEAR))); tvMonth.setText(Integer.toString(1+curDate.get(Calendar.MONTH)));//월은 0부터 tvDay.setText(Integer.toString(curDate.get(Calendar.DATE))); //일 // 타임피커에서 설정한 시간/분을 구해서 해당하는 텍스트뷰에 채운다 tvHour.setText(Integer.toString(tPicker.getCurrentHour())); tvMinute.setText(Integer.toString(tPicker.getCurrentMinute())); } }); } }

날짜/시간 예약 앱 만들기 [MainActivity.java(계속) ] 프로젝트명: Project6_1 패키지명: com.example.project6_1 [MainActivity.java(계속) ] btnEnd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { chrono.stop(); // 타이머가 중지하면 글자가 파란색으로 chrono.setTextColor(Color.BLUE); java.util.Calendar curDate = java.util.Calendar.getInstance(); curDate.setTimeInMillis((calView.getDate())); tvYear.setText(Integer.toString(curDate.get(Calendar.YEAR))); tvMonth.setText(Integer.toString(1+curDate.get(Calendar.MONTH))); //월은 0부터 tvDay.setText(Integer.toString(curDate.get(Calendar.DATE))); //일 // 타임피커에서 설정한 시간/분을 구해서 해당하는 텍스트뷰에 채운다 tvHour.setText(Integer.toString(tPicker.getCurrentHour())); tvMinute.setText(Integer.toString(tPicker.getCurrentMinute())); } }); } // onCreate() } // MainActivity

날짜/시간 예약 앱 만들기 [activity_main.xml ] [activity_main.xml(계속) ] 프로젝트명: Project6_1 패키지명: com.example.project6_1 [activity_main.xml(계속) ] <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#cccccc" android:gravity="center"> <Button android:id="@+id/btnEnd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="예약완료" /> <TextView android:id="@+id/tvYear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0000"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="년"/> <TextView android:id="@+id/tvMonth" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="00"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="월"/> <TextView android:id="@+id/tvDay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="00"/> [activity_main.xml ] <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="일"/> <TextView android:id="@+id/tvHour" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="00"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="시"/> <TextView android:id="@+id/tvMinute" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="00"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="분 예약됨"/> </LinearLayout> </LinearLayout>

프로그래스바,시크바,래이팅바 [activity_main.xml ] 프로젝트명: AndExam6_12 패키지명: com.example.andexam6_12 [activity_main.xml ] <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <ProgressBar style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:max="100" android:progress="20" android:secondaryProgress="50" /> <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:progress="20" /> <RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" android:numStars="5" android:rating="1.5" android:stepSize="0.5" /> </LinearLayout>