2012년 2월 7일 화요일

Full Screen enabler for Eclipse 3.6/3.7 on OSX Lion

Mac OS X에서 이클립스를 Full Screen으로 사용하는 방법입니다.
기본적으로 eclipse를 설치하게 되면 Mac OS X에서 제공하는 Full Screen 전환 기능을 제공하지는 않습니다.

Eclipse를 설치하고 실행하면 Mac OS X Lion에서 제공하는 Full Screen으로 전환하는 아이콘이 지원되지 않는다.
Mac OS X에서 제공하는 편리한 Full Screen 기능을 사용하기 위해서는 Eclipse 마켓플레이스에서 "Full Screen"으로 검색한다.

Eclipse Help메뉴에서 Eclipse Maketplace...를 선택한다.














Search 탭에서 검색어로 "Full Screen"을 입력 후 Go 버튼을 클릭하면 Full Screen enabler for Eclipse 3.6/3.7 on OSX Lion의 "Install"버튼을 클릭한다.



















"Next"버튼을 클릭해서 설치한다.





















이렇게 설치 후 Eclipse를 재시작 하면 Eclipse 우측 상단에 Full Screen전환 아이콘이 나타나며, Eclipse를 Full Screen에서 사용할 수 있게 된다.








2012년 1월 11일 수요일

Android에서 Phonegap 사용

먼저 이클립스와 안드로이드 SDK를 설치한다.
Eclipse 3.4 이상 버전을 지원한다.
Download and install - Eclipse Classic

안드로이드 관련 SDK와 ADT Plugin을 설치한다.
Download and install - Android SDK

Download and install - ADT Plugin

이클립스와 Android SDK 및 ADT Plugin 설치가 완료 되면, 최신 PhoneGap을 다운로드 받기 위해서 아래의 사이트로 이동한다.
http://phonegap.com

다운로드한 압축 파일을 특정 폴더에 압축을 푼다.













안드로이드 SDK 설치와 이클립스 설정을 완료한 후에 프로젝트 생성을 한다.
이클립스를 구동해서 File 메뉴 아래의 New > Other 메뉴를 클릭해서 Android Project를 선택한다.




Next> 버튼을 클릭해서 다음으로 넘어간다.












프로젝트 명칭은 지정하며, 여기서는 프로젝트 명칭을 HelloPhoneGap 지정한다.

Next> 버튼을 클릭해서 다음으로 넘어간다.

















안드로이드 버전을 선택한다. 여기서는 최신 버전인 Android 4.0.3을 선택.
Next> 버튼을 클릭해서 다음으로 넘어간다.














Application Name을 Hello로 지정
Package Name은 com.phonegap.hello로 지정
Creative Activity를 체크(Default로 체크되어 있음)하고 Activity 명칭을 HelloActivity로 지정
Minimum SDK를 8(Android 2.2)로 지정 후 우측 하단의 Finish 버튼을 클릭해서 프로젝트를 생성한다.












프로젝트 생성 후 Project Root폴더에 2개의 폴더를 추가로 생성한다.

Project Root 폴더 바로 아래에 libs폴더를 추가
Project Root 폴더 아래의 assets 폴더 아래에 www 폴더를 추가










압축을 풀었던 PhoneGap파일의 Android폴더 아래를 펼쳐서 파일을 프로젝트 폴더에 복사를 한다.
1. phonegap.js 파일을 Project Root 폴더 아래의 assets/www 폴더에 복사한다.
2. phonegap.jar 파일을 Project Root 폴더 아래의 libs 폴더에 복사한다.
3. xml 폴더 전체를 Project Root 폴더 아래의 res 폴더에 복사한다.

* phonegap-1.3.0.jar 파일을 HelloPhoneGap Project의 Java Build Path에 포함시켜야 한다.















Project 내의 src 폴더 아래에 있는 HelloActivity.java 파일을 더블 클릭해서 파일을 연다.










1. HelloActivity가 상속했던 Activity 클래스를 DroidGap 클래스로 대치한다.
    이때 com.phonegap.Droidgap을 import 한다.
2. 기존의 setContentView(R.layout.main)을 super.loadUrl("file:///android_asset/www/index.html")으로 변경한다.
3. 기존에 있는 import android.app.Activity를 삭제한다.

AndroidManifest.xml 파일을 열어서 내용을 추가하도록 한다.
추가해야 할 사항은 붉은색으로 표시를 했다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.phonegap.hello"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:resizeable="true"
        android:anyDensity="true"/>
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".HelloActivity"
            android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.phonegap.DroidGap" android:label="@string/app_name" 
                     android:configChanges="orientation|keyboardHidden"> 
        <intent-filter> </intent-filter> 
    </activity>
    </application>
</manifest>

Project 내의 /assets/www 폴더 아래에 새로운 파일(New > File)을 index.html로 생성한다.
index.html 파일에 아래의 내용을 추가한 후에 저장하도록 한다.

<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>

Project를 선택 후 우측 마우스 버튼을 클릭해서  Run As > Android Application 선택한다.


















애뮬레이터가 구동되면서 실행된 화면이 Display 된다.


2011년 12월 27일 화요일

객체지향 SW 설계의 원칙

객체지향 기술은 어느 날 갑자기 만들어진 것이라기 보다는 점진적으로 발전해온 기술이라고 볼 수 있다.
그렇기에 객체지향 프로그래밍 언어의 종류도 다양하고 객체 지향 기술을 받아들이고 적용하는 관점과 기법도 나름 차이가 있기 마련이다. 그럼에도 객체지향이라고 묶을 수 있는 것은 나름의 특징이 있다.
이러한 객체지향 Software를 설계하기 위한 객체지향 설계 원칙(SOLID)이 있다.
SOLID는 아래의 5가지 원칙의 첫 글자를 따서 만든 것이다.