Android 세미나 2010년 11월.

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

오토베이스9 태그 편집기를 이용한 태그 편집 오토베이스 교육센터.
SQLite 소개 및 안드로이드에서의 사용법
PowerBuilder Stored Procedure DW
무료문자 보내기 62. 창업자께서 현재 스마트폰 무제한 약정 요금제를 사용하고 계시다면
DB 프로그래밍 학기.
DB 프로그래밍 학기.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Ch.07-5 xml-rpc 사용하기 김상엽.
어서와 Java는 처음이지! 제19장 데이터베이스 프로그래밍.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
Outlook Express 메일 백업 및 복원가이드
뇌를 자극하는 SQL Server 장. SQL Server 2005 통합 서비스.
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
Lesson 9. 예외처리.
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
KHS JDBC Programming 4 KHS
5장 Mysql 데이터베이스 한빛미디어(주).
10장. 예외처리.
11장. 1차원 배열.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
인터넷응용프로그래밍 JavaScript(Intro).
JDBC Lecture 004 By MINIO.
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
전자정부 표준프레임워크 호환성 가이드 전자정부 표준프레임워크 사업단 실행환경 개발팀.
Endnote 이용 안내 2010 중 앙 도 서 관.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
삼성(PC Manager Plus, PC Link2000)
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
ADO.NET (SqlConnection, SqlCommand)
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
자바 5.0 프로그래밍.
MovieStory 작성자 홍성혁 소속 전자전기컴퓨터공학부 학번
Database Management System
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
데이터 베이스 DB2 관계형 데이터 모델 권준영.
JA A V W. 06.
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
CHAP 21. 전화, SMS, 주소록.
2nd day Indexing and Slicing
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
Chapter 10 데이터 검색1.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
 6장. SQL 쿼리.
CODE INJECTION 시스템B 김한슬.
Exporting User Certificate from Internet Explorer
fastestslowest 실제 질의문에서 사용 타입 추천 인덱스 SELECT list Default
6 객체.
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
Presentation transcript:

Android 세미나 2010년 11월

목차 01 02 03 04 프로그램 설명 나인 패치 적용법 SMS & Contact DB 접근 기타 Tip Package & Activity 설명 02 나인 패치 적용법 03 SMS & Contact DB 접근 기타 Tip 04 문자 보내기 전화 걸기 & 자기전화번호 추출 Style 사용가능 옵션

01 프로그램 설명 Package 설명 Activity 설명

문자보관함이랑 관련된 패키지 DB 정의 및 관련 함수 받은 메시지 관련 패키지 보낸 메시지 관련 패키지 1. 프로그램 설명 Package 설명 com.DevilBBong.MailEngine 기본적으로 사용되는 java 파일 com.DevilBBong.MailEngine.CustodyBox 문자보관함이랑 관련된 패키지 com.DevilBBong.MailEngine.Database DB 정의 및 관련 함수 com.DevilBBong.MailEngine.ReceiveBox 받은 메시지 관련 패키지 com.DevilBBong.MailEngine.SendBox 보낸 메시지 관련 패키지 com.DevilBBong.MailEngine.WriteLetter 문자 보내기 관련 패키지

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           02 나인패치 적용법

Stretchable area Padding box. 확장이 되며 늘어날 영역 1 TextView가 그려질 영역                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            2. 나인패치 적용법 9 patch(나인패치) drawable 이란? Stretchable area 확장이 되며 늘어날 영역 Padding box. TextView가 그려질 영역 1 파일이름은 반드시 .9.png라고 끝나도록 저장해주어야 합니다. res/drawable/some_name.9.png 와 같은 형태가 되겠죠. 만약 그냥 .png라고 끝난다면 일반 이미지 파일로 처리가 됩니다. 2

1. SDK/tools/draw9patch.exe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            2. 나인패치 적용법 9 patch(나인패치) drawable 이란? 1. SDK/tools/draw9patch.exe

03 SMS & Contact DB 접근

3. SMS DB 접근 SMS DB값 가져오기 data/data/com.android.providers.telephony/mmssms.db

데이터베이스에서 원하는 Cursor를 받아오기 : 쿼리(query; 질의) 3. SMS DB 접근 DB값 가져오기 데이터베이스에서 원하는 Cursor를 받아오기 : 쿼리(query; 질의) 원하는 데이터베이스를 가져와야 합니다. 이는 쿼리(Query; 질의)를 통해 이루어집니다. 질의 결과는 Cursor객체 형태로 반환됩니다. public final Cursor query (Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) uri 질의를 수행할 테이블의 uri입니다. projection 자료를 받아올 필드들입니다. null을 입력하면 모든 필드를 반환합니다. selection  SQL의 "where" 구문에 해당되는 조건을 입력합니다. 조건이 많을 경우, ?로 대체합니다. selectionArgs   selection을 ?로 지정하였을 경우, 그 조건들을 입력합니다. sortOrder   결과값 정렬 방식을 지정합니다. null을 입력하면 기본 정렬을 수행합니다. 예제 ) // 모든 레코드를 반환하는 쿼리를 실행합니다. Cursor all = myDB.query("data", null, null, null, null, null, null, null); // 받은 문자메세지 레코드를 반환하는 쿼리를 실행합니다. Uri uri = Uri.parse("content://sms"); String[] projection = { "_id", "address", "person", "date", "body" }; String where = "person is null"; Cursor cursorReceive = ((Activity) mContext).getContentResolver().query(uri, projection, where, null, null);

