본문 바로가기

Study/Android

(73)
[Android] Zoom Layout A 폰에서 특정 영역에 대해 zoom in/out 을 한 부분을 B 폰에서 특정 영역 zoom in/out 한 부분을 보여주고자 할 때 넘길 좌표값 구하기 이것때문에 개고생을 했지만.. 그래도 할 만 했다. 기존 소스 편집한 거라 안 맞는 부분 있을 수 있음. ZoomLayout.java public class ZoomLayout extends View { private static final String TAG = "zoom"; private Context mContext; private OnTouchResultListener mListener; private ZoomLayoutTouchListener mZoomLayoutTouchListener; private ScaleGestureDetector m..
[Android] Too many open file 에러 해결 Retrofit을 이용해서 통신을 하던 와중에 연달아 통신을 해야할 부분이 생겼다. 폴링할 때는 아무 문제 없었지만, 한꺼번에 많은 정보를 보내야할 때 'Too many open file' 에러가 발생하면서 앱이 재실행되는 현상이 발생하면서 문제가 생겼다. 처음에는 Retrofit으로 해결을 하려고 했지만, 이 부분만큼은 Http Connection으로 하는 게 좋겠다 싶어 추가했다. 아래 소스들은 중요한 부분만 편집했다. NetSSL.java는 실질적으론 https 통신할 때 쓰는 부분이긴 하지만 다음에 쓸 일이 생길 것 같아 넣었다. DefaultHttpClient 사용 시, 연결한 connection이 마무리 되기 전에 동일한 DefaultHttpClient instance를 사용하게 되면 Ille..
[Android] ExoPlayer V2 ExoPlayer V2 참고 : https://codelabs.developers.google.com/codelabs/exoplayer-intro/#7 ExoPlayer Media Track 가져오기 재생되고 있는 영상의 비디오 트랙, 오디오 트랙 exoplayer 에서 가져오기 ExoPlayerManager.java public class ExoPlayerManager { private Activity mActivity; private SimpleExoPlayer mPlayer; private PlayerView mPlayerView; private boolean isShouldAutoPlay = true; private DefaultTrackSelector mTrackSelector; private ..
[Android] Scale Animation 크게 도움은 안되었지만 Scale Animation 만들 때 참고 http://blogs.innovationm.com/scale-animation-in-android-how-it-works/
[Android] wifi 원격 디버깅 [adb가 환경변수로 지정되어있다는 가정 하에 진행] serendipper16.tistory.com/6 1. USB 연결 상태로 터미널 / 콘솔 진입 2. $ adb devices 연결된 디바이스 확인 (목록이 없으면 없는 것, 연결해줘야함) 3. $ adb tcpip 5555 원격으로 제어할 포트 번호 설정 4. 연결되어있던 USB와 디바이스 제거 5. 디바이스의 ip 주소 확인 설정 -> 연결 -> Wi-fi -> 상단 오른쪽 클릭 -> 고급 -> 하단에 설정된 IP 주소 확인 6. $ adb connect 원격할 디바이스의 IP:포트번호 원격할 디바이스의 IP : 5번에서 확인한 IP 주소 포트번호 : 3번에서 설정한 포트번호 예시) adb connect 192.168.0.111:5555 conne..
[Android] GestureDetector Top/Bottom/Up/Down GestureDetectorCompat gestureDetectorCompat = new GestureDetectorCompat(this, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { float angle = (float) Math.toDegrees(Math.atan2(e1.getY() - e2.getY(), e2.getX() - e1.getX())); if (angle > -45 && angle = 135 && angle -..
[Android] Touch Event + SeekBar Touch Event 로 슬라이드 시 SeekBar도 변경 public class SlideSeekBar extends SeekBar{ /** Factor */ private float factor = 1; public float getFactor(){return factor;} public void setFactor(float factor){this.factor = factor;} /** Constructors */ public SlideSeekBar(Context context) { super(context); this.customiseOnTouch(); } public SlideSeekBar(Context context, AttributeSet attrs){ super(context, attrs);..
[Android] 가로 리스트 뷰 package com.meetme.android.horizontallistview; import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.database.DataSetObserver; import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; import..