본문 바로가기

Mobile

(29)
[ Android ] 사용자가 원하는 디자인으로 토스트 만들기 토스트는 간단한 메세지를 잠깐 보여주었다가 없어지는 뷰로 앱 위에 뜨는 뷰다. 이는 사용자에게 필요한 정보를 알려주는 역할을 하는 위젯이다. 특히, 앱이 사라지게 되더라고 필요한 메세지가 그대로 표시되므로 앱의 상태와 관계없이 보여줄 수 있다는 장점이 있지만 반대로 토스트가 여러 개가 연속으로 뜨면 사용자에게 불편함을 줄 수도 있다. | 기본 토스트 메세지 Toast.makeText(Context context, String message, int duration).show(); 기본적으로는 간단하게 위와 같이 사용하면 된다. 만약, 사용자가 원하는 디자인으로 토스트를 띄우고 싶으면 다음과 같이 하면된다. | 사용자 토스트 메세지 LayoutInflater inflater = getLayoutInflat..
[ Android ] 가로/세로 화면 전환 앱을 만들면서 겪는 문제 중 하나가 단말의 방향 전환 문제이다. 단말의 방향이 바뀌었을 때는 가로와 세로 화면의 비율에 따라 화면이 다시 보이게 된다. 이는 액티비티가 없어졌다가 다시 생기는 현상이다. 따라서 onCreate() 함수도 다시 호출되며, 이에 따라 가지고 있던 데이터도 초기화된다. 이러한 문제를 처리하는 방식에는 3가지가 있다. | 액티비티 바뀜 + 가로/세로 레이아웃 가로와 세로 각각의 XML 레이아웃 파일을 생성해두고 화면 방향이 전환될 때, 액티비티는 바뀌면서 방향에 맞는 XML 파일을 화면에 보여주는 방식이다. res폴더 하위에 layout-land (지정된 이름) 리소스 폴더를 추가하고 여기에 가로 XML 레이아웃 파일을 저장해둔다. 이 때, 세로 XML 파일과 가로 XML 파일명..
[ Android ] 안드로이드 무선 디버깅 (adb) adb는 android debug bridge 의 약자로서 기기와 통신할 수 있는 명령어입니다. adb 명령어는 앱의 설치 및 디버깅 등의 작업에 도움이 됩니다. ( 자세한 사항은 맨 아래의 링크를 참조해주세요 ) 이를 통해 기기에 선을 연결하지 않고 디버깅 할 수 있습니다. ( 단, Wi-Fi 연결을 했을 경우에 가능합니다. ) 처음 실행할 때는 USB 케이블을 꽂고 실행해야 합니다. 안드로이드 스튜디오에서 아래의 Terminal 을 클릭합니다. 먼저, 다음과 같이 입력합니다. | TCP/IP 연결 수신 대기 설정 adb tcpip 5555 다음으로는 연결된 기기의 Wi-Fi IP 주소를 알아야 합니다. 설정에서 Wi-Fi 쪽으로 가서 연결되어 있는 와이파이를 클릭합니다. 바로 나와있을 수도 있고, 그..
[ Android ] 앨범에서 사진/동영상 가져오기 안드로이드의 장점 중에 하나는 기본적으로 휴대폰이 제공하는 기능을 사용할 수 있다는 것이다. 그 중에 하나가 카메라 및 앨범 기능이다. 사진이나 동영상을 첨부하고 싶을 때는 다음과 같이 사용하면 된다. | 사진 가져오기 Intent intent = new Intent(Intent.ACTION_PICK, MediaStroe.Images.Media.EXTERNAL_CONTENT_URI); intent.setType("image/*"); startActivityForResult(intent, REQ_PICK_IMAGE); | 동영상 가져오기 Intent intent = new Intent(Intent.ACTION_PICK, MediaStroe.Images.Media.EXTERNAL_CONTENT_URI); i..
[ Android ] unable to open debugger port (localhost:8700) 안드로이드 개발자라면 한 번쯤은 나타나는 에러다. 디버깅 모드로 실행을 하다보면 나온다. error running 'app': unable to open debugger port (localhost:8700): java.io.ioexception "handshake failed - connection prematurally closed" 한 번 뜨면, 실행할 때마다 에러가 뜨면서 프로젝트가 실행되지 않는다. 그럴 경우 다음과 같이 진행하면 된다. 안드로이드 스튜디오에서 아래쪽의 Terminal 클릭한다. > adb kill-server > adb start-server 위와 같이 입력해준다. 다시 실행하면 정상적으로 동작한다.

반응형