제4강 노티피케이션,메뉴,고급위젯 안드로이드 앱 개발 강좌.

Slides:



Advertisements
Similar presentations
IT CookBook, 초보자의 첫 번째 파워포인트 2007 파워포인트 2007 기초. 2 이 장에서 배울 내용  01_ 파워포인트 2007 과 슬라이드 기본 조작법  02_ 텍스트와 워드아트  03_ 슬라이드 꾸미기.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
스마트폰 화면에서 안드로이드 마켓을 클릭하여 접속합니다. [그림 1-1] 안드로이드 전용 어플리케이션 설치 방법 1. 굿바이 학교폭력 Mobile App 설치 안드로이드폰 설치 방법 마켓에서 검색 아이콘을 클릭 하여 검색창을 활성화 합니다. 굿바이 학교폭력 어플명을 입력.
Windows Function Windows XP Windows 7 Windows 8 FREE 조장 : 김동환 조원 : 전태우
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
CHAP 22. 블루투스.
액션바와 네비게이션
파워포인트 2007.
CHAP 19. 구글맵.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
코크파트너 설치 가이드 Window 7.
표지 Ⅵ. Web VAN 사용자매뉴얼 (브라우저보안설정)
Power Java 제3장 이클립스 사용하기.
윈도우7 체크 설치 매뉴얼
윤 홍 란 다이알로그(대화상자) 윤 홍 란
Outlook 에서 POP3 설정 방법.
CHAP 24. nfc와 앱위젯.
CHAP 11. 액티비티와 인텐트.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
7주차 Android Application.
제4장 대화상자 4.1 CDialogEx 클래스 4.2 대화상자 기반의 프로그램 실습 4-1 MFC 기본 컨트롤 사용법 익히기
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
프리젠테이션활용 및 데이터활용 Chapter 2 파워포인트의 기본 김 정 석
WinCE Device Driver 실습 #3
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
10장. 예외처리.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
CHAP 12. 리소스와 보안.
자바응용.
CHAP 13. 방명록 만들기 실습.
홀인원2.0 설치 메뉴얼.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
WZC 무선 연결 방법 (Windows XP Ver.).
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
CHAP 5. 레이아웃.
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
HyperWorks Apps 설치 가이드.
[그림 1-1] 안드로이드 전용 어플리케이션 설치 방법
LabVIEW WiznTec 주임 박명대 1.
※ 인터넷 옵션 조치 방법 ※ ★ 신뢰사이트 등록 (1) ★ 우리들을 신뢰해주세요^^* 방법이 복잡해 보일지 모르지만
※ 편리한 사이버 연수원 사용을 위한 인터넷 최적화 안내 ※
법령안편집기 연결버튼 표시가 안 될 경우 정부입법지원센터( 입안 및 심사안을 진행시
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
CHAP 21. 전화, SMS, 주소록.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
메뉴(Menu) 컴퓨터응용 및 실습 I.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
무선랜 사용자 설명서 (Windows Vista 사용자).
Installation Guide.
이 프레젠테이션은 PowerPoint의 새로운 기능에 대해 안내하며, 슬라이드 쇼에서 가장 잘 보입니다
CHAP 5. 메뉴와 대화상자.
Presentation transcript:

제4강 노티피케이션,메뉴,고급위젯 안드로이드 앱 개발 강좌

목 차 Notification(노티피케이션) 1 메뉴 2 고급위젯 3

1. 노티피케이션(Notification)

1.1 노티피케이션의 종류 앱 제작시 프로그램이 사용자에게 어떤 이벤트를 알려줘야 할 상황 발생 사용자로부터 피드백을 받을 수도 안 받을 수도 있음 [노티피케이션이 주로 사용되는 상황] 파일이 저장되고 있고 저장이 완료되면 사용자에게 파일이 모두 잘 저장됐다고 알려줘야 할 경우 프로그램이 백그라운드 프로세스로 돌고 있는 상황에서 사용자에게 진행 상황에 대해 정기적으로 알려줘야 할 경우 파일을 다운받을 시 사용자가 얼마나 기다려야 하는지 등의 메시지를 전달해줘야 할 경우 노티피케이션 종류 특징 토스트 노티피케이션 윈도우 표면에 보이는 팝업메세지 크기는 글자의 크기/개수에 때라 달라짐 시간이 지나면 저절로 사라지거나 나타남 사용자로부터 이벤트를 받을 수 없음 상태바 노티피케이션 시스템의 상태바에 아이콘을 추가하고 노티피케이션 윈도우에 메시지를 추가 사용자가 노티피케이션 메시지를 클릭시 안드로이드 프레임워크에서는 사용자가 미리 정의해 놓은 인텐트 실행 애플리케이션이 백그라운드로 실행되고 실행중에 사용자에게 어떤 이벤트를 공지할 때 아주 유용 대화상자 노티피케이션 현재 액티비티의 전면에 나타나는 조그만 윈도우 대화상자와 동일 대화상자가 실행되면 액티비티는 포커스를 잃어버리고 사용자의 입력을 받을 수 있는 상태가 됨 애플리케이션이 포어그라운드로 실행되고 실행중에 사용자에게 어떤 이벤트를 공지할 때 아주 유용

1.2 상태바 노티피케이션 (1) 노티피케이션 가이드 라인 (2) 상태바 노티피케이션 만들기 백그라운드 서비스로 애플리케이션이 동작할 때 사용자로부터 어떤 응답을 받아야 할 경우에 사용 (1) 노티피케이션 가이드 라인 시간과 그다지 상관이 없는 이벤트는 노티피케이션을 사용하지 말아야 한다. 현재의 화면에서 알려도 될 만한 내용은 굳이 노티피케이션을 사용하지 말아야 한다. 사용자가 굳이 알 필요가 없는 시스템적인 상세한 메시지는 노티피케이션을 사용하지 말아야 한다. 사용자가 노티피케이션의 사용여부를 직접 제어할 수 있게끔 해야 한다. 마지막으로 노티피케이션을 이용해서 광고하지 말아야 한다. (2) 상태바 노티피케이션 만들기 액티비티나 서비스에 모두 만들 수 있지만 , 서비스에 주로 생성함 상태바 노티피케이션 Notification클래스와 NotificationManager로 만들 수 있음 Notification 클래스의 객체 : 아이콘이나 메시지, 그외의 부가 속성 정보를 갖고 있는 노티피케이션의 속성 정보 2) NotificationManager : 상태바를 관리하고 실행하는 안드로이드 프레임워크의 서비스

