SNS 어플리케이션 전자통신컴퓨터공학부 조성경

Similar documents
SNS 어플리케이션 졸업작품최종보고서 성명조성경 소속전자통신컴퓨터공학부 학년 4 학번 지도교수원유집 ( 인 ) 전자통신컴퓨터공학부 한양대학교

THE TITLE

Secure Programming Lecture1 : Introduction

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Facebook API

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Microsoft PowerPoint App Fundamentals[Part1].pptx

Google Maps Android API v2

Week13

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

10.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt

윈도우시스템프로그래밍

서현수

TTA Journal No.157_서체변경.indd

Ç¥Áö

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

Network Programming

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

The Pocket Guide to TCP/IP Sockets: C Version

DBMS & SQL Server Installation Database Laboratory

(Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

제 31회 전국 고교생 문예백일장 산문 부문 심사평.hwp

FileMaker 15 ODBC 및 JDBC 설명서

Microsoft PowerPoint - 10Àå.ppt

Microsoft Word - src.doc

Microsoft Word - 김완석.doc

FileMaker ODBC 및 JDBC 가이드

Microsoft PowerPoint - CSharp-10-예외처리

rosaec_workshop_talk

4S 1차년도 평가 발표자료

RHEV 2.2 인증서 만료 확인 및 갱신

공개 SW 기술지원센터

Install stm32cubemx and st-link utility

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

화해와나눔-여름호(본문)수정

화해와나눔-가을호(본문)

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.


F120S_(Rev1.0)_1130.indd

PowerPoint 프레젠테이션

Windows 8에서 BioStar 1 설치하기

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

슬라이드 1

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

EndNote X2 초급 분당차병원도서실사서최근영 ( )

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap01-C언어개요.pptx

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

윈도우시스템프로그래밍

The Pocket Guide to TCP/IP Sockets: C Version

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

BH의 아이폰 추천 어플

2장 변수와 프로시저 작성하기

JAVA PROGRAMMING 실습 08.다형성

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

vi 사용법

BH의 안드로이드 추천 어플

문서 템플릿

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

놀이동산미아찾기시스템

Cloud Friendly System Architecture

1부

FileMaker ODBC and JDBC Guide

chapter4

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

Portal_9iAS.ppt [읽기 전용]

양정규 라온시큐리티

만약, 업그레이드 도중 실패하게 되면, 배터리를 뺏다 다시 꼽으신 후 전원을 켜면, 안내문구가 나오게 됩니다. 그 상태로 PC 연결 후 업그레이드를 다시 실행하시면 됩니다. 3) 단말을 재부팅합니다. - 리부팅 후에 단말에서 업그레이드를 진행합니다. 업그레이드 과정 중

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

슬라이드 1

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

FileMaker 15 WebDirect 설명서

LU8300_(Rev1.0)_1020.indd

ibmdw_rest_v1.0.ppt

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

[Brochure] KOR_TunA

오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Presentation

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Output file

JVM 메모리구조

슬라이드 1

PowerPoint Template

The Self-Managing Database : Automatic Health Monitoring and Alerting

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Visual Studio online Limited preview 간략하게살펴보기

Transcription:

SNS 어플리케이션 전자통신컴퓨터공학부 2005003673 조성경

개요 안드로이드기반 SNS 어플리케이션 포스트를작성하면서버에업로드다른사용자들과공유 다른사람들의포스트를지도에서확인 외부 SNS(Twitter, Facebook) 과연동 사용자간메시지전송기능

개발환경 사용언어 : Java(Eclipse) DB Server : MySQL Client : SQLite 버전관리 : Subversion(Subclipse) 기타 MySQL Workbench SQLite Database Browser Putty via adb

실행화면 메인메뉴 실행시기기 Unique ID 생성 Gmail 계정과현재시간사용 숫자형태로저장 Gmail 계정 hashcode() * Calendar.getTimeInMills()

실행화면 서버 / 로컬에저장된글리스트 Activity 호출시지정 startactivity(intent) 미리보기사진표시 Gallery 에서 ImageView 로교체 하단 Tab Touch Focus 문제 ImageButton으로구현 TabbedActivity를상속

실행화면 글작성 날씨 / 위치 / 사진첨부 자동 / 수동첨부 Twitter/Facebook 연동 계정등록

실행화면 지도에글리스트아이콘 깃발로표시 풍선미리보기표시 터치시미리보기화면이동 /data/data/[package name]/cache/ 에캐시저장 메시지전달 / 위치정보확인

실행화면 받은메시지함 MessageTable GROUP BY user_id ORDER BY id ASC 사용자별대화내역 Twitter, Facebook Profile 사진사용

서버 - 클라이언트구성도 1. 데이터요청및전송 2. 데이터가져오기및저장 SQLite 저장소 Device A Server SQL 저장소 5. 데이터전송및요청 3. Push 메시지전달요청 SQLite 저장소 Device B Google C2DM 서버 4. Push 메시지전달