Cursor에서 원하는 Data를 받아오기 3. SMS DB 접근 DB값 가져오기 Cursor에서 원하는 Data를 받아오기 Cursor는 가져온 DB table의 한 Row를 가리킵니다. 그리고 이 가져온 Cursor에서 원하는 Data를 가져와야 합니다. 이는 getXXX(ColumnIndex)으로 이뤄 집니다. 질의 결과는 해당 Type으로 반환됩니다. moveToFirst()  커서가 쿼리 결과 레코드들 중에서 가장 처음에 위치한 레코드를 가리키도록 함 moveToNext()  다음 레코드로 커서를 이동합니다. moveToPrevious()  이전 레코드로 커서를 이동합니다. getCount()  질의 결과값(레코드)의 갯수를 반환합니다. getColumnIndexOrThrow()  특정 필드의 index값을 반환하며, 필드가 존재하지 않을경우 예외를 발생 getColumnName()  특정 인덱스값에 해당하는 필드 이름을 반환합니다. getColumnNames()  필드 이름들을 String 배열 형태로 반환합니다. moveToPosition()  커서를 특정 레코드로 이동시킵니다. getPosition()  커서가 현재 가리키고 있는 위치를 반환합니다. 예제 ) receiver = cursor.getString(cursor.getColumnIndex("address")); // index = 2 sender = cursor.getString(cursor.getColumnIndex("person")); // index = 3 letter = cursor.getString(cursor.getColumnIndex("body")); // index = 10 date = cursor.getString(cursor.getColumnIndex("date")); // index = 4 item_sms = new Item_SMS(receiver, sender, letter, date); sms_list.add(count++, item_sms);

3. Contact DB 접근 Contact DB 가져오기 DB값 가져오기 1. MatrixCursor 사용 Android 2.0버전 부터 주소록 DB구조가 변경 되었다. 1. MatrixCursor 사용 DB 테이블을 보니, 한 row에 전화번호랑 이름이 같이 들어가 있는 구조가 아니어서.. 전화번호를 하나의 Cursor로 받고, 이름도 하나의 Cursor로 받아서 MatrixCursor로 합쳐야 할 것 같았다..

3. Contact DB 접근 Contact DB 가져오기 DB값 가져오기 2. Provider 사용 두 개의 커서를 받아와 합치려고 했다. MatrixCursor의 사용법을 찾기 위해 검색하던 도중.. 더 좋은 방법을 발견 2. Provider 사용

04 기타 Tip 문자 보내기 Style 사용가능 옵션 전화 걸기 & 자기전화번호 추출

4. 기타 Tip 문자 보내기 문자 보내기 /** * Send SMS message * @param context context * @param phoneNumber phone number to send * @param message the text of a letter */ public void sendSMS(Context context, String phoneNumber, String message) throws Exception { String SENT = "SMS_SENT"; String DELIVERED = "SMS_DELIVERED"; PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, new Intent(SENT), 0); PendingIntent deliveredPI = PendingIntent.getBroadcast(context, 0, new Intent(DELIVERED), 0); SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); } 참고) PendingIntent : http://huewu.blog.me/110084228131

4. 기타 Tip 전화 걸기 전화 걸기 & 자기전화번호 추출 /** * 음성통화 실행 함수 * @param context context * @param phone phone number to send */ public void RunAudioCall(Context context, String phone) { if (phone != null) { try { Log.d("Call", "Call : " + phone); context.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone)));   } catch (Exception e) { e.printStackTrace(); }

4. 기타 Tip 자기전화번호 추출 전화 걸기 & 자기전화번호 추출 /** * Check your phone number * @param context context * @return String PhoneNumber */ public String checkMyNumber(Context context) { TelephonyManager mTelephonyMgr = (TelephonyManager); context.getSystemService(Context.TELEPHONY_SERVICE); return mTelephonyMgr.getLine1Number(); }

4. 기타 Tip Style 사용가능 옵션 Style 사용가능 옵션 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="DialogTransparent"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">false</item> </style> <style name="Theme.AddUserPopup" parent="android:style/Theme.Dialog"> <item name="android:textColor">@color/Black</item> <item name="android:windowBackground">@drawable/filled_box</item> </resources> 참고) http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/styles.xml

감사합니다.