coolsharp의 놀이터

mac에서 안드로이드 환경변수를 저장하기 위해서는 다음과 같은 절차가 필요함

터미널을 열음
입력 : touch .bash_profile
입력 : open -e .bash_profile

메모장에 다음 내용을 타이핑
export ANDROID_SDK_ROOT="/Applications/eclipse/android-sdk-mac_x86"
PATH="$PATH:$ANDROID_SDK_ROOT/platform-tools"

Posted by coolsharp_backup

이클립스를 쓰면서 가장 아쉬웠던 점은 델파이처럼 북마크를 자유롭게 사용하기가 어려워 북마크 기능을 쓰지 못하였던 점 입니다.

하지만 이클립스의 특유의 장점(지금은 비주얼 스튜디오에도 도입이 되었지만) 플러그인을 설치하면 북마크의 불편함을 단방에 해결 할 수 있습니다.

먼저 Help>Install New Software…을 선택합니다.

아래 주소를 입력 합니다.

http://eclipse.etc.to/updates/

Group items bt category를 체크 해제 후

Eclipse Quick Bookmarks를 선택합니다.

그리고 설치를 진행 합니다.

 

마지막으로 북마크 사용법은 다음과 같습니다.

Alt + 숫자키(해당 숫자의 번 북마크 기억 및 해제)

Alt + Shift + 숫자키(해당 숫자의 북마크로 가기)

Alt + B(북마크 기억 및 해제)

Alt + N(다음 북마크)

Alt + P(이전 북마크)

Posted by coolsharp_backup

이클립스 자동 완성

2011. 10. 11. 14:37 : 개발

자동완성은 Alt + Shift + J

  

  

Comment > Types

  

/**
* @version 1.0
* @author coolsharp
* @date ${date}
*/

  

Comment > Methods

  

/**
* @version 1.0
* ${tags}
* @date ${date}
*/

  

Comment > Override Methods

  

/**
* @version 1.0
* ${tags}
* @date ${date}
* ${see_to_overridden}
*/

  

Code>New Java files

  

/*
* Copyright coolsharp., All rights reserved.
*
* This software is the confidential and proprietary information of coolsharp. ("Confidential Information").
*
* @date ${date} ${time}
* @version 1.0
* @author ${user}
*/

 

Posted by coolsharp_backup

cocos2d

2011. 10. 10. 16:57 : 개발

공식 사이트

http://code.google.com/p/cocos2d-android

 

ZhouWeikuan 새롭게 만든 사이트

 

http://code.google.com/p/cocos2d-android-1/

 

source code

 

https://github.com/ZhouWeikuan/cocos2d

 

필수 요소

 

1. cocos2d 템플릿 : cocos2d-template-updated.zip

2. cocos2d 라이브러리 : cocos2d-android.jar

Posted by coolsharp_backup

----- 3D Android Game Engines ---------------------------------------

• Untity3D 3.0
http://unity3d.com/
(Early build)

• Airplay SDK 4.2
http://www.airplaysdk.com/index.php

• ShiVa3D (Beta Version)
http://www.stonetrip.com/mobile-publishing.html

• DX Studio
http://www.dxstudio.com/news.aspx?newsid=12fd905c-36d7-4823-...
(in Entwicklung)

• Angekündigt: Unreal Development Kit (Unreal Engine 3)
http://udk.com/


-----2D Android Game Engines ---------------------------------------

• Cuttlefish Engine
http://www.cuttlefishengine.com/ (in Entwicklung)

• Rokon 2D Game Engine
http://rokonandroid.com/

• Corona Game Edition
http://anscamobile.com/corona/games/index.html

• AndEngine
http://www.andengine.org/

• candroidengine
http://code.google.com/p/candroidengine/

• Google App Inventor
http://appinventor.googlelabs.com/about/

• Mages Engine (reported errors)
http://code.google.com/p/mages/

----- Webbased Game Engines & Specials ------------------------------------------------

• Flash 10.1/Air
http://labs.adobe.com/technologies/air2/android/#examples
(benötigt mind. Android 2.2)

• Aves Engine
http://www.dextrose.com/projekte/aves-engine/index.html

• jMonkeyEngine
http://www.jmonkeyengine.com/

출처 : https://www.xing.com/net/androids/android-game-engines-engines-list-553242/android-game-engines-engines-list-29951892/32732345/#32732345

Rokon : http://rokonandroid.com/ http://code.google.com/p/rokon/

Libgdx : http://code.google.com/p/libgdx/

Android-2D-Engine : http://code.google.com/p/android-2d-engine/

AndEngine : http://code.google.com/p/andengine/

Angle : http://code.google.com/p/angle/

jPCT-AE : http://www.jpct.net/jpct-ae/

