2011.06.04 22:57

  1. int resID = getResources().getIdentifier("org.anddev.android.testproject:drawable/bug"nullnull);
  2. // or
  3. int resID = getResources().getIdentifier("bug""drawable""org.anddev.android.testproject");

출처 : http://www.anddev.org/viewtopic.php?p=17846
신고
Posted by JAVA_HOME

댓글을 달아 주세요

2011.06.02 20:30
 안드로이드에서 HelloWorld를 찍을때는 각각을 독립된 프로젝트로 두었습니다. 하지만 기본으로 제공하는 예제를 보면 안드로이드에서는 소스는 전혀 없으며 데스크탑 소스에서 존재하는 소스를 불러오는 것을 볼 수 있습니다.

 홈페이지에 자세히 설명되어 있어서 따로 설명하는 것은 시간낭비라는 생각이 들었습니다. -_-
 방법은 http://code.google.com/p/libgdx/wiki/ProjectSetup 에 있습니다.( 그리고 desktop의 data를 안드로이드의 assets 폴더와 동기화 시키는 방법도 여기에 있습니다.


그리고 비디오 튜토리얼에서 메니페스트에서 android:targetSdkVersion="9" 로 지정하라고 합니다. 풀스크린모드 뭐라고 하는데 잘 못알아듣겠습니다 -_-; 기억하라고 하니까 하기는 하는데 튜토리얼 소스들에도 제대로 명시 안되어있습니다.(동영상 튜토리얼에서 뭐라고하는지 알아들으신분은 댓글로 써주세요 -.-)

* 자꾸 타겟지정이 자꾸 에러가 나서 뭐가 문제인가 보니 옛날의 SDK에서는 이 attribute를 지원하지 않는 것 같습니다. 그냥 8로 올려버리니까 되네요.(minSdkVersion이 아니라 프로퍼티에서 올린겁니다)  버젼 몇부터 지원하게 됬는지는 모르겠습니다.


 이제 시작해보겠습니다.



 작업은 메인 프로젝트에 renderer를 만들고 데스크탑에서 실행해보고(메인 포함해서 3줄정도 일겁니다 -_-) 안드로이드에서 실행해보겠습니다(추가되는 코드는 1줄일겁니다 -..-)

 








OscilloScopeRenderer.java


SinGenerator.java

DesktopMain.java




신고

'OPENGL > libgdx' 카테고리의 다른 글

BitmapFont 문제  (3) 2011.06.07
libgdx(2) - Basic Graph  (0) 2011.06.02
Posted by JAVA_HOME

댓글을 달아 주세요

2011.06.01 17:29
 Oscilloscope 강좌를 OpenGL ES로 하다보니 순수 OpenGL ES API로는 체계적인 공부가 부족한 저로써는 너무 많은 애로사항에 부닺혔습니다.
 
 그러던 중에 libgdx라는 녀석을 찾았습니다.
 성능도 준수하고, 무엇보다도 크로스 플랫폼이여서 데스크탑에서 작성하고 실행해 볼 수도 있고 이걸 간단히 안드로이드로 바로 이식할 수 있는 오픈 엔진이라고 해서 사용해 볼까 합니다.(사실 아파치 2.0 라이센스에 끌렸던 것도 있습니다...--;)

공식 사이트는 
http://libgdx.badlogicgames.com/ 과
http://code.google.com/p/libgdx/ 입니다. 

우선 기본 라이브러리인 libgdx-0.9.1.zip(2011-06-01 기준 최신 릴리즈판)과 helloworld를 받아서 실행해보겠습니다.

 사실 helloworld 안에 실행가능한 라이브러리가 있어서 helloworld만 받아도 실행하는데 지장은 없습니다.

 우선 Desktop 버젼인 gdx-helloworld를 실행해 봅시다.

 이클립스로 import하게 되면 기본적으로 필요한 라이브러리들이 build path에 들어가 있습니다. 만약에 추가되지 않는다면 프로젝트 루트폴더에 적당한 폴더를 만들고 아래의 파일들을 복사하고 build path로 지정을 합니다.


 그럼 일단 실행해보겠습니다.

 



 다음과 같은 이쁜(?) hello world 로고가 나오는군요.

 이제 Android에서의 

 우선 빈 안드로이드 프로젝트를 하나 만들겠습니다.
 그리고 libs폴더를 만들고(일반 자바와 달리 libs라는 이름으로 하셔야됩니다!) gdx.jar, gdx-backend-android.jar, 그리고 armeabi, armeabi-v7a 폴더를 복사합시다.
 refresh 한번 해주시고 일반 java build path추가 하듯이 gdx-.jar와 gdx-backend-android.jar를 추가해줍시다.

 그리고 위에서 사용한 HelloWorld.java(실제 소스)를 복사해서 넣고, 여기에 들어가는 텍스쳐인 badlogic.jpg를 data폴더 채로 assets 폴더에 넣어줍니다. 

 이제 메인 액티비티를 AndroidApplication을 상속받도록 고치고(Activity의 하위 클래스입니다) initialize(new HelloWorld(), false); 를 추가해줍시다.


이제 실행해 보겠습니다.


 데스크탑에서와 동일한 화면을 볼 수 있습니다. 같은 소스코드로 이식이 가능하다는 것이 매우 편리한 것 같습니다.

 하지만 테스트 해 볼때 데스크탑 프로젝트에 소스를 복사하고 실제 이식을 할 때는 안드로이드에 복사를 하는 등의 귀찮은 작업조차 하지 않아야 진정한 Cross-platform 이라고 말할 수 있겠죠? 물론 이마저도 가능합니다. gdx-welloworld-android를 import해 보시거나 http://code.google.com/p/libgdx/wiki/ProjectSetup에 보시면(셋업을 참고한 곳입니다.) 아시겠지만, 메인프로젝트를 만들고 Desktop과 Android에서 각각 실행해 볼 수 빌드환경을 구축할 수 있습니다. 다음 강좌부터 다시 시작하는 Oscilloscope에서는 방금 말한 빌드 환경을 구축하는 것 부터 하겠습니다.




신고

'OPENGL > Oscilloscope' 카테고리의 다른 글

libgdx(1) - Helloworld  (0) 2011.06.01
OpenGL ES - Oscilloscope - 2. Dynamic Graph  (2) 2011.03.25
OpenGL ES - Oscilloscope - 1. Draw Stopped Graph  (1) 2011.03.23
Posted by JAVA_HOME

댓글을 달아 주세요


티스토리 툴바