본문 바로가기

프로그래밍/Android-Java34

[ANDROID] custom toast 커스텀 토스트 토스트를 사용하던 중에 배경이 회색인게 마음에 안들어서 커스텀 토스트를 만들어 보았다. res/layout/toast_custom.xml res/drawable/custom_bg.xml 위의 코드처럼 layout을 꾸며보았다. 그러면 다음과 같이 나온다 ! java 코드는 다음처럼 작성하면 끝 ! private TextView toast_msg; private Toast toast; //------------------------------------- LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.toast_custom, (ViewGroup) findViewById(R.id.custom_toas.. 2020. 12. 15.
[ANDROID] Dialog 밖의 어두운 배경 없애기 dialog를 생성 후 띄우면 dialog를 제외한 나머지 배경은 어둡게 변한다... 나는 어두운 배경으로 변하는게 싫어 없애는 방법을 찾았다. dialog = builder.create(); dialog.getWindow().setDimAmount(0); // background remove dialog.show(); 다음과 같이 dialog.getWindow().setDimAmount(0); 를 추가해주면 !!! 배경이 어둡게 변하지 않는다 !!! 2020. 12. 14.
[ANDROID] java.lang.IllegalArgumentException: Comparison method violates its general contract! 앱을 실행시켜놓고 아침에 와서 봤더니 다음과 같은 에러가 나고 제대로 실행이 안되고 있었다... FATAL EXCEPTION: inference java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeLo(TimSort.java:777) at java.util.TimSort.mergeAt(TimSort.java:514) at java.util.TimSort.mergeCollapse(TimSort.java:441) at java.util.TimSort.sort(TimSort.java:245) at java.util.Arrays.sort(Arrays.java:1498.. 2020. 12. 4.
[ANDROID] 두 점의 각도 구하기 두 점의 각도 구하는 방법 public static double angleOf(PointF p1, PointF p2) { // NOTE: Remember that most math has the Y axis as positive above the X. // However, for screens we have Y as positive below. For this reason, // the Y values are inverted to get the expected results. final double deltaY = (p1.y - p2.y); final double deltaX = (p2.x - p1.x); final double result = Math.toDegrees(Math.atan2(deltaY,.. 2020. 11. 17.
[ANDROID] base64 string 변환 public static String getBase64String(Bitmap bitmap) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); byte[] imageBytes = byteArrayOutputStream.toByteArray(); return Base64.encodeToString(imageBytes, Base64.NO_WRAP); } String encoded = android.util.Base64.encodeToString(bytes, android.util.Base64... 2020. 10. 29.
[ANDROID] drawable 파일 bitmap 변환 public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = null; try { if (drawable instanceof BitmapDrawable) { BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; if (bitmapDrawable.getBitmap() != null) { return bitmapDrawable.getBitmap(); } } if (drawable.getIntrinsicWidth() 2020. 10. 29.
[ANDROID] dp 값 px 변환 public static float dipToPixels(Context context, float dipValue) { DisplayMetrics metrics = context.getResources().getDisplayMetrics(); return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, metrics); } 2020. 10. 29.
[ANDROID] bitmap byte array 변환 public static byte[] bitmapToByteArray( Bitmap bitmap ) { ByteArrayOutputStream stream = new ByteArrayOutputStream() ; bitmap.compress( Bitmap.CompressFormat.PNG, 100, stream) ; byte[] byteArray = stream.toByteArray() ; return byteArray ; } public static Bitmap byteArrayToBitmap(byte[] bytearr) { return BitmapFactory.decodeByteArray(bytearr, 0, bytearr.length); } 2020. 10. 29.
[ANDROID] camera preview frame byte array to bitmap public void onPreviewFrame(final byte[] bytes, final Camera camera); 위의 onPreviewFrame에서 byte array 데이터를 bitmap 으로 변환하는 방법은 Camera.Parameters parameters = camera.getParameters(); YuvImage yuv = new YuvImage(bytes, parameters.getPreviewFormat(), APP_PREVIEW_WIDTH, APP_PREVIEW_HEIGHT, null); ByteArrayOutputStream out = new ByteArrayOutputStream(); yuv.compressToJpeg(new Rect(0, 0, APP_PREVIEW_WIDT.. 2020. 10. 19.
[ANDROID] Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug' Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug' implementation 'com.github.PhilJay:MpAndroidChart:v3.1.0' 를 불러와 쓰려고 했더니, 빌드 시 다음과 같은 에러가 떴다... 검색해 본 결과, app > build.gradle에 아래와 같이 추가해주면 빌드 성공 ! android { packagingOptions { exclude 'META-INF/proguard/androidx-annotations.pro' } } 2020. 10. 16.