주요클래스 ( 클라이언트 ) 데이터클래스 Article 사용자가작성한글, 위치, 날씨정보 (Parcelable 상속 ) Photo 메모리절약을위해 Binary Data 대신파일이름관리 List Adapter ListView에 Item을표시하기위해연결하는 Adapter ArticleAdapter, PhotoAdapter, InboxAdapter, ChatAdapter Database (SQLiteTable) SQLite DB 를조작하는추상클래스 insert(), delete(), update() 등 상속받아사용 ArticleTable, MessageTable, PhotoTable

주요클래스 ( 클라이언트 ) 통신클래스 CommData 통신시데이터를담고있는클래스 ObjectStream을통해전송 직렬화선언 (Serializable) Android의 Parcelable은 PC의 Java와호환되지않음 CommArticle, CommPhoto, GPoint, Message, UserInfo CommRequest 서버에 CommData 를전달하는메서드모음 WrapTwitter, WrapFacebook Twitter 라이브러리와 Facebook SDK 사용편의를위한클래스

주요클래스 ( 클라이언트 ) Activity TabbedActivity, TabbedMapActivity 하단 Tab을구현하기위한 Activity 다른 Activity들이상속받음 TabList 서버 / 클라이언트에서 Article 을받아와표시 TabWrite Article 을작성하여서버 / 클라이언트에저장및 SNS 서비스로내보내기 TabInbox, TabChat 메시지목록및대화화면 BaseWidgets Activity 내부 widget을관리하는추상클래스 init(), registereventlistener() 메서드

주요클래스 ( 클라이언트 ) Preview Map 기타 데이터를미리보여주는클래스 ArticlePreview, WeatherPreview, PhotoPreview TabMap 지도에 Article을표시 TabbedMapActivity를상속 BalloonItemizedOverlay 지도에아이템표시 BalloonLayout 아이템을선택하면풍선을표시 C2DM_BroadcastReceiver C2DM 메시지수신 Pref, Settings App Preference 표시, 복원, 저장

주요클래스 ( 서버 ) CommData SQLTable MySQL DB를조작하는추상클래스 (insert, delete, update 등 ) 상속받아사용 (ArticleTable, C2DM Table, PhotoTable) MyTraceServer While 루프를돌면서클라이언트의접속을기다림 HandleRequest 클라이언트의요청을받아종류를분류 ProcessRequest 요청을처리하고결과를반환

MySQL Table article Article 클래스저장 photo 사진저장 (BLOB) Server c2dm_id Client 의 C2DM registration id 저장 Client

서버 - 클라이언트통신 Device Server Device Server - Article 리스트요청 - Article 업로드 - 다른 Deivce에메시지전송요청 - 주변 Article 리스트요청 - 사진정보, 사용자정보요청등 - Client의요청에대한응답 - Article 리스트전송 - 주변 Article 리스트전송 - 사진정보, 사용자정보전송등 Data Class CommData ObjectStream CommData Object Class 캐스팅후사용

C2DM 메시지전달과정 Google C2DM Server 1. Registration 요청 5. Push 메시지전달 2. Registration ID 발급 4. AuthToken 요청후 Push 메시지전달요청 3. 메시지전달요청 6. 추가데이터통신 3 rd Party Server

C2DM 메시지수신과정 사전등록 AndroidManifest.xml Receiver 에다음 Action 등록 - com.google.android.c2dm.intent.registration - com.google.android.c2dm.intent.receive 수신과정 Push Message BroadcastReceiver onreceive() 메서드 - intent action 수신시처리 RECEIVE 에등록된 APP 에 Broadcast Google C2DM Server Google 서비스 (com.google.process.gapps) 어플리케이션

Twitter/Facebook 연동 인증방법 Basic ID/PW 방식 oauth 서비스인증페이지접속 xauth 서비스업체사전승인후사용 ConsumerKey, SecretKey FaceBookAPPID, SecretCode 인증페이지에서인증 AccessToken, AccessTokenSecret Session, SessionExpire Callback URL 로받아옴 추후사용하기위해저장

Code Obfuscation Code Obfuscation Java 언어특성상 Decompile 이쉬움 M 모 MP3 Player, D 모동영상 Player, C 모다이얼러등 분석도구 APKTool, dex2jar, jad logcat 메시지와함께분석, 변조가능 분석, 변조.smali Proguard.apk classes.dex.class 클래스, 메서드, 변수명을 a, b, cc 등으로변경 코드보안이필요한경우필히적용 디버깅이어려움 ( 이름변환테이블필요, mapping.txt) 분석.java

참고자료 안드로이드 2.3 프로그래밍 / 이준호 / 위키북스 단계별예제로배우는안드로이드프로그래밍 / 한동호 / 제이펍 알짜만골라배우는안드로이드프로그래밍 / 마크머피 / 에이콘 Icon: Coquette (DryIcons) (free) 안드로이드개발자사이트 : http://developer.android.com/index.html 안드로이드펍 : http://www.androidpub.com Twitter4j: http://twitter4j.org/en/index.html Facebook SDK: http://developers.facebook.com/ and http://www.google.com