안녕하세요
제가 카메라 기술을 이용해서 어플을 제작해보려 하는데요
자바쪽이 너무 약해서
여기저기 보면서 공부중입니다.ㅠ
다른게 아니라 여기서 카메라 촬영 하는 소스를 보고
돌려보려고 하는데요
자꾸
mSurface = (MyCameraSurface)findViewById(R.id.preview);
여기서에서 저 id 부분에서 에러가 생깁니다.
mShutter에서도 id에서 에러가 생기고 이유를 도저히 모르겠습니다.ㅠ 도와주세요 ㅠ
패키지가 여러개인가보군요. 기본패키지가 아닌곳이라면 R.java를 import 해와야지요.
gen 폴더 패키지 이름이 뭔지 보시구요(제 경우에는 com.android). 그다음에 그패키지의 R.java를 import 시키면되요.
제 경우라면 import com.android.R; 이런식으로 되겠네요.
근데 패키지가 나눠있는경우가 아니라면 대부분 자동으로 인식해요.
mSurface = (MyCameraSurface)findViewById(R.id.preview); 이걸 사용하는 클래스에서 R.java를
import 안시켜서 R클래스안의 id라는 클래스가없는데도 그걸 찾아서 쓸려고 하니 에러나는거에요.
위에 코드를 사용하는 클래스 위에보면 import라고 여러개 import 한것들이 보일꺼에요.. 저같으면
import android.view.*; 뭐 이런식으로요.. 그밑에다가 import com.camera.R; 이렇게 한줄쳐주시면되요
소스도 없고 에러로그도 없으니 무슨에러나는지 알수없네요 ㅎ 저위에 R.id 에러는 import로 해결됏을꺼에요.
아마 다른클래스에도 import를 시켜야한다든지 다른에러가 났다든지 문제겠지요. 알아볼려면 소스하고
에러코드있어야되요
그림에서 보면알겠지만 R.java에 attr, layout, string만있고 아예 id라는 클래스 자체가없어요. xml에서 id를 설정하고 컴파일될때 R.java가 자동으로 만들어지면서 id클래스도 자동으로 생성되는건데 xml에서 id를 설정하지않았던지 다른에러가 있던지 둘중하나겠네요. 그냥 소스 자체를 들여다보는게 빠르겠네요 이경우는 소스를 올려보세요.
자바 공부는아니더라도 안드로이드 공부는 좀하셔야겟는데요? 프로젝트안에 자바파일이 설마 저거하나만 있는건 아닐테고.. 그냥 이클립스에서 프로젝트 갖다대고 cntl + c 한다음에 바탕화면에 cntl + v 하면 프로젝트복사되요. 그다음에 zip파일로 올리셔야 소스를 돌려보고 에러로그를 보든가말든가하지 xml파일이랑 문제나는 자바파일하나 가져다주면 그림판으로 보여준거랑 뭐가달라요 소스를 못돌리는데. 일단 안드로이드 책하나사서 "hello world"부터 시작하세요. 자바는 안드로이드하면서 배우면된다치지만 지금은 안드로이드 기초조차 안되어있는상태같아요.
그리고 메니페스트 xml 파일만잇고 레이아웃 xml 파일이 없네요.. findViewById가 레이아웃 xml파일 요소를 id로 구분해서 불러오는건데 레이아웃 xml 파일이 없으면 저보고 어쩌라는건지..
main.xml 에서 focus랑 shutter랑 id설정안했는데 없는걸 쓸려고하니 당연히안되죠. 그리고 MyCameraSurface가 context랑 attribute를 인자로 받는데 attribute를 쓸려면 asset안에 뭔가를 넣던가해야되는데 그런거도 안보이고 왜 attribute를 넣었는지도 모르겠네요. attribute를 생성자로 받아놓고 쓰지도않아서 그냥 context로 바꿨어요. 폰으로 테스트안해보고 에뮬레이터로 돌려본거라 폰에서 카메라 작동하는지 안하는지는모르겠네요.




참 답답한 질문이네요...
죄송하긴 하지만 질문을 보니 카메라 관련앱을 개발하실 레벨은 아직 아니신거 같습니다.
기초를 더 쌓으시길..