디자인 없이 개발을 하다보니 직접 찾아서 해야하는게 많네요. 색상 버튼을 만들다 동그라미 버튼을 만들어야해서 찾아낸 방법이에요. 버튼을 만들어주는 site가 있어요. http://angrytools.com/android/button/ Android Button Maker angrytools.com 동그라미 버튼은 가로,세로 같은 크기로 설정하고 android:radius를 100으로 변경하면 동그라미 버튼이 만들어집니다. button_shape.xml 파일은 drawable 폴더에 복사 레이아웃 xml의 버튼에서 위에 만든 파일을 background로 설정 ColorPicker에 사용하는 버튼이라서 선택된 색상 표시를 해줄 필요가 있다고 생각이되어 배경색을 변경하기 위한 방법 val roundDrawab..
서버에 이미지파일을 전송하는데 thumbnail 이미지 파일도 전송을 해달라고 요청이 왔어요. 검색을 하다보니 썸네일 이미지를 파일로 저장해서 보내는것들이 있었지만, 파일로 저장하면 안되는 조건이라 몇일을 검색해서 방법을 찾았네요. ^^ 안드로이드 스튜디오 3.6으로 업그레이드 하면서 androidX 적용하고 코드에 에러가 발생했어요. 현재 수정된 방법 implementation 'com.github.bumptech.glide:glide:4.11.0' 파일명으로 bitmap 이미지를 가져와서 변환하는 방법이 있었네요. val outputStream: OutputStream? = ByteArrayOutputStream() val originalBitmap = BitmapFactory.decodeFile(t..
다운로드 받은 이미지파일을 이미지뷰어로 보여주기 위한 Intent 작업. File f = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath(), fileName); Uri uri = Uri.fromFile(f); // 다른 App에 파일처리할때 오류 발생 예외처리 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { try { Method m = StrictMode.class.getMethod("disableDeathOnFileUriExposure"); m.invoke(null); } catch (Exception e) { e.p..
카메라앱에서 동영상 녹화를 하고 안드로이드 단말기에 설치되어 있는 동영상 App으로 재생을 하려고 했으나, Exception이 발생. 서로 다른 App에서 파일 공유가 제한이 되어 있어 이 문제를 해결하기 위해 Provider를 쓰려고 했으나 잘 안되서 아래의 코드로 해결하였다. Intent 보내기전에 아래의 코드를 추가하니 잘된다. 다행이다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { try { Method m = StrictMode.class.getMethod("disableDeathOnFileUriExposure"); m.invoke(null); } catch (Exception e) { e.printStackTrace(); } } 출처: htt..
동영상 자동재생 안되는 문제가 발생했다. 다른 웹뷰에서는 자동재생이 잘 되는데 내가 만든것만 안된다. 아.. javascript로 동영상 자동재생 그러나 웹뷰에서 에러 발생하며 동영상 자동재생이 안됨. error log : NotAllowedError: play() can only be initiated by a user gesture. WebView 설정을 변경하여 동영상 자동재생 가능 settings.mediaPlaybackRequiresUserGesture = false 참고 : https://developer.android.com/reference/android/webkit/WebSettings.html#setMediaPlaybackRequiresUserGesture(boolean)
WebView로 앱을 만들고 있는데 본인인증하는 본인인증 버튼을 눌러도 아무런 동작이 안되는 문제 발생. 검색을 해서 onCreateWindow() 함수를 정의해 줬지만, 화면이 겹쳐보이는 문제가 다시 발생. onCreateWindow 함수로 검색을 해서 원하는 문제를 해결할 수 있었다. 1. WebView의 설정 KOTLIN webview.apply { settings.javaScriptEnabled = true settings.setSupportMultipleWindows(true) settings.javaScriptCanOpenWindowsAutomatically = true } 2. WebChromeClient의 onCreateWindow() 설정 @Override public boolean on..
Push message를 받았을 때에 화면에 새로운 창을 띄워주기 위해 Activity를 만들었으나화면 잠금 상태에서 보이지 않는 문제가 있어 Window의 attributes 속성값을 변경하여 작업. 잠금 화면 상태에서도 설정한 화면이 잘 보이게 되었다. requestWindowFeature(Window.FEATURE_NO_TITLE); WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(); layoutParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.La..
Base64 인코딩/디코딩을 하다보니 한글이 깨지는 문제가 있네요. 검색을 해보니 한글은 16bit라서 그냥 Encoding을 하는게 아니라 byte로 변환해서 Encoding을 해야 하네요.. * 한글 인코딩String base64Encoding = new String(Base64.encode(jSonBigInfo.toString().getBytes(), Base64.DEFAULT)); * 한글 디코딩base64Decoding은 위에서 인코딩한 Stringtry { String decodingStr = new String(Base64.decode(base64Encoding, 0), "UTF-8").trim(); } catch (UnsupportedEncodingException e) { e.printS..
예전에 했었는데 시간이 지나 다 잊어버리는구나.한참을 헤메다가 방법을 찾았다.. String decodingStr 이것이 XML String으로 doc로 변환해서 사용하면 되는구나. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); StringReader sr = new StringReader(decodingStr); InputSource is = new InputSource(sr); Document doc = db.parse(is);
- Total
- Today
- Yesterday
- 알림소리묵음처리
- 한글깨짐
- 안드로이드
- Kotlin
- 난왜테스트가안될까
- 작업은했는데
- 음원파일재생
- Android
- 알림허용
- #buildconofig
- 웹뷰
- 새로올린테스트앱이안보이네
- app restart
- #gradle.properties
- Activity 크기 변경
- 알림소리끄기
- 이미지파일공유
- base64
- height변경
- 이미지파일보기
- webview
- VolleyFileUploadRequest
- onShowCustomView
- nodejs
- FileDataPart
- px to dp
- px -> dp
- SWIFT
- areNotificationsEnabled
- 인앱 업데이트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |