달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30


1. html 파일 소스 코드

        function uploadPhoto(imageURI) {

            var options = new FileUploadOptions();

            options.chunkedMode = false;

            options.fileKey="file";

            options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);

            options.mimeType="image/jpeg";


            var params = new Object();

            params.value1 = "test";

            params.value2 = "param";


            options.params = params;

        

            var fileTransfer = new FileTransfer();

            fileTransfer.upload(

imageURI, 

"http://192.168.1.3:8080/MobileServer/upload.jsp", 

win, 

fail, 

options

);

        }


2. 서버 소스 코드

ServletFileUpload upload = new ServletFileUpload(factory);

// maximum size before a FileUploadException will be thrown

upload.setSizeMax(5000000);


List<?> fileItems = null;

try{

fileItems = upload.parseRequest(request);

}catch(FileUploadException fue){

fue.printStackTrace();

}


if( fileItems != null ) {

System.out.println();

FileItem fi = null;

for (Object obj : fileItems) {

fi = (FileItem) obj;

if (fi.isFormField()) {

parseFormField(fi);

System.out.println("@" + fi);

} else {

storedFileName = "/upload/_android_" + fi.getName();

fi.write(createStoredFile(storedFileName));

}

}

}


3. 서버쪽 library 파일

 - commons-fileupload-1.2.1.jar

 - commons-httpclient-3.1.jar

 - commons-io-2.0.1.jar


4. 주의할 점

 - 오류가 발생할 경우 FileUploadOptions 의 checkedMode 를 false 로 한다.(꼭 false 로 하지 않아도 된다)

   o chuckedMode

      true  : 서버쪽에 파일을 stream 으로 전송함(HTTP header 에 content-length 설정 안됨)

      false :  파일을 전송하기 전에 메모리에 올려놓고 전송함(HTTP header 에 content-length 설정됨)

 - FIleTransferError.CONNECTION_ERR 오류가 발생할 경우 서버쪽의 로그를 잘 뒤져본다.

   (서버쪽에서 Exception 이 발생해도 이 에러가 발생함)

:
Posted by 뽀기

내가 필요해서 만들게 된 "차계부"

내가 필요한 기능만 추가 ㅋㅋ

Sencha Touch로 처음 만든 앱.

webapp 으로 만들고 app 으로 packaging 하고..

살짝 느린감이 있긴 하지만. 쓸만함 ㅋㅋ



MyCar.apk


:
Posted by 뽀기
2012. 6. 7. 18:17

Mobile 개발 관련 자료 조사 그거/Mobile2012. 6. 7. 18:17

# server javascript library

node.js, Backbone.js(node.js를 이용한 MVC 개발 framework)


# client javascript library

jQuery Mobile, Sencha Touch, JMC(Jindo Mobile Component), Praha.js(미출시)


# node.js

http://nodejs.org


# node.js 로 webapp 만들기

http://blog.doortts.com/207


# node.js 용 MVC framework - Express

http://firejune.io/express/


# node.js 용 MVC framework - backbone.js

http://documentcloud.github.com/backbone/


# jindo

http://helloworld.naver.com/helloworld/74717

http://jindo.dev.naver.com/docs/jindo-mobile/archive/latest/doc/index.html


# jQuery Mobile

http://jquerymobile.com

http://h3.paran.com/2011/session/competitive-mobile-javascript-framework.html

http://www.dbguide.net/knowledge.db?cmd=view&boardUid=14932&boardConfigUid=20&categoryUid=196


# Sencha Touch

https://github.com/KoreaSenchaUserGroup

https://github.com/KoreaSenchaUserGroup/Lab1

http://blog.saltfactory.net/139


# 모바일웹

모바일 해상도의 웹브라우저에 최적화되어 보일 수 있도록 만든 웹.

기존 PC환경의 웹이 1024또는 1280의 해상도에 최적화되어 있기 때문에 모바일에서 보기에는 불편한 점이 많이 있어 모바일 해상도에서 최적화 되어 볼 수 있도록 만들어서 제공하는 것이다. 


# 네이티브 앱

모바일 환경에서 구동할 수 있도록 만든 별도의 프로그램.

아이폰이나 안드로이드폰에 제공되는 기본 어플이나 카카오톡, 푸딩, 날씨, 음악 등 대부분의 모바일 응용프로그램이 이에 속한다. 


# 하이브리드 앱

모바일웹과 모바일앱의 장점을 가져와서 혼합한 형태의 앱이다. 

쉽게 말해서 껍데기는 앱으로 만들고 내용은 웹으로 만든 형태라고 할 수 있다. 


# 웹앱

웹브라우저에서 작동할 수 있도록 만든 앱이다. 

기존의 모바일앱은 (Webkit이 내장된) 브라우저와는 별도로 작동하도록 만들어졌지만 웹앱은 모바일웹 환경에서 구동하도록 만들어 진다.


# Framework

전자정부 모바일 표준 프레임웍


# 개발 툴

Appspresso

Sencha SDK

PhoneGap


# responsive web design

http://naradesign.net/wp/2011/05/27/1483

http://naradesign.net/wp/2012/01/18/1742


# jQuery mobile vs Sencha Touch

http://w3labs.kr/?p=326


# media query

http://naradesign.net/wp/2012/05/30/1823

http://mydeute.com/txp/article/631

