전체 글 186

YoutubePlayerView 소개

안녕하세요 안드로이드 개발자 SieunJu 입니다. 최근에 유튜브 플레이어 라이브러리를 만들어서 한번 간략히 소개 할까 합니다. 유튜브 플레이어 깃 주소 1. 계기 우선 아주 예전에 만들어진 자체 유튜브 API가 jar 있었습니다. 하지만 그건 현재 사용하기에는 많은 어려움이 있고 무엇보다 androidx 가 없습니다. 그래서 이거를 대응하기위해 어떤 외국인이 만든 라이브러리 보통 사용합니다. 이 라이브러리는 사람들이 많이 사용하고 되게 잘 만들었긴 했지만, 기본 베이스가 WebView를 처음에 초기화를 하기 때문에 RecyclerView 에다가 바로 넣으면 버벅이는 이슈가 있었습니다. 그래서 따로 커스텀하게 만들어서 사용해야 한다는 단점이 있었습니다. 그래서 유튜브 라이브러리 한번 만들어 볼까? 라는 ..

android 2021.07.22

ADB Wifi 로 디버깅하기

이번 글은 이전부터 사용하고 있었는데 홍익인간 정신으로 다른 사람들한테도 알려두면 좋을거 같아 올리게 되었습니다. 사양 OS : Mac or Window (솔직히 둘다 상관 없음 집에서는 인텔 Mac 사용하고 있고, 회사에서는 윈도우로 사용중입니다.) IDE : Android Studio 4.1.2 설치 및 사용 방법 (MAC 기준) 좌측 상단 메뉴바에 보면 Preferences메뉴가 있습니다. 클릭! 사이드 메뉴에 Plugins 메뉴 클릭! WIFI 검색하게 되면 여러가지 툴들이 보이는데 dengzii 형님께서 만든 툴을 설치합니다. (저는 이미 설치되어 있어서 Intalled 상태입니다.) 설치가 완료되면 Android Studio 재실행할거냐고 물어보는데 재실행 하면 됩니다. 상단 메뉴바에 Tool..

android 2021.07.22

Android Custom ProgressBar 만들기

[Android ProgressBar?][SurfaceView 기반의 ProgressBar] 우선 개발을 하다가 기존 안드로이드에서 제공하는 ProgressBar 클래스가 있는데 이거에 크나큰 문제점을 발견 하였다. 그 문제점인게 무엇이냐면 ProgressBar 가 문제 인게 아니라 Android View 자체의 문제점이라고 있고, Developer 사이트에 들어가면 ProgressBar 는 결국 View 로 상속되어 있는 녀석입니다.그 말인 즉슨 해당 뷰가 빠르게 갱신해야 하는 요건이 들어오면 사용자가 원하는 만큼의 퍼포먼스를 못본다는 문제입니다.그래서 Android 니까 이 문제는 해결을 못한다? 기본으로 제공하는 클래스의 한계점이 있어서 이 문제를 해결못한다는거는 말이 안되는 것이라 판단하여 Sur..

android 2019.02.17

NAS 장비 교체 후기

안녕하세요~ 오랜만입니다~ 우선 제가 3개월전 시놀로지 NAS를 구입하고 나서 한동안 일반 하드로 꾸역꾸역 살고 있다가안되겠다 싶어서 WD 사의 NAS HDD 4 테라짜리 2개를 구입했습니다.~뽑기로 외장하드 8TB 살려고 했지만, 야레야레 4TB 빨간 하드 구입했습니다.이유는 현재 2테라짜리 하드에 겨우 500기가 정도 사용하는데 8테라는 너무 멀고 먼 예기라..어차피 소스파일도 형상관리 하고 있어서 용량을 더더욱 안먹더군요..ㅎㅎ;' 그리하여 저 도시바랑은 근 2년을 함께 한 녀석입니다. 이 새로운 녀석과 함께 지내려고 합니다~ ㅎㅎNAS 처음 살때 엄청 해멨던 기억이 납니다ㅜㅜ 그래서 설치하고 나서 이제 셋팅을 합니다. 저 암걸릴거 같은 화면을 한번 더 보다니..처음엔 저거 껐다가 다시 키고 별 쇼..

