Toast는 간단하게 메시지를 표시할 때 유용합니다.
또 Toast 대화창이 아니기 때문에 지정된 시간만큼 표시된 후에 자동으로 사라집니다.

Toast.makeText(this, "Hello!", Toast.LENGTH_SHORT).show();
길게 출력하고 싶다면 Toast.LENGTH_SHORT 대신 Toast.LENGTH_LONG을 쓰면 됩니다.



기본적으로 Toast는 화면 중앙 하단에 표시되는데 이 위치는 setGravity를 써서 바꿀 수 있습니다.

Toast t = Toast.makeText(this, "Hello!", Toast.LENGTH_SHORT);
t.setGravity(Gravity.LEFT | Gravity.TOP, 10, 10);
t.show();




Toast는 UI 쓰레드에서만 표시할 수가 있습니다. 따라서 UI쓰레드가 아닌 쓰레드에서 생성하고 싶을 경우에는 runOnUiThread 메소드를 이용하면 됩니다.

예) Activity 클래스이름이 MainActivity 일 경우

runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "Hello!", Toast.LENGTH_SHORT).show();
}
});





Posted by orange code
Android의 Activity는 설정이 바뀔 때 마다 재생성되게 된다.
경우에 따라 몇번이고 onCreate 가 연속으로 호출될 수 있다는 말이다.

화면 방향이 landscape 상태인 게임을 openGL을 사용하여 만들 경우 연속적인 openGL 초기화를 하려고 하여 문제가 생긴다.

이 때, manifest.xml 를 열어

<activity android:name=".MainActivity" android:label="@string/app_name">
이 부분에 다음과 같이 추가한다.

  <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> 

그러면 화면 방향이 바뀌는 경우에도 재생성이 일어나지 않아 문제가 발생하지 않는다.
Posted by orange code
1. jsmooth 를 설치합니다. http://jsmooth.sourceforge.net/



2. 이클립스에서 프로젝트를 실행-jar로 내보내기 합니다.



설정은 적당히 합니다

3. jsmooth 실행~



프로그램 종류를 고릅니다.. 윈도우 프로그램이면 windowed를 고릅니다. 콘솔이면 위에꺼



실행파일 위치를 지정합니다.. 아이콘과 시작 디렉토리를 지정할 수 있습니다.. 생략도 됨..



use an embedded jar를 체크 하고 좀전에 내보내기한 jar를 선택합니다. 그리고 시작 함수가 있는 클래스를 골라줍니다.

안 골라주면 실행해도 바로 꺼지게 됩니다..



최소, 최고 JVM 버전을 작성할 수도 있습니다.. 전 그냥 패스..

다 됐으면 project-> compile을 합니다. 그럼 좀전 지정한 곳에 실행파일이 만들어 집니다

그럼 jar파일이 없어도 실행되게 되죠~
Posted by orange code