IE8 이상 지원


http://dic.daum.net

http://pr.hyundai.com/#/pages/main.aspx


# closure compiler

http://code.google.com/p/closuer-compiler


# Hybrid App 개발 전문가 과정

http://juhoi.tistory.com/52


# javascript garden

http://juhoi.tistory.com/45

http://bonsaiden.github.com/JavaScript-Garden/


# PhoneGap

http://ujeani.wordpress.com/tag/phonegap

웹앱을 네이티브 앱으로 패키징

오픈소스 공짜


# 티타니움

http://www.appcelerator.com

웹앱을 네이티브 앱으로 변환

디바이스 기능을 자체적으로 사용


# 앱스프레스

http://www.appspresso.com

웹앱을 네이티브 앱으로 패키징


# 하이브리드 앱(App), 과연 대안인가?

http://techit.co.kr/3483


# NoSQL DB

MongoDB(C++)


# MongooseJS

http://mongoosejs.com/

Mongoose는 MongoDB와 함께 사용하는 자바스크립트 라이브러리입니다.

Mongoose는 현재 Nodejs 환경에서 작동하도록 설계되어 있으며 비동기 데이터 저장소와 관련된 복잡한 문제들을 해결하는걸 목표로 작성되었습니다.

장점으로 매우 이해하기 쉬운 API를 제공합니다.


:
Posted by 뽀기
2012. 1. 31. 18:33

Android Emulator 에 Proxy 설정하기 그거/Mobile2012. 1. 31. 18:33


방화벽으로 인해 Emulator 에서 internet 이 안될경우 Emulator에 Proxy 를 설정해주면 된다.

# SDK Platform Android 2.2
설정 > 무선 및 네트워크 > 모바일 네트워크 > APN 

Emulator 에서 위 메뉴로 들어가면 항목이 하나 보이는데(나는 TelKila 였음)
해당 항목으로 다시 들어간다.

프록시, 포트 항목이 보이는데 여기에서 proxy 설정을 추가한다.

그러면. 인터넷 잘 된다.
끝.! 
:
Posted by 뽀기

 
XMPP(Extensible Messaging & Presence Protocol)

인스턴트 메신저(IM)를 위한 국제 표준 규격

 
특징
-       XML 기반의 공개형 프로토콜
-       ITEF(Internet Engineering Task Force) 의 RFC-3920, 3921 로 등록
-       login, presence, messaging, chat 등 메세징 서비스를 위한 기본적인 규약 정의
-       지점간의 Audio, Video 통신, Multimedai streaming service 및 Phone 과의 VoIP를 위한 확장 정의
-       GoogleTalk, Facebook, MobileMe 등의 서비스에서 사용


 
XMPP 구성 및 흐름도


 
1.1. XMPP 서버에 접속하여 인증 요청
2.2. 인증된 사용자에 한하여 메시지 송수신 또는 현재 상태 송수신
:
Posted by 뽀기
2011. 6. 8. 14:49

C2DM(Cloud To Device Messaging) 그거/Mobile2011. 6. 8. 14:49

 
C2DM(Cloud To Device Messaging)

 비동기적으로 클라이언트에 메시지를 전달해주는 기능을 제공한다 

특징
-       SDK 2.2 부터 지원
-       C2DM이 메시지 순서에 대해 보장하지 않기 때문에 알림용으로 사용.
-       메시지는 최대 1024byte까지만 전송이 가능함.
-       메시지 개수는 제한이 없지만 전송과 순서는 보장하지 못함

 
C2DM 구성 및 흐름도

 
1.1. Application 이 C2DM 서버에 접속하여 registration ID 를 요청
2.2. C2DM 서버에서 받은 registration ID 를 application server에 전달
3.3. Application server 에서는 device별(사용자별) registraion ID 를 관리
4.4. 변경사항 발생 시 application server 에서 registration ID 별로 C2DM 서버에 메시지 전송 요청
5.5. C2DM 서버에서는 요청을 받아서 각 registration ID에 해당하는 Device에 메시지 전송


:
Posted by 뽀기
Titanium Mobile SDK 설치 후
예제인 KitchenSink를 실행해보려고 했더니, 
아래와 같은 오류가 발생한다.

You need to specify your Android SDK location!
Please go to the Edit Profile tab under the Profile perspective to set this value.

Android SDK를 설정하란 소린데...
이미 설치되어 있는 Android SDK를 설정하면

Couldn't find abd.exe or android.bat in your SDK's "tools" directory.
You may need to install a newer version of the SDK tools.
요런 에러가 나는 경우가 있는데....
찾아보니. Android SDK 의 구조가 변경되서 그런거라고. 아래와 같이 조치하면 된다고 한다.

cd C:\Program Files (x86)\Android\android-sdk-windows\tools
mklink adb.exe ..\platform-tools\adb.exe
mklink AdbWinApi.dll ..\platform-tools\AdbWinApi.dll
tools 밑의 adb.exe 파일을 찾고 있으니 
platform-tools 밑의 adb.exe 의 링크를 만들어주면 된다는 얘기.
아니면. adb.exe 파일을 tools 디렉토리 밑으로 복사해도 된다고 한다.

단!
Android SDK 를 update 할 때마다 이걸 해줘야 된다는거. ㅋㅋ

:
Posted by 뽀기