약 2-3주쯤 전에 회사에서 지급 받은 맥북은 최근에 새로 출시한 M1 맥북 에어였다. 평소 집에서는 2017년형 맥북프로를 사용해서 설레는 마음으로 사용하는 중인데 이게,, 참,,, 개발하면서 개발환경을 셋팅한다거나 특정 기능을 사용할때 "arm64 지원 안함! ^오^!!" 라는 에러를 내뱉는다... 실제로 이런식으로 직관적으로 알려주는 것도 아니고 듣도보도 못한 에러를 보고 서치를 열심히 한 결과 알아내는 경우가 많다. 나는 플러터 개발을 하고 있고 빌드 테스트도 가지고있는 안드로이드 기기와 IOS기기를 사용해서 테스트를 하기 때문에 에뮬레이터를 사용할 일이 없었다. 그러나 최근에 회사에서 서비스하는 어플에서 파일 업로드가 잘 안된다는 문의가 있었고 떨리는 마음으로 가지고있는 기기들을 사용해 테스트를..
얼마전에 출시한 어플을 업데이트 하는 과정에서 alias비밀번호를 분실하는 상황이 발생했다. 하마터면 앱을 삭제하고 새롭게 다시 출시할뻔했다.. 지금부터 alias비밀번호를 찾는 방법을 설명할텐데 사용하던 keystore파일이 필요하다(.jks로 끝남) 우선 keystore파일이 있는 폴더로 이동한다. shift를 누른채로 keystore가 있는 폴더의 여백을 우클릭한다. 여기에 PowerShell 창 열기를 누른다. https://maxcamillo.github.io/android-keystore-password-recover/index.html Android-keystore-password-recover by MaxCamillo Android Keystore Password Recovery A few..
위와같이 스피너를 추가해준다 var spinnerArray = arrayListOf) 위처럼 배열을 하나 선언해준다. //스피너 셋팅 fun setSpinner() { var arrayAdapter = ArrayAdapter( applicationContext, android.R.layout.simple_spinner_dropdown_item, spinnerArray ) category_Spinner.setAdapter(arrayAdapter) category_Spinner.setOnItemSelectedListener(object : AdapterView.OnItemSelectedListener { override fun onItemSelected(adapterView: AdapterView, view..
allprojects { repositories { google() jcenter() } } 제일먼저 project경로의 그래들 파일에 위와같이 추가해준다. android { compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } } 그리고 app경로의 그래들 파일에는 위와같이 추가해준다. exoplayer2가 자바8을 사용하기 때문이다. //exoplayer implementation "com.google.android.exoplayer:exoplayer-core:2.11.1" implementation "com.google.android.exoplayer:exoplayer-ui:2.11.1" implementation "com.googl..
// 실제 경로 찾기 private fun getPath(uri: Uri): String { val projection = arrayOf(MediaStore.Images.Media.DATA) val cursor = managedQuery(uri, projection, null, null, null) val column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA) cursor.moveToFirst() return cursor.getString(column_index) } // 파일명 찾기 private fun getName(uri: Uri): String { val projection = arrayOf(MediaStore.Image..
class URLtoBitmapTask() : AsyncTask() { //액티비티에서 설정해줌 lateinit var url:URL override fun doInBackground(vararg params: Void?): Bitmap { val bitmap = BitmapFactory.decodeStream(url.openStream()) return bitmap } override fun onPreExecute() { super.onPreExecute() } override fun onPostExecute(result: Bitmap) { super.onPostExecute(result) } } 위와같이 이미지 처리를 위한 클래스를 하나 만들어준다. var image_task: URLtoBitmapT..
위 코드중에 android:scaleType="centerInside" 이 부분을 사용해서 고칠 수 있음 MATRIX = 원본 크기 그대로 보여줌 (왼쪽상단 정렬) CENTER = 원본 크기 그대로 보여줌 (가운데 정렬) CENTER_CROP = View 영역에 공백이 있으면 채워서 보여줌(비율유지) CENTER_INSIDE = View 영역을 벗어나면 맞춰서 보여줌(비율유지) FIT_START = View 영역에 맞게 보여줌 (왼쪽상단 정렬, 비율유지) FIT_CENTER = View 영역에 맞게 보여줌 (가운데 정렬, 비율유지) FIT_END = View 영역에 맞게 보여줌 (왼쪽하단 정렬, 비율유지) FIT_XY = View 영역을 가득 채워서 보여줌(비율유지 안함) 출처: http://isntye..
Crtl + Alt + L
- Total
- Today
- Yesterday
- redis
- 해결
- DART
- Kotlin
- 코틀린
- django server
- Hummingbird
- password
- mysql
- 안드로이드스튜디오
- 알고리즘
- 에러해결
- Git
- WAS
- Tutorial
- 에러
- socket.io
- CHANNELS
- flutter
- github
- Django
- springboot
- 안드로이드
- Android
- flame
- node.js
- chatting
- RecyclerView
- 플러터
- Android Studio
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |