

Posted by EHXM. Posted in " 안드로이드/Tech Note "2010/01/26 11:49
surface 작업시에 Holder에 대한 lockCanvas와 unlockCanvasAndPost를 호출할 때,
java.lang.IllegalArgumentException이 발생하면 아래와 같이
Holder에 대한 synchronized 부분과 당연한 이야기이지만 canvas에 그릴때 canvas의 null 체크,
unlockCanvasAndPost의 인자값의 null 체크했는지를 한번 확인 해 보세요.
아래는 surface를 사용하는 base code 입니다. bitmap을 직접 그릴때는
doDraw(c) 부분에서, c.drawBitmap(bitmap, 0, 0, null); 와 같이 사용하시면 됩니다.
@Override
public void run() {
while (mRun) {
Canvas c = null;
try {
mHolder = getHolder(); //make sure holder is updated
c = mHolder.lockCanvas();
synchronized (mHolder) {
if (mMode == STATE_RUNNING && c != null){
doDraw(c);
}
}
} finally {
// do this in a finally so that if an exception is thrown
// during the above, we don't leave the Surface in an
// inconsistent state
if (c != null) {
mHolder.unlockCanvasAndPost(c);
}
}
}
}
여러분의 커뮤니케이션을 기다리고 있습니다.

아이디어의 전쟁의 현장이었던 2010년 대한민국 매쉬업 경진대회에 다녀왔습니다. 이번 대회는 지난 2월 6일(토요일), 삼성동 코엑스 컨퍼런스룸 401에서 열렸습니다. 이번.....
2010년에 100가지가 넘는 안드로이드 폰 출시가 될 예정입니다. Mobile World Congress keynote에서 Google CEO Eric Schmidt의 연설.....
서울, 안양, 부산, 대구, 광주, 대전에 안드로이드 폰 체험 할 수 있는 곳이 있네요. 저는 코엑스 메가박스 입구에 있는 모토로라 체험 부스에서 우연히 모토로이를 만져보게 되.....
위 3D 갤러리는 http://www.fotoviewr.com/ 사이트의 Fotoviewr 입니다. Flex와 Papervision3D를 이용하여 위와같은 3D 갤러리를 구현해.....
Total : 115,871 Today : 227 Yesterday : 155