728x90

분류 전체보기 162

[Android] 안드로이드 스튜디오 단축키 정리 (Windows) / + 소소한 크롬 단축키 정리

안드로이드 스튜디오에서 유용하게 사용할 수 있는 단축키를 정리해본다.본인이 맨날 까먹어서 가끔 보려고 작성하는 포스팅       ✅ 국민 단축키  ctrl + c 복사 ctrl + v 붙여넣기 ctrl + x 잘라내기 ctrl + a전체 선택ctrl + f검색 ctrl +  z 작업 내용 뒤로 되돌리기 ctrl +  shift + z 작업 내용 앞으로 되돌리기  여기까진 정말 기본적인 단축키다.작성하지 않으려다 혹시 모를 찝찝함에 작성했다.      ✅ 안드로이드 스튜디오 유용한 단축키  ● shift + F10 : Run  ● ctrl + d : 행 복사  ● ctrl + y : 행 삭제  ● ctrl + q : 인라인 문서 조회 클래스, 함수, 변수 등에 대한 문서를 간략히 확인할 수 있는 단축..

[Android] NDK / JNI (3) - CMake 방식 적용

이번 포스팅에서는 CMake 방식을 사용해보려고 한다.CMake 방식은 Gradle과의 통합이 훨씬 매끄럽고, 빌드 관리가 더 수월하다. 지난 포스팅의 Android.mk 파일과 ndk-build를 사용하던 방식보다CMake 방식이 현시점으로서는 더 표준적인 방식이라고 볼 수 있다.    먼저 구조 상 다른 점을 간단히 짚어본다. - [jni] 폴더와 Android.mk, Application.mk 파일은 사용하지 않는다.- CMakeList.txt 파일이 대체된다.- Gradle 에 작성할 내용이 약간 변경된다.- [ndk-build] 등 수동으로 빌드하지 않아도 된다. (Gradle이 자동으로 빌드해줌)    이제 직접 적용해보자.      ✅ NDK 설치 · 세팅 지난 포스팅의 NDK 설치 · 세팅..

[Android] NDK / JNI (2) - 적용해보기

이번 포스팅에서는 로컬 환경에 NDK를 설치 · 안드로이드 프로젝트에 세팅하고,JNI를 사용하여 C언어로 작성된 코드를 안드로이드 환경에서 호출해본다.      NDK 설치 · 안드로이드 프로젝트에 세팅  ✅ 안드로이드 스튜디오에서 NDK 설치 [Tools] → [SDK Manager]  → [Android SDK] → [SDK Tools] 탭에 진입한다.  그리고 NDK를 찾아서 원하는 버전을 고르고 [Apply] 해준다.위에 적힌 [Android SDK Location]에서 설정된 경로를 확인해줘야 한다.     예제에서는 현시점 가장 최신 버전 28.0.12674087을 설치했다.  설치가 끝나면 [Finish] 눌러준다.      ✅ NDK 설치 확인 아까 말했던 경로를 직접 찾아가면 [ndk] ..

[Android] NDK / JNI (1)

이번 포스팅에서는 NDK와 JNI에 대해 알아본다.      ✅ NDK ? Native Development Kit 의 약자로,Android에서 C · C++ 코드를 사용할 수 있게 해주는 도구 모음이다. 지난 안드로이드에서의 C언어 사용 관련 포스팅에서도 언급했다시피,기기의 성능을 최대한 활용해야하는 컴퓨팅 집약 앱을 개발할 때유용하게 사용할 수 있다며 공식 문서에서 소개되고 있다.    ● 조금 더 세부적인 사용 사례 - 게임 개발- FFmpeg와 같은 라이브러리를 통합하여 비디오 처리- OpenCV와 같은 고성능 라이브러리를 활용한 이미지 처리- 그 외 저수준 언어로 작성된 특화된 알고리즘 적용     ● 구성 요소 - 헤더 파일 : Android API에 대한 헤더 파일 제공- 빌드 도구 : nd..

[Android] 안드로이드 환경에서 C언어 사용 이유? / Java · C 성능 차이점

약 2년 전쯤, 안드로이드 앱을 개발하다가 문득 떠오른 생각이 있었다. 모바일 게임은 어떻게 만드는거지?난 Java를 사용하는데, 나도 모바일 게임을 만들 수 있을까? 그때 당시 가볍게 검색해서 알아낸 답은 C언어로 개발한다는 내용이었다.안드로이드 개발 공식 언어는 Java · Kotlin 인데, 이해하기 힘들었다.  하지만 어느샌가 그 이유와 원리를 공부하게 되었고, 알게된 내용을 정리할 겸 포스팅한다.NDK, JNI 등 막상 관련 내용을 공부해야하는 상황이 닥쳐서 시작하는...       ✅ 안드로이드에서 C언어를 사용하는 케이스 결론부터 이야기하자면,C언어로 Java·Kotlin 보다 좋은 성능을 발휘하는 코드를 작성할 수 있다. 여기서 말하는 좋은 성능이라는 기준은고사양 처리 작업을 더욱 빠른 속..

[Android] libvlc - RTSP 스트리밍 연결

지난 ExoPlayer 포스팅에 이어, 이번엔 libvlc 라이브러리를 가지고 왔다. 해당 라이브러리는 VLC에서 제공하는 외부 라이브러리다.    ✅ VLC (Video LAN Clients) VideoLan Project에서 개발하는 오픈소스 미디어 재생기이며,자체 코덱 내장 및 높은 호환성으로 현존하는 미디어 플레이어 중 최고라 볼 수 있다.  libvlc는 안드로이드 뿐 아니라, 다양한 플러그인을 지원하기에우리가 사용해볼 라이브러리는 libvlc-Android 버전이라 볼 수 있다.  라이브러리 경로는 다음과 같다 ↓ Files · master · VideoLAN / VLC-Android · GitLabVLC for Android, Android TV and ChromeOScode.videolan..

[Android] ExoPlayer - RTSP 스트리밍 연결

안드로이드 Jetpack의 Media3에 포함된ExoPlayer를 사용하여 RTSP 스트리밍을 진행해본다.  공식 문서 ↓ RTSP  |  Android media  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. RTSP 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. ExoPlayer는 실시간 RTSP와 주문형 RTSP를 모두 지원합developer.android.com   연결할 네트워크 스트림 주소는 다음과 같다.rtsp://210.99.70.120:1935/live/cctv048.stream 공공 데이터 포털에서 제공해주는 교통정보 CCTV 스트림 주소다.      ✅ Manifest 권한 추가 And..

[Android] RTSP - 실시간 스트리밍 프로토콜

안드로이드 카테고리 포스팅이라기엔 뭐하지만,안드로이드 환경에서의 RTSP 통신이 최종 목적이기에 이곳에 포스팅한다. RTSP에 대해 알아보자.     ✅ RTSP 란? Real Time Streaming Protocol 의 약자로, 실시간 스트리밍 프로토콜이라 할 수 있다. 스트리밍 미디어 서버를 제어할 목적으로 설계된 네트워크 제어 프로토콜이다.조금 더 자세히 말하면, 종단점들 간에 미디어 세션을 확립하고 제어하기 위해 사용된다.*종단점 : End To End, 서버와 클라이언트라고 생각해볼 수 있다. 즉, 제어가 주 목적이기에 스트리밍 데이터 전송 자체는 RTSP의 역할이 아니다.스트림 전송은 주로 RTP(실시간 전송 프로토콜)를 사용한다.     ✅ RTSP의 stateful 특성  RTSP와 HT..

728x90