Android

Android/Development Tips

Android NDK

보통 크게 2 가지로 나뉜다. 정적 라이브러리 (.a)동적 라이브러리(.so) 정적 라이브러리는 object file의 모음이며, .a 확장자를 가진다. 컴파일 시 실행 파일에 포함된다.동적 라이브러리는 .so 확장자를 가지며 컴파일 시에 실행 파일에 적재되지 않으며, 런타임에 필요할 때 로드하여 사용한다. 또한 제공하는 ABI(Application Binary Interface)도 armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips, mips64로 다양하다.대부분의 안드로이드에서는 ARM 계열의 CPU를 사용하기 때문에 안드이드 NDK를 빌드 시에 armeabi, armeabi-v71, arm64-v8a로 대부분 빌드된다.일부기기에서는 x86용이 적용되기도 한다...

Android/Development Tips

Measuring of String in android

Paint p = new Paint(); Rect bounds = new Rect(); p.getTextBounds(labelString, 0, labelString.length(), bounds); float height = p.measureText(labelString); int width = bounds.width();

Android/미분류

fire tracking sequence diagram

실시간 카메라나 동영상 데이터를 사용해 트래킹 알고리즘을 구현할때 생각 했던 방법들인데 혹시나 도움이 될까해서 올립니다. 전체적인 시나리오는 같지만 bitmap을 이용하지 않고 바이트버퍼같은 raw data를 주로 사용하였습니다~! 비트맵 사용하면 성능 절대 안나옵니다 ㅠ^ㅠ ​ ​ ​

Android/Development Tips

안드로이드 프로세스와 스레드

요즘 일하면서 스레드를 정말 많이 사용하는데, 평소에 잘 사용한다고 생각하고 있었는데 Rx에서 제공하는 스레드(AndroidSchedulers.MainThread, Computation.Io 등등 너무 편해요..)를 사용하다보니 예전 기억이 긴가민가해 이번을 기회로 다시 정리 할까 한다. 기본적으로 안드로이드에서의 프로세스와 스레드 개념은 리눅스, 윈도우 등과 같은 운영체제에 배운 것과 크게 차이점이 없다. 하지만 단순히 프로세스와 스레드뿐만 아니라 안드로이드 컴퍼넌트와의 관계까지 함께 이해해야 앱이 어떤식으로 동작하는지 정확히 이해 할 수 있다. 예전에 케이티 하이텔 면접에서 이런 질문을 받았던 것을 기억한다. 혹시 쓰레드와 프로세스의 차이점에 대해 아냐고-그래서 나는 프로세스는 하나의 쓰레드 또는 여..

Android/Development Tips

액티비티와 생명주기

앞선 글에서 액티비티는 사용자와 안드로이드 어플리케이션 간에 인터페이스 역할을 한다고 했었다. 액티비티는 사용자가 보기에는 하나의 화면이지만, 내부적으로는 뷰, 뷰그룹으로 이루어져있다.여기서 뷰란 실제로 사용자에게 보여주는 부분이고, 뷰 그룹은 여러개의 뷰를 묶어 노흔 형태로 보면 된다. 뷰에는 기본적으로 AppcompatImageView, AppcompatTextView, AppcompatEditText 등의 기본적인 화면 구성요소들이 뷰에 포함된다. 또한한 다음 맵, 비디오, 웹 등을 표시하는 고급 구성요소들도 모두 뷰에 포함 된다, 뷰 그룹은 직접적으로 보이지는 않지만 다른 뷰를 담은 컨테이너 역할과 뷰들의 위치를 관리해준다. CoordinatorLayout, ConstrainLayout, Rela..

Android/Development Tips

안드로이드 컴포넌트

실무를 진행하며 안드로이드에 대해 부족한 점이 느껴져 개인 공부를 하며 스스로 중요하다 생각하는 것에 대해서 짧게나마 포스팅 합니다. 안드로이드 컴포넌트는 크게 4가지로 구분됩니다. 1. 액티비티2. 서비스3. 컨텐츠 프로바이더4. 브로드 캐스트/리시버(5. 인텐트를 포함해서 5개로 구분하는 경우도 봤습니다.) 액티비티는 안드로이드를 구성하는 가장 기본적이고, 중요한 컴포넌트로 사용자와 앱 사이의 인터페이스 역할을 담당하고 있습니다.하나의 화면이라고 생각하면 쉽게 이해할 수 있습니다. 앱을 구성하고 있는 "화면" 하나하나가 모두 액티비티라고 볼 수 있습니다. 서비스는 앱을 개발하다보면 가령 사용자의 개입 없이 백그라운드에서 데몬처럼 동작이 필요한 경우가 있는데, 이를 서비스라고 부릅니다.서비스를 설명하는..

Android/미분류

Fire detection for mobile

I'm customizing it base on google example. Main algorithm: YCrCb, HSV, RGB color segmentation & histogram & subtract moving fire video frame(차영상) Model: inception v3 Galaxy note 5 이런식으로 인퍼런스에서 가져온 좌표를 크롭하여 다양한 방법으로 활용하고 있다.

Android/미분류

안드로이드 MVP 패턴에 대해 알아보자.

일단 안드로이드에 대해 기본적인 지식이 있으며, MVP패턴이 어떤 장점들을 가지고 있는지 알고 이 글을 읽는다고 가정하고 어떤 방식으로 프로젝트에서 MVP패턴을 사용하고 있는지 공유하고 피드백 받고싶습니다. 액티비티에서 서버로 부터 요청을 통해 응답받은 것을 화면에 보여주는 시나리오를 통해 예시를 들려고 합니다! * 기본적으로 모든 데이터는 presenter를 통해 이동하고 있으며 모델과 뷰는 서로를 모르고 있습니다. Input은 view를 통해 들어옵니다. 그럼 바로 시작- Presenter를 만들기전 필요한 기능이 있는 인터페이스를 만들어줘야 합니다. 저는 간단하게 이정도로 선언해줬습니다. 여기서도 저희가 사용할 메소드는 requestSendImgApi로 imagePath 파라미터를 제외하고는 Nul..

Android/미분류

안드로이드 객체 추출 최종결과

앱의 이름은 PickPic으로 정했다.픽픽! 입에 착 감기지 않는가- (나만 그런가 보다) 앱의 디자인은 같은 동아리의 디자이너님이 해주셨다 (YAPP 디자이너 박주연님 감사합니다.) 다음은 서비스 구성도이다. 1. 사용자가 사진을 찍거나, 앨범에 저장된 사진을 불러온다.2. 이미지내의 색공간, 물체만이 가질 수 있는 특징점, 가중치 등을 통해 객체를 추정한다.3. 정확도를 높이기 위해 추정된 객체만을 서버로 보낸다.4. 서버에서는 텐서플로우를 이용하여 객체와 유사한 이미지등 메타 정보를 내려준다. (총 790개의 카테고리와 32만개의 이미지가 학습되었으며, 학습량은 300만회로 3일가량 걸렸다.)5. 물건을 클릭하여 구매까지 원클릭으로 이어지도록 한다. 간단한 앱의 영상은 youtube에서 볼수 있다...

Nanamare
'Android' 카테고리의 글 목록 (10 Page)