본문 바로가기

ANDROID

(125)
TextView를 원하는 곳까지 변경한다.. 저번에 대화들을 클릭하는 곳에 따라 작성해 두었는데, 이를 메소드마다 끊어내는것은 번거로울것 같고 해서 대화창을 눌렀을때에 수행하는 nextText에서 이를 마무리했다. 대화가 마무리되는 단계에 내용없는 string을 집어넣음으로써 이를 확인했을때 endoftheDialog를 true값으로 돌려주고, 텍스트 창을 비우며 더이상 TextView를 수정할 수 없게 하였다. 처음에 대화의 마지막을 어떻게 읽어내야 할까, 비벼보다가 액티비티 상에서 이를 해결할 수 없어 strings.xml 에 내용없는 string값을 하나 더 추가해 두고, 이를 같은방식으로 참조함으로써 드디어 스튜디오에서 이를 읽어내는 것이였다.. 어쨌든 해결.. 그리고 추가적으로 앱이 너무 버벅이는거같아 방의 사진 크기를 줄여서 넣었더니 획..
strings.xml 의 내용을 차례대로 참조한다 탈출게임의 대화창을 띄우는것에 당연히 텍스트뷰만큼 할게 없을것인데 배열로 텍스트를 저장할까 싶다가 그냥 처음에 생각했던대로 strings.xml 에 대화들을 저장해 두고, 이를 차례대로 참조하는 법이 어디있을까 하다가 아무 변수나 넣어보면 안드로이드 스튜디오에서 맞는 값을 정해줄 것이다.. 하며 int 값으로 첫번째 string 값을 가져왔는데 된다! 심지어 1씩 증가를 시켜주면은 차례로 값을 읽어오는것이였다.. 좋은 발견이다 strings.xml 의 값들은 이런식으로 되어있고.. int 로 선언한 dialog 변수에 첫 string값인 R.string.dialog_01_01 을 넣어주고 TextView를 클릭할때마다 텍스트 값을 수정하고, 참조할 dialog 값을 1씩 늘려준다. 처음에 뭐 더이상의 s..
[안드로이드] 앱에서 배경음악 재생, 정지하기 오늘은 저번에 생각해둔대로 게임 내 배경음 구현을 마저 했다. 녹음해 온 파일을 생성해둔 raw 폴더 안에 집어넣어 두고 만들어 둔 미디어플레이어 mp에 setLooping() 을 true 로 주고, start() 를 시킨다. 앱 시작과 동시에 반복재생이 시작되는 것이다. 그리고 게임을 틀었다가 게임을 배경으로 보냈을 시에, 혹은 아예 백버튼으로 나갔을때도 생각을 해야 했다. onUserLeaveHint() 는 사용자가 홈버튼을 누를 시에 이를 감지하여 배경음악을 정지시키고, onDestroy()는 앱이 아예 정지되었을시에, 그리고 onBackPressed()는 백버튼을 눌렀을시에 배경음을 정지하도록 만들었다. 모든 메소드들은 super.에 메소드이름을 붙여두어야만 했다. 어쨌든 결과는 매우 잘 된다. ..
[안드로이드] 레이아웃 불러오는데 나오는 오류 해결 (android.view.InflateException) 방탈출 게임을 만드는중에 게임을 시작하면 처음에 나오는 방 화면을 구성해놓았는데 이것이 답답하게 다른 액티비티는 잘만 불러와지는데 Newgame 만 누르면 InflateException 오류와 함께 튕겨버리는 것이였다. 이를 해결하고자 구글링을 하였으나 거의 다 비슷한 내용. 불러오려는 xml파일에 맞게 클래스명이니 파일명이니 수정하는 것이였는데 여기에는 분명 문제가 없어 지웠다가 다시 만들다 그러다가 안되서 오류가 나는 부분을 확인해보니 이미지뷰가 시작되는 부분부터 오류가 있다. 혹시나 해서 주석처리를 하고 다시 실행해보니 아, 실행이 된다. 문제는 이미지뷰에 있던것이다. 이미지뷰 오류라는 내용으로 구글링을 다시 하니 안드로이드에 png가 자주 쓰인다는 내용. 그래서 그제서야 보니 방 화면에 쓰고있던 ..
인트로 화면이 실행되지 않던 문제 해결 인트로화면을 구현하고자 코드를 참고하며 노력을 좀 했는데 인트로화면을 보여주지 않고 메인화면으로 바로 넘어가는 것이였다. 다른분의 코드를 보고 이를 해결하였는데 안드로이드 매니페스트 파일에서 인트로로 줄 액티비티 순서를 맨 첫번째로 둬야하는 것이였다. 현재는 잘 구현되고 있다. 타이틀 바를 없애는것도 해보려 했는데 어째 잘 먹히지가 않아 그냥 NoActionBar 만 테마쪽에 써서 나오는 것들중에 하나로 골랐다. 잘 된다