1.2 상태바 노티피케이션 (3) 노티피케이션 생성 기본 절차 NotificationManager 개체를 얻음 String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager)getSystemService(ns); 2) Notification객체를 생성하고 유지 시간을 설정 int icon = R.drawable.notification_icon; CharSequence tickerText = "상태바 노티피케이션"; long when = System.currentTimeMillis(); Notification.Builder builder = new Notification.Builder(StatusNotificationActivity.this); builder.setSmallIcon(icon).setTicker(tickerText).setWhen(when); Notification notification = builder.getNotification(); 3) 노티피케이션 메시지와 메시지 클릭 시 띄울 PendingIndent를 정의 Context context = getApplicationContext(); CharSequence contentTitle = "내 노티피케이션!!!"; CharSequence contentText = "Hello World Call"; Intent notificationIntent = new Intent(con, HelloWorldActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(con, 0, notificationIntent, 0); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 4) NotificationManager에게 Notification을 전달 mNotificationManager.notify(HELLO_ID, notification);

1.3 리치 노티피케이션 BigPicture BigText InboxStyle 젤리빈(4.1)이후 상태바 노티피케이션의 변화 발생 좀더 화려한 그래픽과 내용을 제공할 수 있는 형태의 노티피케이션 추가 BigPicture,BigText, InboxStyle노티피케이션 3가지 종류 BigPicture BigText InboxStyle

2. 메뉴(Menu)

2.1 메뉴 메뉴 XML 요소 화면에서 사용자가 어떤 액션을 취하는 데 있어서 사용자에게 친숙한 인터페이스 옵션 메뉴, 컨텐스트 메뉴, 서브메뉴 3가지 기본적인 메뉴 형태 제공 [메뉴 사용방법] 메뉴와 메뉴 아이템을 XML에 정의 소스코드에서 객체로 가져오기 위해 메뉴 인플레이터를 사용 메뉴 XML 요소 요소들 설 명 <menu> Menu 클래스를 정의하는 요소 메뉴 아이템 <item>요소를 포함 XML 최상위 노드 한 개 이상의 <group><item>을 가짐 <item> MenuItem클래스를 정의하는 요소 메뉴를 정의하는 단일항목을 정의 서브메뉴를 만들 수 있음 <group> Optional한 속성 메뉴 아이템을 담고 있는 눈에 안 보이는 컨테이너 역할 활성화 상태나 가시성 속성을 공통으로 적용해 메뉴 아이템을 분류할 수 있게 함

