목록[Android] (30)
민프
SDK는 Software Developer’s Kit의 약자로 주로 UI를 기반으로 특화된 API를 제공하여 Application Level에서의 개발을 쉽게 해주며, 기반은 Java Language이다. 따라서 SDK는 일반적인 Android Application 개발에 사용되며, Android Emulator를 내장하고 있어 Build와 동시에 바로 Test까지 가능하다.( 단, H/W를 직접 사용해야 하는 Application은 Test가 힘들다. ) 반면, NDK는 Native Developer’s Kit의 약자로, SDK와 마찬가지로 Application을 개발하는데에 사용되는 Framework이지만 Java 대신에 C/C++ Language를 이용하여 개발할 수 있다. 따라서 NDK는 Appl..
WebRTC란 무엇일까? 웹 브라우저 기반의 통신 방식인 WebRTC는 구글이 오픈 소스화한 프로젝트에서 기원하였다 오픈 소스 - 위키백과, 우리 모두의 백과사전 오픈 소스(open source) 제품에는 소스 코드,[1] 디자인 문서,[2] 또는 제품의 내용을 사용할 권한이 포함된다. 대체적으로 이를 오픈 소스 모델이라고 부르며 여기서 오픈 소스 소프트웨어나 기타 제 ko.wikipedia.org MDN 에서 WebRTC를 이렇게 정의하였다. https://developer.mozilla.org/ko/docs/Web/API/WebRTC_API WebRTC(Web Real-Time Communication)은 웹 애플리케이션과 사이트가 중간자 없이 브라우저 간에 오디오나 영상 미디어를 포착하고 마음대로 ..
https://developer.android.com/studio/run/emulator-acceleration?hl=ko#vm-windows-haxm-intel Android Emulator의 하드웨어 가속 구성 | Android 개발자 | Android Developers Android 에뮬레이터가 하드웨어 가속 기능을 사용하여 성능을 개선할 수 있는 방법을 알아보세요. developer.android.com 안드로이드 개발 문서에 Emulator의 가속을 하는 방법이 있어서 이대로 해보려고 한다. 1. Intel HAXM를 다운로드 받는다 https://github.com/intel/haxm/releases Releases · intel/haxm Intel® Hardware Accelerated E..
문의하기를 눌렀을때 이메일을 보낼 수 있도록 해보자 public void onClick(View v) { Intent emailSelectorIntent = new Intent( Intent.ACTION_SENDTO ); emailSelectorIntent.setData( Uri.parse( "mailto:" ) ); String[] address = {"email@address.com"}; final Intent emailIntent = new Intent( Intent.ACTION_SEND ); emailIntent.putExtra(Intent.EXTRA_EMAIL, address); emailIntent.putExtra(Intent.EXTRA_SUBJECT,""); emailIntent.putExt..
FCM을 이용해서 알림 Push를 해보자! FCM이란 Firebase Cloud Messaging이고, 카카오톡에서 나에게 채팅이 오면 Push 알림이 오는 것 처럼 이 FCM을 이용하면 앱을 이용하는 이용자들에게 알림을 보내줄 수 있다. 1. 먼저 프로젝트 만들기 https://console.firebase.google.com/u/0/ 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com -1) 프로젝트 만들기 누르기 -2) 프로젝트 이름 지정 이렇게 해주면 프로젝트가 생성된다. 2. 앱을 추가하여 시작하기 패키지 이름에는 나의 어플의 패키지 이름을 넣고 앱 등록을 눌러주면 구성 파일 다운로드가 나오는데 이것을 다운로드 ..
일단 프로필 사진 CROP에 필요한 라이브러리를 찾아보았는데 https://ourcodeworld.com/articles/read/930/top-10-best-android-image-cropping-crop-widget-libraries https://github.com/ArthurHub/Android-Image-Cropper ArthurHub/Android-Image-Cropper Image Cropping Library for Android, optimized for Camera / Gallery. - ArthurHub/Android-Image-Cropper github.com 이 라이브러리를 사용해서 진행하였다. 진행 순서는 1. Manifest에 해당 라이브러리에 대한 내용 추가 2. Gradd..
여행기 정보를 PDF로 옮길때 텍스트 부분을 canvas.drawText를 이용해서 그려줬는데 밑 사진 처럼 MultiLine이 되지 않고 가로로 쭉~ 이어져서 모든 내용을 볼 수가 없었다.. 글자가 전체 Layout의 폭을 넘어갈때 자동으로 밑으로 넘겨주는 것을 찾아보았는데 안드로이드에서 기본으로 제공하고 있는 StaticLayout이 있었다~(역시 구글링..) StaticLayout을 이용하기 위해 API 24 부터는 Builder을 이용한 생성자방식을 사용하여야 한다. String get_memo = pdf_root_text_memo.getText().toString(); title_paint.setTextAlign(Paint.Align.CENTER); title_paint.setTypeface(T..
저번 포스트에는 https://minf.tistory.com/4 [Android] 여러 페이지의 PDF 로 만들어보자(PdfDocument, Paint, Canvas, 레이아웃 캡쳐) 현재 여행 다이어리 관련 어플을 만들고 있는데 내가 만든 여행기의 여행 루트, 사진, 메모 등을 여행 루트당 정보를 한 페이지의 PDF로 만들어 보려고 한다. 사용되는 주요 클래스로는 PdfDocument, minf.tistory.com 하드 코딩으로 텍스트, 이미지를 넣어서 한 페이지의 PDF를 구현해보았는데 이번에는 DB에 있는 내용을 가지고 와서(밑 사진 참고) 한 게시물에 있는 여행 루트의 개수 만큼 PDF를 만들어보자!! 내가 생각한 작업 진행 방법으로는 dataList 0번 아이템만 가지고 와서 1장 만들어보기 ..
현재 여행 다이어리 관련 어플을 만들고 있는데 내가 만든 여행기의 여행 루트, 사진, 메모 등을 여행 루트당 정보를 한 페이지의 PDF로 만들어 보려고 한다. 사용되는 주요 클래스로는 PdfDocument, Canvas , Paint이다. 내가 생각한 진행으로는 2가지가 있다. 1. 여행기 루트 정보 -> 레이아웃에 정보 넣기 -> 레이아웃을 Bitmap으로 캡쳐 -> Bitmap을 Canvas에 넣고 -> PDF로 생성 (계단현상 발생) 2. 여행기 루트 정보 -> 텍스트는 canvas.drawText, 이미지는 canvas.drawBitmap 으로 그려주기 -> PDF 생성 (Text MulitLine 문제 => StaticLayout으로 해결) * 1번 방법에 대한 문제점: 캡쳐를 하는 것 이기 때..
public Bitmap resizeBitmapImageFn(Bitmap bmpSource, int maxResolution){ int iWidth = bmpSource.getWidth(); //비트맵이미지의 넓이 int iHeight = bmpSource.getHeight(); //비트맵이미지의 높이 int newWidth = iWidth ; //새로운 비트맵 이미지의 넓이 int newHeight = iHeight ;//새로운 비트맵 이미지의 높이 float rate = 0.0f; //이미지의 가로 세로 비율에 맞게 조절 if(iWidth > iHeight ){ if(maxResolution < iWidth ){ rate = maxResolution / (float) iWidth ; newHeight..