Dwarf-fw : http://code.google.com/p/dwarf-fw/

YoghurtGum : http://code.google.com/p/yoghurtgum/

Forget3D : http://code.google.com/p/forget3d/

Mages : http://code.google.com/p/mages/

jMonkeyEngine : http://code.google.com/p/jmonkeyengine/ http://www.jmonkeyengine.com/

Catcake : http://code.google.com/p/catcake/

Alien3D : http://code.google.com/p/alien3d/

Lgame : http://code.google.com/p/loon-simple/

Posted by coolsharp_backup

안드로이드 x86 설치 후 NAT로 디버깅 연결시 연결이 안되는 문제가 있습니다.

 

이 문제는 포트 포워드로 해결 할 수 있습니다.

 

Posted by coolsharp_backup

Visual Studio Code Align

2011. 9. 20. 18:02 : 개발

델파이 사용때 가장 유용하게 사용했던 것이 Gexperts라는 것이 있습니다.

이중 저는 코드Align을 가장 유용하게 사용했습니다.

코드의 정렬을 통해 개발 및 향 후 유지보수를 더욱 좋게 할 수 있기 때문 입니다.

비쥬얼 스튜디오에 이런 기능이 아쉬워 찾던 중 딱 맞는 툴을 찾아 공유해 드립니다.

우선 AddIn을 설치해야 합니다.

확장 관리자는 이클립스의 마켓 처럼 쉽게 설치를 도와 주는 관리자 입니다.

비주얼 스튜디오 몇부터 지원 되는지는 모르지만 비주얼 스튜디오의 편리함이 한층 더 돋보입니다.

델파이도 이런 기능이 있으면 정말 좋을 듯 하네요.

이런 방식의 AddIn설치는 파이어폭스가 많은 사용자를 확보 할 수 있는 최대의 무기였습니다.

온라인 갤러리를 선택 후 검색에 align을 검색합니다.

위의 그림처럼 검색 결과가 나오면 다운로드를 클릭한 후 재 시작 합니다.

테스트를 해 보겠습니다.

코드 정렬을 하고 싶은 부분을 블록 지정 합니다.

Shift + Ctrl + = 키를 입력 합니다.

위와 같은 다이얼로그가 나오면 정렬 기준 문자를 입력합니다.

위 그림처럼 정렬이 깨끗이 이루어 졌습니다.

Posted by coolsharp_backup

Visual AssistX를 이용하면 쉽게 코드 이름 변경이 가능합니다.

 

우선 리네임 할 코드를 선택합니다.

 

 

Shift + Alt + R 키를 누르면 다음과 같은 다이얼로그 박스가 뜹니다.

 

 

리네임 할 이름으로 변경 합니다.

 

엔터를 치면 다음과 같이 해당 소스가 모두 리네임 됩니다.

 

Posted by coolsharp_backup

Visual Assist X 기본 설정

2011. 9. 20. 15:58 : 개발

향 후 다시 셋팅할때를 대비하여 제 취향의 Visual Assist X 설정에 대해 기록해 둡니다.

기본 문법 하이라이팅과 겹치므로 체크를 해제 합니다.

한글 주석에 대해 오류로 처리하므로 소스가 보기 불편합니다.

이 부분도 체크를 해제 합니다.

색에 이질감이 있으므로 색을 재 설정 합니다.

Posted by coolsharp_backup

비쥬얼 스튜디오를 사용하며 단축키를 정리한다.

 

Ctrl + K + K 북마크 추가

Ctrl + K + N 북마크 이동

Ctrl + K + W 북마크 리스트 보기

Ctrl + K + C 코맨트 처리

Ctrl + K + U 언코맨트

Posted by coolsharp_backup
ARM용 Linux Binary를 Build하기 위해 리눅스에 toolchain을 설치하거나 cygwin을 이용하여 윈도우에서 빌드하는 방법을 사용할 수 있습니다.

하지만 윈도우 환경에서 바로 ARM용 Binary를 Build할 수 있는 방법이 있어 소개해 드립니다.

다음 사이트에 가시면 윈도우용 toolchain이 있습니다.

다운로드


GNU/Linux를 설치하시면 됩니다.
Posted by coolsharp_backup
C# 프로그래밍 중 한폼에 다른 폼을 도킹해야 할 필요가 있을 때가 있다.

이때 다음과 같이 코드를 작성하면 된다.

            frmApplicationInfo ap = new frmApplicationInfo();
            AddOwnedForm(ap);
            ap.MdiParent = this;
            ap.Parent = pnlMain;
            ap.Dock = DockStyle.Fill;
            ap.Show();

Posted by coolsharp_backup
◇ 삼바 설치
sudo apt-get install samba smbfs
◇ 삼바 GUI 설치
sudo apt-get install system-config-samaba