android:alphabeticShortcut 2.1 메뉴 메뉴 XML 요소의 대표적 속성 속성 설 명 android:id 메뉴 아이템의 유일한 식별자 소스에서 id를 이용해 접근 가능 android:icon 메뉴 아이템의 아이콘 설정 Drawable 객체의 참조 값으로 사용 android:title 메뉴 아이템의 제목 설정 String객체의 참조 값으로 사용 android:onClick 클릭했을 때 호출돼야 하는 메소드 이름 한 개의 MenuItem만 파라미터로 넘겨받을 수 있게 해야 함 onOptionsItemSelected()보다 먼저 수행 android:alphabeticShortcut 단축키를 지정하는 속성 숫자로 설정해야 함 android:checked 기본적으로 메뉴 아이템을 체크해야 한다면 속성은 true 메뉴 리소스 인플레이팅 소스 코드안에서 메뉴 리소스를 사용하려면 MenuInflater.inflate()메소드 사용 public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.option_menu, menu); return true; }

2.2 메뉴의 종류 #1 옵션 메뉴 사용자가 메뉴 버튼을 터치했을 때 나타나는 기본적인 메뉴 메뉴 아이템이 여러 개가 모여 있는 구조 안드로이드 3.0이상 부터는 액션바(Action Bar)에서 빨리 접근할 수 있는 메뉴 제공 -> 액션아이템(Action Item) 안드로이드 2.3이하에서는 스크린 하단에 위치 , 안드로이드 3.0이상에서는 옵션 메뉴는 액션 바에 위치

2.2 메뉴의 종류 #2 컨텍스트 메뉴 컨텍스트 메뉴 사용법 윈도우 운영체제에서 마우스 오른쪽 버튼을 클릭했을 때 나타는 메뉴라고 보면 됨 뷰를 롱 클릭했을 경우 컨텍스트 메뉴가 나타남 주로 리스트 뷰(ListView)에서 사용 컨텍스트 메뉴 사용법 뷰를 ‘등록’하는 절차 수행 - registerForContextMenu(View) 호출 2) 컨텍스트 메뉴의 모양과 동작정의 - OnCreateContextMenu() 와 onContetItemSelected() 메소드 오버라이드

2.2 메뉴의 종류 #3 서브 메뉴 메뉴안에서 특정 메뉴 아이템을 선택했을 때 나타나는 메뉴 사용자가 메뉴 아이템을 선택해 하위로 더 열 수 있는 구조의 메뉴 서브 메뉴는 자기 자신에 서브 메뉴를 붙일 수는 없음 메뉴에 너무 많은 기능들이 들어가야 하는 경우에 사용하면 좋음

3. 고급 뷰와 위젯

3.1 날짜 피커(Date Picker) 날짜를 선택할 수 있는 위젯 년,월,날짜를 스피너 나 캘린더 뷰(Calendar View)를 이용해 출력 DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); this – context : 이 객체를 생성한 글로벌 정보를 담고 있고, 해당 Activity객체를 넣어줌 mDateSetListener – DatePickerDialog.OnDateSetListner : 리스너 객체 mYear, mMonth, mDay : 날짜 변수들

3.2 프로그레스 바 작업의 진행상황을 비주얼하게 보여줌 예) 스트리밍이 재생되는 중간 진행상황을 보여주는 경우 , 다운로드시 진행상황 보여주는 경우 new Thread(new Runnable() { public void run() { while (mProgressStatus < 100) { doWork(); mHandler.post(new Runnable() { mProgress.setProgress(mProgressStatus); progress_progress.setText("progressbar progress is " + mProgressStatus); } }); }).start(); 백그라운드 스레드는 내부적인 연산만 해야 하며 다른 스레드 소속의 UI를 건드릴 수 없다. mHandler객체의 post메소드 호출

3.2 프로그레스 바

3.3 웹뷰(WebView) 웹뷰 : 웹 페이지를 화면에 보여주는 역할을 수행 3-1) AndroidManifest.xml파일에 인터넷에 접속할 수 있는 권한을 줘야함

3.3 웹뷰(WebView)

3.3 웹뷰(WebView) 3-2) 레이아웃 XML 입력 3-3) 자바파일 소스 수정 <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> 3-3) 자바파일 소스 수정 WebView mWebView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webviewmain); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("http://www.daum.net"); }