2011년 6월 21일 화요일
2011년 6월 14일 화요일
[안드로이드] 전체화면(풀스크린) 으로 앱 생성하기
엑티비티의 onCreate() 메쏘드에 아래와 같이 생성하면 된다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 풀스크린 레이아웃
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 메인 뷰 생성
setContentView(new WallpaperView(this));
}
이렇게 하면 상태표시바가 없는,
화면에 가득찬 상태로 앱이 표시 되게 된다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 풀스크린 레이아웃
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 메인 뷰 생성
setContentView(new WallpaperView(this));
}
이렇게 하면 상태표시바가 없는,
화면에 가득찬 상태로 앱이 표시 되게 된다.
2011년 6월 9일 목요일
[VBScript] 구조체(클래스) 생성
아무래도 이쁘게 짜려면(노가다 안하려면) 구조체가 필수다.
구조체에 해당하는게 Class 인데 일반적인 OOP의 Class 와 비교하면 초라하다.
그냥 구조체 처럼 쓸수 있다고 생각하면 된다.
메쏘드(?)는 지원 되나 아직 안써봄 ㅋㅋ
Class TestClass
Dim Member1
Dim Member2
Dim ArrayMember(5) ' 배열도 있을수 있다.
Dim TestClass2 ' 클래스가 멤버 일수도 있다.
End Class
' 인스턴스 생성
Set Instace1 = New TestClass ' New 키워드를 이용해 인스턴스를 생성 할수 있다.
Set Instace1 = Nothing ' Null Point 같은 개념, 해주면 메모리 관리에 도움이 된다.
오브젝트에 다른 오브젝트를 대입 할때는 Set 을 써줘야 한다.
함수의 리턴 값으로 오브젝트를 리턴 한다면 아래와 같이 하면 된다.
Function TestEunc1()
Instace1.Member1 = 3245
' 리턴값으로 오브젝트를 대입
Set TestEunc1 = Instace1
End Function
끝~
구조체에 해당하는게 Class 인데 일반적인 OOP의 Class 와 비교하면 초라하다.
그냥 구조체 처럼 쓸수 있다고 생각하면 된다.
메쏘드(?)는 지원 되나 아직 안써봄 ㅋㅋ
Class TestClass
Dim Member1
Dim Member2
Dim ArrayMember(5) ' 배열도 있을수 있다.
Dim TestClass2 ' 클래스가 멤버 일수도 있다.
End Class
' 인스턴스 생성
Set Instace1 = New TestClass ' New 키워드를 이용해 인스턴스를 생성 할수 있다.
Set Instace1 = Nothing ' Null Point 같은 개념, 해주면 메모리 관리에 도움이 된다.
오브젝트에 다른 오브젝트를 대입 할때는 Set 을 써줘야 한다.
함수의 리턴 값으로 오브젝트를 리턴 한다면 아래와 같이 하면 된다.
Function TestEunc1()
Instace1.Member1 = 3245
' 리턴값으로 오브젝트를 대입
Set TestEunc1 = Instace1
End Function
끝~
[VBScript] 함수 선언 하는법
어쩌다 보니 VBScript를 하게 되었다;;
까묵지 않기 위해 정리 해둔다.
함수 선언
Function TestFunction(ByVal Arg1, ByRef Arg2)
If Arg1 = "CDEF" Then
TestFunction = "GHIJ"
' return에 해당
Exit Function
End If
' 리턴값 지정
TestFunction = "ABCD"
End Function
' ByVal - 값에 의한 호출
' ByRef - 참조에 의한 호출
VBScript엔 타입이 존재하지 않는다.
그걸 모르고 ByVal 를 처음 보았을땐
"타입이 값에 따라 가변으로 정해지는 건가??"
생각 했었는데 --;;; 아니더라....
까묵지 않기 위해 정리 해둔다.
함수 선언
Function TestFunction(ByVal Arg1, ByRef Arg2)
If Arg1 = "CDEF" Then
TestFunction = "GHIJ"
' return에 해당
Exit Function
End If
' 리턴값 지정
TestFunction = "ABCD"
End Function
' ByVal - 값에 의한 호출
' ByRef - 참조에 의한 호출
VBScript엔 타입이 존재하지 않는다.
그걸 모르고 ByVal 를 처음 보았을땐
"타입이 값에 따라 가변으로 정해지는 건가??"
생각 했었는데 --;;; 아니더라....
2011년 2월 26일 토요일
Android - VMware를 이용한 우분투64 에서 안드로이드 커널 빌드 오류2
기쁜 마음에
make 를 수행하면 빌드가 진행 된다.
한참 뒤 화면이 멈춘듯 하지만.... 하드디스크가 바쁘게 움직인다.
그러다 수분뒤 다음과 같은 에러가 난다면...
target Dex: core
make: *** [out/target/common/obj/JAVA_LIBRARYIES/core_intermediates/classes.dex] Killed
이는 메모리 부족으로 인한 오류로,
안드로이드 커널 빌드 요구 사항이 보면 램 1.5기가 하드디스크 10기가 이상으로 명시 되어 있다.
VMware Player를 열어 다음과 같이 설정 하므로써 메모리와 저장 공간을 확보 하자.
참고로 VMware Player 의 가상머신을 종료 하고 하지 않으면 설정을 변경 할 수 없을 수도 있으니 확실히 shut down 해줘야 한다.
VMware Player 를 실행해 가상머신을 선택 후 Virtual Machine Settings... 를 선택한다.
메모리 항목을 선택해 1.5GB(1536MB) 이상으로 설정해 준다.
다음으로 하드디스크를 선택 후 유틸리티-> Expand Disk Capacity 에서 넉넉히 20GB 이상으로 설정 해 준다.
겸사겸사 프로세서를 4개로 늘려 줬다 ㅋㅋ
기분 탓인지 빨라진듯도 하다.
빌드창 올라가는걸 보니 미드 보다 재밌다~
make 를 수행하면 빌드가 진행 된다.
한참 뒤 화면이 멈춘듯 하지만.... 하드디스크가 바쁘게 움직인다.
그러다 수분뒤 다음과 같은 에러가 난다면...
target Dex: core
make: *** [out/target/common/obj/JAVA_LIBRARYIES/core_intermediates/classes.dex] Killed
이는 메모리 부족으로 인한 오류로,
안드로이드 커널 빌드 요구 사항이 보면 램 1.5기가 하드디스크 10기가 이상으로 명시 되어 있다.
VMware Player를 열어 다음과 같이 설정 하므로써 메모리와 저장 공간을 확보 하자.
참고로 VMware Player 의 가상머신을 종료 하고 하지 않으면 설정을 변경 할 수 없을 수도 있으니 확실히 shut down 해줘야 한다.
VMware Player 를 실행해 가상머신을 선택 후 Virtual Machine Settings... 를 선택한다.
메모리 항목을 선택해 1.5GB(1536MB) 이상으로 설정해 준다.
다음으로 하드디스크를 선택 후 유틸리티-> Expand Disk Capacity 에서 넉넉히 20GB 이상으로 설정 해 준다.
겸사겸사 프로세서를 4개로 늘려 줬다 ㅋㅋ
기분 탓인지 빨라진듯도 하다.
빌드창 올라가는걸 보니 미드 보다 재밌다~
2011년 2월 25일 금요일
Android - unbuntu 10.10 64비트 커널에서 빌드 make 오류
먼저 본인은 리눅스 쌩초짜 임을 밝혀 둡니다 --;;
여전히 안드로이드 커널이 빌드중에 오류를 내뱉는다.
아래는 에러 메시지~
hermina@ubuntu:~/mydroid$ make
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2.1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRG83
============================================
host C: acp <= build/tools/acp/acp.c
In file included from /usr/include/features.h:387,
from /usr/include/stdlib.h:25,
from build/tools/acp/acp.c:11:
/usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] Error 1
뭐 이젠 척보기에도 리눅스를 64비트 버젼으로 깔았고
안드로이드 프레임웍 소스는 32비트를 받았기 때문이라는 삘이 온다.
gnu/stubs-32.h 파일이 없는 거군...
HOST_ARCH=x86 로 되어 있는걸로 보아 값을 x64라던가 비슷한 값으로 바꾸면
쉽게 될것 같은 냄새가 난다 ㅋㅋㅋ
우선 HOST_ARCH=x86의 값이 어디 있는지 알아 보기로 했다.
금방은 못찾겠어서;;;
make HOST_ARCH=x64
요렇게 해보았다.
build/core/combo/select.mk:61: build/core/combo/HOST_linux-x64.mk: No such file or directory
/bin/bash: prebuilt/linux-x64/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: No such file or directory
build/core/definitions.mk:1659: *** HOST_OS must define get-file-size. Stop.
오우 노우~
그럼 다음 방법~
gnu/stubs-32.h 가 있도록 해보자...
뭐 우선 패키지인가? 설치 해보자.
구글님이 libc6-dev-i386이라신다 당장 설치해 보자
sudo apt-get install libc6-dev-i386
오우 노우~
또 에러 ㅋㅋ
.......
.......
.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
구글님께 다시 여쭤 보니
http://source.android.com/source/download.html
64비트일 경우의 필요 유틸들을 다 적어 놨다.
확인 후 빠진 녀석을 체크 하자.
(참고 하던 책은 32비트 기준으로만 설명이 되어 있었다.)
여전히 안드로이드 커널이 빌드중에 오류를 내뱉는다.
아래는 에러 메시지~
hermina@ubuntu:~/mydroid$ make
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2.1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRG83
============================================
host C: acp <= build/tools/acp/acp.c
In file included from /usr/include/features.h:387,
from /usr/include/stdlib.h:25,
from build/tools/acp/acp.c:11:
/usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] Error 1
뭐 이젠 척보기에도 리눅스를 64비트 버젼으로 깔았고
안드로이드 프레임웍 소스는 32비트를 받았기 때문이라는 삘이 온다.
gnu/stubs-32.h 파일이 없는 거군...
HOST_ARCH=x86 로 되어 있는걸로 보아 값을 x64라던가 비슷한 값으로 바꾸면
쉽게 될것 같은 냄새가 난다 ㅋㅋㅋ
우선 HOST_ARCH=x86의 값이 어디 있는지 알아 보기로 했다.
금방은 못찾겠어서;;;
make HOST_ARCH=x64
요렇게 해보았다.
build/core/combo/select.mk:61: build/core/combo/HOST_linux-x64.mk: No such file or directory
/bin/bash: prebuilt/linux-x64/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: No such file or directory
build/core/definitions.mk:1659: *** HOST_OS must define get-file-size. Stop.
오우 노우~
그럼 다음 방법~
gnu/stubs-32.h 가 있도록 해보자...
뭐 우선 패키지인가? 설치 해보자.
구글님이 libc6-dev-i386이라신다 당장 설치해 보자
sudo apt-get install libc6-dev-i386
오우 노우~
또 에러 ㅋㅋ
.......
.......
.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
구글님께 다시 여쭤 보니
http://source.android.com/source/download.html
64비트일 경우의 필요 유틸들을 다 적어 놨다.
확인 후 빠진 녀석을 체크 하자.
(참고 하던 책은 32비트 기준으로만 설명이 되어 있었다.)
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
sudo update-java-alternatives -s java-1.5.0-sun
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
sudo update-java-alternatives -s java-1.5.0-sun
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
2011년 2월 23일 수요일
Android - Failed to create the SD card 해결
- 원인
64비트 리눅스가 깔린 상태에서 32비트 안드로이드 SDK를 설치,
따라서 SD카드를 할당하는데 쓰이는 ia32-libs 패키지가 디폴트로 존제 하지 않으므로 발생하는 에러
- 해결방법
ia32-libs 패키지의 설치
예) sudo apt-get install ia32-libs
64비트가 구지 쓰고 싶어서 설치 했는데...
녀석이 발목 잡는다;;;
64비트 리눅스가 깔린 상태에서 32비트 안드로이드 SDK를 설치,
따라서 SD카드를 할당하는데 쓰이는 ia32-libs 패키지가 디폴트로 존제 하지 않으므로 발생하는 에러
- 해결방법
ia32-libs 패키지의 설치
예) sudo apt-get install ia32-libs
64비트가 구지 쓰고 싶어서 설치 했는데...
녀석이 발목 잡는다;;;
피드 구독하기:
글 (Atom)