◇ 삼바 사용자 추가 및 삭제
sudo smbpasswd -a USER_ID
sudo smbpasswd -x USER_ID

sudo vi /etc/samba/smbusers 에 사용자 데이터 있음


◇ 삼바 설정
sudo vi /etc/samba/smb.conf

[USER_ID]
    comment = Home directory
    path = /home/USER_ID
    writeable = yes
    browseable = no
    valid users = USER_ID

◇ 삼바 재시작
sudo /etc/init.d/samba restart




Posted by coolsharp_backup

Eclipse 테마

2011. 3. 17. 12:43 : 개발
이클립스 테마 입니다.


플러그인 타입으로 추가할 수 있습니다.

http://www.eclipsecolorthemes.org/
Posted by coolsharp_backup

Visual Studio 테마

2011. 3. 17. 12:36 : 개발
아래 델파이 테마에 이은 Visual Stuio 테마 입니다.

유명한 코드 프로젝트 사이트에서 배포 중 입니다.



http://www.codeproject.com/KB/tips/Visual_Studio_Themes.aspx
Posted by coolsharp_backup

델파이 코드 테마 툴

2011. 3. 17. 12:34 : 개발
오랜만에 포스팅을 합니다.

오늘은 개발자 분들께 유용한 정보를 하나 드리겠습니다.

델파이 코드 테마 툴 입니다.

코드를 작업할 때 가독성이라는 것이 중요한데 가독성을 높이기 위해서 코드 테마를 설정합니다.

모두 제 눈에 안경이라고 자기자신에게 맞는 테마가 있습니다.

이런 테마들을 누군가 만들어서 웹에 공유하면 자신과 비슷한 취향의 테마를 쉽게 적용할 수 있습니다.



아래 사이트에서 다운로드 받으실 수 있습니다.

http://theroadtodelphi.wordpress.com/2011/03/14/is-your-delphi-ide-hot-or-not-introducing-the-delphi-ide-theme-editor/

Posted by coolsharp_backup
안드로이드에서 문자열을 리소스로 관리하려면 res/value/string.xml에 문자열을 입력하면 됩니다.

하지만 이 xml에는 단일 문자열 및 특수기호가 포함되지 않은 문자열을 추가할 수 없습니다.

XML 문법의 규칙에 <.>등의 문자는 바로 적용을 할 수가 없기 때문이죠.

하지만 불가능 한 것은 아닙니다. 특수문자를 처리할 수 있는 다른 방법으로 대입을 할 수가 있죠.

예를 들어 &lt;&rt;등으로 표현 할 수 있습니다.

하지만 이렇게 문자열을 관리하면 직관적이지도 않을 뿐더러 관리에 어려움이 많습니다.

XML문법에는 CDATA라는 문법이 있습니다.

CDATA 섹션안에 문자를 집어 넣으면 어떤 문자라도 표현이 가능 합니다.

즉, 특수 문자등을 표현하려면 CDATA를 이용하여 표현 할 수 있는 것이죠.

<![CDATA[
특수문자$%#^&$%*%^*$%^*^&$#%^#$@#$%@<>><><><>
줄넘김도 가능
]]>


이렇게 처리된 문자는 모두 그대로 XML에 담을 수 있습니다.

자 대충 이런것이 있으니 써먹어야겠죠?

어떻게 써먹어야 할까요?

안드로이드 프로그래밍을 하다보면 문자열을 담아두어야 할 필요가 있을 것 입니다.

예를 들어, 웹페이지의 기본 태그 정보등을 문자열 리소스로 담아 두는 것이 그 한 예가 될 수 있겠네요.

다음과 같은 문자열이 있다고 합시다.

        String msg = "이런들 어떠하며 저런들 어떠하리.";
        msg += "만수산 드렁칡이 얽혀진들 그 어떠하리";
        :
        msg += "";


안드로이드에서 문자열 소스 코드에 담아 유지하면 소스가 길어질 뿐 아니라 유지보수에도 어려움이 있습니다.

그런 코드를 다음과 같이 xml을 만들어 관리를 합니다.

1. 우선 res폴더 및에 xml이라는 폴더를 만듭니다.

2. xml 폴더 및에 stringresoure.xml이라는 xml 파일을 만듭니다.

xml에 다음과 같이 입력합니다.

<?xml version="1.0" encoding="utf-8"?>
<coolsharp>
<Data>
<![CDATA[
이런들 어떠하며 저런들 어떠하리.
만수산 드렁칡이 얽혀진들 그 어떠하리
(중략)
]]>
</Data>
</coolsharp>

해당 xml을 어떻게 리소스에서 가져오는지 다음 코드를 참고하세요.

import java.io.IOException;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

