태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Guest book

  1. Blog Icon

    비밀댓글입니다

  2. 인터넷에 올라와 있는 yuv-rgb 변환 코드를 사용하신 것 같은데, 저도 그 코드를 사용해 봤지만 별 문제없이 변환되었습니다. (카메라 프리뷰의 한 프레임을 따 와서 이미지로 저장)

    저도 이 부분은 코드를 본다고 해서 아는게 아니라 도움을 드리기 어려울 듯 하네요. 초록색 계열만 나오는 걸로 봐선 변환 과정에서 문제가 생기는 것 같은데, 그 부분을 다시 검토해 보시는 게 어떨까요?

  3. 안녕하세요
    카메라 프리뷰 질문하나 할게요

    C#에서 안드로이드로 영상을 받아오고 있긴하는데
    핸드폰에서 아웃오브메모리 문제가 발생해서
    역으로
    안드로이드 프리뷰 영상을 C#으로 전송하는걸 구현하려 합니다.

    커니님의 프리뷰 예제를 보고 하고있는데요,
    surfacechanged에 yuv->rgb->bitmap->bytearray
    이렇게 전송하고 있는데

    surfacechanged 안에 있는 onPreviewFrame 에서 비트맵을 생성합니다.
    그런데 이 surfacechanged 가 호출되는때가 프리뷰 가 바뀔때 마다 즉,
    영상 프레임이 바뀔떄마다 호출되는것이 맞는지요
    메소드 호출이 안되는것 같아 질문드립니다ㅠ

  4. 넵. 영상 프레임이 바뀔 때마다 호출됩니다.

  5. Blog Icon

    비밀댓글입니다

  6. http://stackoverflow.com/questions/6756975/draw-multi-line-text-to-canvas

    여길 참고해보세요. 뭐, 결론만 말씀드리자면 자동으로 줄바꿈 해주는건 없고, 수동으로 글자 크기만큼 아래로 내려서 drawText()를 사용해야 한다는 답변이네요.

  7. Blog Icon

    비밀댓글입니다

  8. 제가 지금 안드로이드 폰을 컨트롤러로 해서 RC카를 원격제어 하고 있습니다.
    작품전에 추가할 사항으로 안드로이드 스마트폰을 RC카에 얹어서 영상을 컨트롤러로 실시간으로
    받아오고 싶어서 문의 드립니다.
    내용을 정리하자면 지금은 컨트롤러(안드로이드)-RC카 이렇게 원격제어만 하는데
    컨트롤러를 제외한 또다른 핸드폰을 RC카에 얹어 카메라로 사용을 하려고 합니다.
    이렇게 되려면 컨트롤러와 RC카 RC카에 얹어진 핸드폰이 컨트롤러로 블루투스 다중연결이 되어야하는데
    안드로이드에서 블루투스 다중연결이 가능한지요
    그리고 카메라 프리뷰를 블루투스로 실시간으로 전송가능한지 문의 드립니다.^^


    쓰다보니 굉장히 두서없이 쓰게 되었네요 질문에 답변해주시면 감사하겠습니다^^

  9. 다중 연결은 가능하지만, 단말기에 따라 차이가 있을 수 있습니다.

    그리고 카메라 프리뷰를 블루투스로 전송하는 것은 전송하려는 프리부의 크기에 따라 결정될 듯 합니다. 그런데 아마 블루투스만으로는 선명한 프리뷰를 얻기에 속도가 부족하지 않을까요?

  10. 안녕하세요 커니님 :) 지난번에 도움 주셔서 정말 감사했습니다.

    다른 곳에서 개발을 진행중인데 어떤 방식으로 하면 좋을지 첨언을 듣고 싶어서 글 올립니다 ^^;



    목표를 먼저 말씀드릴게요.


    카메라 기능을 통해 사진을 찍으면 다음과 같은 일들이 일어나게 됩니다.

    1. 사진은 저장되고 현위치를 GPS를 통해 받아와 구글맵위 현위치에 핀이 박히게 됩니다.

    2. 찍을 때마다 핀은 추가로 늘어나게 되며 앱을 완전히 껏다 켜도 핀들은 그대로 박혀있습니다. (저장이 됩니다)

    3. 핀을 터치하면 그 핀이 박힐때 찍혔던 사진이 로드되어 전체화면으로 그 사진을 보게 됩니다.


    이것인데요.. 여쭤보고 싶은것은 SQL과 같은 데이터베이스를 사용하여야 하는가, 아니면 다른 방법이 있는가를 여쭤보고 싶습니다.



    사진을 찍을 때마다 저장이 되어야하므로 3가지 (위도, 경도, 사진이 저장된 주소)는 DB든 아니면 다른방법으로든

    저장을 해야한다고 생각되는데요...어떠한 방식으로 하는게 가장 적절할지 잘모르겠습니다.

    어떠한 방법을 사용하는게 나을지 방향을 좀 제시해주시면 감사하겠습니다 :)

  11. 사진을 촬영한 후 이미지를 저장할 때 EXIF 데이터로 사진의 촬영 위치(위도,경도값)을 넣을 수 있습니다. 사진의 위치정보 관리를 별도의 데이터베이스로 관리하지 않고, 바로 사진에서 데이터를 받아오는 형식으로 구현하는 것이 훨씬 깔끔할 것 같네요.

    ExifInterface 클래스를 활용해보세요.

    http://developer.android.com/reference/android/media/ExifInterface.html

  12. 체크박스에 이미지뷰를 물리고

    인증하기를 통해 한번만 체크박스를 건드려준후 저장. 이란 방법으로 해결했습니다. ㅎㅎ

    힌트주셔서 정말 감사합니다 커니님 ^^ 좋은 하루되셔요~

  13. 해결하셨다니 다행입니다. 축하드려요 :)

  14. 먼저 긴 답변글을 작성해주셔서 감사의 말씀을 드립니다.

    답변달아주신 것에서 하나 또 궁금증이 일어 추가로 질문드려요;;


    답변해주신 내용을 보면



    값을 저장할때는

    SharedPreferences.Editor editor = '값을 저장하기 위한 Editor 객체 가져오기';
    editor.putBoolean("저장할 키 값", '실제 데이터(true/false)');


    ..라고 되어 있는데요. 여기서 '실제 데이터(true/false)' 를 어떤식으로 작성해야할까요??

    preferences 예제를 참고해봤지만 예제에는 에디트텍스트와 체크박스 예제라서요..
    ( editor.putString("editText", edit1.getText().toString());
    editor.putBoolean("check1", check1.isChecked()); )

    저의 경우에는 이미지 혹은 이미지버튼을 교체하려고 하는데

    앞서 말씀주신 '실제 데이터(true/false)' 부분을 어떤식으로 코드를 작성해야하는지 궁금합니다.


    값을 가져올때 역시 커니님의 예제에선

    EditText edit1 = (EditText)findViewById(R.id.EditText);
    CheckBox check1 = (CheckBox)findViewById(R.id.CheckBox01);

    String text = pref.getString("editText", "";);
    Boolean chk1 = pref.getBoolean("check1", false);

    edit1.setText(text);
    check1.setChecked(chk1);

    와 같이 텍스트, 체크박스의 예제라 이미지뷰 혹은 이미지버튼의 경우는 어떤식으로 써야하는지 알고 싶습니다....


    답변 달아주셔서 다시한번 감사드립니다 커니님. 좋은 하루되셔요~

  15. ㅠㅠ 커니님. 정말 답답해서 다시 질문드리러 왔습니다;;

    먼저 상황을 설명드리고 질문을 드릴게요.

    1페이지(액티비티)가 있고 2페이지가 있는데 1페이지에서 activityforResult로 2페이지로 갑니다.

    2페이지는 현위치를 받아오면서 미리 지정된 위도경도 근처에 들어온다면 토스트로 '지정된 영역에 들어왔습니다'가 뜨고

    1페이지로 돌아오면서 원래 1페이지에 있던 A이미지를 B이미지로 교체하게 됩니다.


    위의 설명까지는 해결을 했는데 이제 저장하는데 있어서 질문을 드릴게요. (설명이 길어서 죄송합니다 ㅠㅠ)

    한번 위의 행동을 해서 A이미지에서 B이미지로 바뀌어 있다면 사용자가 앱을 완전히 껏다 켜도 계속 B 이미지를 보여주고

    싶습니다. 어떻게 하면 좋을까요??


    파일스트림을 통해서 txt파일로 저장하는 방법, sql을 사용하는 방법, preference 사용하는 방법 등등

    많은 방법을 찾아보고 공부해봤지만.... 일단 sql을 사용할만큼 복잡한거 같진 않습니다. preference의 경우는 껏다켜도

    저장이 되는지는 잘 모르겠구요.


    파일스트림을 통해서 실현한다고보면 제가 생각한 방법은 이렇습니다.

    2페이지에서 1페이지로 돌아올 때 'a'란 값을 보냅니다.

    1페이지에서 a값을 파일스트림을 통해 txt파일에 저장합니다.

    앱을 시작해서 1페이지로 들어갈때마다 txt파일을 열어보도록하고 그때

    a값이 존재한다면 A이미지를 B로 교체... 이건데요..


    이것도 또 문제가 있습니다...

    txt파일에는 그냥 영문자 a만 저장이 되어있는데 txt파일을 로드해서 읽어오면

    그 값은 뭔가 중요한 열쇠가 아닌 그냥 영문자 a 일뿐이지 않나요?

    말로야 쉽게 ('a'값이 있으면 이미지 바꾸고 없으면 그대로 둬)라고 하지만

    그냥 영문자 a 가 if절 등을 통해서 뭔가 명령을 내릴수 있는 키로는 사용이 불가능하니까요...



    조금 종합을 해보겠습니다.

    1. 2페이지에서 돌아올때 1페이지의 이미지가 영구적으로 바뀌게 하고 싶은데 그 방법으로 좋은게 어떤것이 있을까요?

    2. 파일스트림을 통해 txt파일로 저장한다면 어떤식으로 저장, 읽어와야 영구적으로 이미지를 바꿔서 보여줄수 있을까요?



    제가 파일스트림에서 읽어올때 어떤식으로 코드를 써야하는지도 생소해서요.. ㅠ

    귀찮게해드려 죄송하지만 만약 파일스트림을 써야한다면 짤막한 코드 몇줄이라도 예를 들어주시면

    정말 감사하겠습니다 ㅠㅠ

    긴글 읽어주셔서 감사합니다. 도와주세요 ㅠㅠ

  16. Preference가 가장 간단합니다.
    껐다 켜는 것과는 전혀 상관없이 애플리케이션이 삭제되기 전까지 Preference의 데이터는 유지됩니다.

    또한 SharedPreference(Preference)의 경우 키-값 기반으로 데이터를 저장하므로 데이터가 없는 경우도 쉽게 알아낼 수 있습니다.

    지금같은 경우는 boolean 값을 저장하면 간단히 해결되겠네요.

    값을 저장할때는

    SharedPreferences.Editor editor = '값을 저장하기 위한 Editor 객체 가져오기';
    editor.putBoolean("저장할 키 값", '실제 데이터(true/false)');

    값을 가져올때는

    SharedPreferences pref = 'Preference 로드';
    pref.getBoolean("저장한 키 값", false);
    -> getBoolean()의 두번째 인자는 키 값으로 저장되어 있는 값이 없을 경우 불러오는 값입니다. 위와 같이 키 값이 없을때는 false로 한다면 자연스럽게 데이터가 없는 경우도 처리할 수 있지요.

  17. 안녕하세요 커니님 커니님의 책 잘보고있습니다.
    질문좀 드려도 괜찮을련지요?^_^
    단말기를 켰을때 패턴잠금이 되어있잖아요.
    패턴을 그리다가 실패했을떄 그 실패했다는것을 알아내서 실패할떄마다 변수에다가 실패한횟수를 저장할수는 없을까요??
    예로 한번실패했으면 변수에는 1이 저장되고 한번더 실패했으면 변수에는 2가 저장되고 이렇게요.
    http://android.git.kernel.org/?p=platform/frameworks/policies/base.git;a=blob;f=phone/com/android/internal/policy/impl/PatternUnlockScreen.java;h=418e243922795cf985c3b35b414bb76566122847;hb=HEAD
    여기에 있는 자바파일이 뭔가 관련이 있는것같은데 잘은 모르겠네요..
    방법이 있을까요??

  18. 아마 언급해주신 부분은 내부적으로만 사용하는 것 같습니다.
    브로드캐스트 메시지가 발송된다면 이를 이용하는 방법도 있을 것 같기는 하나, 만약 그 메시지가 시스템 전용이라면... 아마 일반적인 앱에서 이를 사용하기는 힘들지 않을까 싶습니다.