목록Android (6)
집요정 도비의 일기
I was doing a project that consisted of getting streams from AXIS web cams. I had two functions to implement ; First, play the live stream, Second, play a portion of the live stream's history. The AXIS web cam uses digest auth for authenticating it's stream. The first step was easily done by putting the stream link inside a webview. http://${userName}:${password}@${ip:port}/axis-cgi/mjpg/video.c..
0. Intro 개발하다보면 비동기 요청의 리스폰스를 안드로메다에서 받을 일이 생김. 대표적으로 Ble가 그럼. 예를들어 다음과 같은 순서로 ble장치로 통신을 보내고 받는 경우다. (1) View에서 유저의 버튼 클릭으로 ble전송 요청이 들어옴(2) 적절한 클래스에서 장치에 쓸 byte값을 세팅함.(3) Ble service단에서 연결된 ble장치를 향해 바이트를 씀. (4) Ble service내에서 onCharacteristicChanged에서 장치로부터 받은 콜백을 수신함.(5) 이 결과값을 처음의 view에 전달해야함. 결국 (5)를 어캐 좀 편하게 해보려고 쓰는 것이다. 필자의 경우, 이벤트 버스를 사용하지 않았을 때는 뷰의 메소드를 static으로 정의하여 처리하는 식으로 구현하였으나, 보..
15. 목적- 음악 스트리밍이 가능하게 한다. * How?두 가지 방법 정도를 생각하였다. 1. 파일을 전부 다운로드 한 후, 안드로이드의 파일 시스템에서 파일을 찾아서 재생한다.2. MediaPlayer 객체를 활용하여 서버의 url로 파일을 재생한다. 처음에는 조사가 부족하여 1의 방법으로 구현하였으나, 보다 클라이언트 소스가 간결한 2번을 찾게되었다. 본 포스트에서는 2번의 방법으로 구현한다. 16-1. 서버(Spring boot) 구현- 서버가 음악 파일에 대한 적절한 url을 제공할 필요가 있다. - 따라서 기존의 RequestController에 아래와 같은 메소드를 추가한다.* RequestController.java - 동작 원리는 무척 단순하다. 요청 받은 파일이 존재하면 파일을 스트림에..
11. 목적-클라이언트에서 서버 디렉토리의 하위 디렉토리로 자유롭게 이동이 가능하게 만든다. 12. 안드로이드 구현-서버는 저번 포스트에서 이미 여기까지 구현이 되어 있다. 더 이상 건드릴 필요가 없음.-사실 저번 포스트에 거즘 구현이 마쳐져 있다. 이제 안드로이드의 RecyclerView에서 각 요소를 클릭했을 때의 클릭이벤트를 구현만 하만 하면 된다. *클릭 이벤트 구현 (Steps)(1) MainListAdapter.java에 클릭 처리용 이너 클래스인 인터페이스를 하나 만든다.(2) MainListAdapter 클래스가 이 인터페이스형의 객체(굳이 말하면 이 인터페이스를 상속 받은 클래스의 인스턴스)를 필드로 갖고, 이를 생성자에서 받아오도록 한다.(3) MainActivity.java에 위의 인..
* 저번 포스트에 이어서.. 6. 목적* 저번에 서버와 클라이언트간의 통신이 잘 됨을 확인하였으므로, 이번엔 서버의 특정 디렉토리에서 파일 목록을 불러와서 클라이언트에서 확인 할 수 있도록 해봄.(1) 서버- 디렉토리에 대한 요청이 오면, 이를 처리하여 안드로이드에 돌려줄 수 있어야 한다.- 서버는 디렉토리의 내용물들이 파일인지(.mp3 파일만을 확인하고 나머지는 버린다), 디렉토리인지 확인하고, 이를 클라이언트도 구분할 수 있게 해줘야한다. (2) 클라이언트(안드로이드)- 서버에 특정 디렉토리, 혹은 그 디렉토리의 하위 디렉토리의 내용물에 대해서 정보를 요청하고, 이를 RecyclerView를 통해 화면에 뿌려줄 수 있다. 7-1. 서버(Spring Boot) 구현 요청 받은 디렉토리 밑의 파일들의 정..
0. 왜 이걸 하는가. (1) 버스 타고 가다가 급 듣고 싶은 음악이 있는데 폰에는 없고 pc에만 있다는 것을 깨닫고 화가난 경험이 있으므로. 1. 기능 구상*서버 : (1) 지정된 디렉토리와 하위 디렉토리의 .mp3 파일의 리스트를 보여줄 수 있다.(2) 지정된 디렉토리와 하위 디렉토리의 .mp3 파일의 다운로드 요청을 처리해줄 수 있다. *안드로이드 (클라이언트) :(1) 지정된 서버로부터 탐색 가능한 디렉토리와 .mp3 파일을 http 리퀘스트로 받아올 수 있다.(2) 지정된 서버로부터 해당 파일을 다운로드 받거나, 스트리밍 할 수 있다. 2. 도구 및 필수 사항*서버 : Spring Boot Application을 통해 간단하게 구현한다. 반드시 Tomcat이 깔려 있어야하고 함. IDE : ST..