import android.content.Context;
import android.content.res.XmlResourceParser;
import enspert.com.ips.phonemanager.R;

public class XMLManager {
    public String getXMLData(Context AContext, String AName) {
        XmlResourceParser parser = AContext.getResources().getXml(
                R.xml.template); // 리소스에 XML 데이터를 추가함 (res.폴더.xml파일)

        try {
            int eventType = parser.getEventType();

            while (eventType != XmlPullParser.END_DOCUMENT) {
                String name = null;

                switch (eventType) {
                case XmlPullParser.START_TAG:
                    name = parser.getName().toLowerCase();

                    if (name.equals(AName)) { // 이름이 같은 XML을 찾으면
                        // Attribute를 찾을때는 아래 코드 이용
                        // for (int i = 0;i < parser.getAttributeCount();i++) {
                        // String attribute =
                        // parser.getAttributeName(i).toLowerCase();
                        // if (attribute.equals("myattribute")) {
                        // String value = parser.getAttributeValue(i);
                        // return value;
                        // }
                        // }
                    }
                case XmlPullParser.CDSECT:
                    name = parser.getName();
                    if (name.equals(AName)) { // 이름이 같은 XML을 찾으면
                        parser.nextToken();
                        return parser.getText();
                    }
                case XmlPullParser.END_TAG:
                    name = parser.getName();
                    break;
                }

                eventType = parser.next();
            }
        } catch (XmlPullParserException e) {
            throw new RuntimeException("Cannot parse XML");
        } catch (IOException e) {
            throw new RuntimeException("Cannot parse XML");
        } finally {
            parser.close();
        }
        return "";
    }
}

이제 어떻게 사용하는지 봅시다.

XMLManager xml = new XMLManage();
xml.getXMLData( context, "Data");

다음과 같은 두 줄로 해당 문자열을 확인할 수 있습니다.

Posted by coolsharp_backup
우선 안드로이드 ADB Shell로 접속 합니다.
adb shell

안드로이드 Shell로 접속이 되면 다음에는 DB 디렉토리로 이동합니다.

# cd /data/data/com.android.providers.media/databases
cd /data/data/com.android.providers.media/databases
# ls
ls
internal.db
external-1b.db

DB가 있는것을 확인한 후
exit로 탈출하고

cmd에서 다음과 같이 파일을 땡깁니다.

F:\Download>adb pull /data/data/com.android.providers.media/databases/internal.d
b .
1045 KB/s (47104 bytes in 0.044s)

받은 파일을 sqlite관련 툴로 분석하면 됩니다.
Posted by coolsharp_backup

private void ExternalStorageCheck() {

        String state = Environment.getExternalStorageState();

 

        if (Environment.MEDIA_MOUNTED.equals(state)) {

            // We can read and write the media

            Log.i( "coolsharp", "마운트 되어 있고 쓰기도 가능함");

        } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {

            // We can only read the media

            Log.i( "coolsharp", "마운트 되어 있지만 읽기 전용");

        } else {

            // Something else is wrong. It may be one of many other states, but all we need

            //  to know is we can neither read nor write

            Log.i( "coolsharp", "마운트 되어 있지 않음");

        }

    }

Posted by coolsharp_backup

Eclipse 단축키 Tip

2010. 11. 1. 13:30 : 개발
EClipse 단축키를 아는대로 계속 페이지 갱신을 하도록 할 예정 입니다.

1. 탭 전환
Ctrl + PageUp, PageDown
2. import 자동 생성
Ctrl + Shift + O, N
3. Debuf Trace
F5 : Into
F6 : Over
F7 : Return
Ctrl + F2 : 종료


팁은 아는대로 계속 추가 예정
Posted by coolsharp_backup
안드로이드 개발자분들 개발한 앱을 테스트 하기 위해 보통 다음과 같은 2가지 방법을 사용합니다.

1. 안드로이드 단말을 이용
가장 이상적인 경우지만 실제 돈이 들어가는 것 때문에 구입을 망설이게 됩니다.

2. 구글에서 제공해 주는 안드로이드 버추얼 디바이스를 이용
대부분이 많이 쓰시는 테스트 방법일 것 입니다.
속도가 너무 느리다는 단점이 있습니다.

속도가 빠르면서 돈이 들지 않는 방법이 없을까 고민하시는 분들께 다음과 같은 방법을 소개합니다.

가상 머신에 안드로이드를 설치하여 테스트 하는 방법 입니다.

우선 다음 사이트에 가서 안드로이드 2.2 Froyo 설치 image를 다운로드 받습니다.

http://sites.google.com/site/androbox73/download

설치 방법은 다음 이미지 순서대로 진행 하시면 됩니다.












































Posted by coolsharp_backup