etc 2019.01.12

[java] AsynchronousServerSocketChannel 를 이용한 비동기 서버

안녕하세요. 아직 완성은 되지 않았지만, 간단한 핑퐁은 (클라이언트 1000명 및 패킷교환은 초당 10번정도) 주고 받을수 있는 서버를 소개할려고 합니다. 위 파일을 다운 받으신후 알맞은 경로에 위치 시킵니다. 그후 위 캡처 사진처럼 패키지클릭후 마우스 오른쪽 버튼 클릭 -> Build Path -> Configure Build Path 클릭합니다. 그후 위 캡처 화면에 'Add External JARs..' 버튼 클릭후 JNetwork-1.0version.jar 파일을 추가 합니다. 그러면 아래 사진처럼Referenced Libraries안에 추가 된것을 확인할수가 있습니다. 이후 사용법은 간단합니다. 우선 자바 클래스 하나를 생성합니다.그리고 'JNetServer' 를 상속 시킵니다. 이후, 오버라이..

java 2018.05.27

[java] short to byte array convert

안녕하세요 jsieun 입니다. 제목 그대로 short 형을 byte 배열로 변환해주는 코드 소개해드리도록 하겠습니다. private void setShort(short value) {byte [] byteArray = new byte[2];if(isJava){byteArray[0] = (byte) ((value >> 8 )& 0xFF);byteArray[1] = (byte) (value & 0xFF);}else{byteArray[0] = (byte) (value & 0xFF);byteArray[1] = (byte) ((value >> 8 )& 0xFF);}} isJava -> 이 변수의 의미는 자바에서 byte화 한 byteArray 인지를 판별하는 변수가 되겠습니다. java 에서 byte 한것과 c..

java 2018.05.06

[java] byte array -> String convert

안녕하세요 jsieun 입니다. 두서 없이 제목 그대로 byte array -> String 로 변환 해주는 소스 소개해드립니다. (비트 연산자를 잘 파악하면 이해하기 쉽습니다.) /** * byte [] -> String convert * * @return * @author jsieun */public String getString() {// 포지션 값보다 데이터 사이즈값이 더 작을경우 올바른 데이터가 아님.if (bufSize < position) {return "";}StringBuffer str = new StringBuffer();short strSize = byteArray[0];// 헤더 2bytes + 문자열 사이즈if (hasData(SHORT_SIZE + strSize)) {// Jav..

java 2018.05.06

[Java] byte array -> short 변환

안녕하세요 jsieun 입니다. 두서 없이 제목 그대로 byte array -> short 로 변환 해주는 소스 소개해드립니다. (비트 연산자를 잘 파악하면 이해하기 쉽습니다.)/** * byte [] -> short convert * * @return short * @author jsieun */public short getShort() {// java 이외 바이트 계산if (hasData(SHORT_SIZE)) {if (isJavaClient) {return (short) ((byteArray[0] & 0xFF 이 변수의 의미는 자바에서 byte화 한 byteArray 인지를 판별하는 변수가 되겠습니다. java 에서 byte 한것과 c/c++ c# 에서 byte 한것이 서로 달라서 그에 맞게 처리한..

java 2018.05.06

android RecylcerView ImageResize (카카오톡 이미지 커지는 애니메이션 구현 방법)

오랜만에 포스팅을 하게 되었습니다. 일단 어떤걸 말하는 건지 이해가 잘 안되는 분들을 위해서 알려드리도록 하겠습니다. 우선 카카x톡을 들어가면 저 텝이 보이는데 저 텝을 클릭해서 스크롤을 하면 영상이 점점 커져서 보이는 애니메이션 같은게 있습니다. (이 구현영상은 제가 구현한 것으로 실제 녹화해서 찍은 영상입니다.) 제가 만든 것은 이미지로 구현했지만 카카x톡에서는 영상으로 되어있습니다. (딱히 상관은 없습니다.) 이제 본론으로 넘어와서 저것이 어떻게 구현되는건지 소스에 대해서 부분부분 보여드리도록 하겠습니다. -CustomLinearLayoutManager.java-package com.example.jsieu.work.view; import android.content.Context; import a..

android 2018.01.13