일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- android fragment
- android error
- jQuery
- release unsigned
- Android Apk 이름
- css
- Android Apk 이름 변경
- Kotlin
- FLUTTER
- Android Apk
- MySQL
- JavaScript
- Program type already present
- spring
- Exception
- 안드로이드
- DataTable
- tomcat
- R프로그래밍
- error
- apache gzip
- Eclipse
- Android
- CSS사용법
- java error
- Java
- Firebase
- html
- release Apk
- fragment
- Today
- Total
목록Android (34)
selfstarter
Android Apk 이름 변경하기 apk 이름 변경하기(debug, release 둘 다 적용 가능) android { defaultConfig { applicationVariants.all { variant -> variant.outputs.all { output -> def dateStr = new Date().format("yyyyMMdd"); outputFileName = "${dateStr}${defaultConfig.versionCode}${outputFileName}"; } } } }
release apk파일에 unsigned가 apk 이름에 붙어서 생성되다면 서명 정보가 없는 것이다. gradle로 만들면서 서명을 하지 않은 경우이다. 그 땐 build.gradle(:app) 에서 buildTypes 에서 서명 정보를 넣는다. key 정보 android { signingConfigs { release { keyAlias = 'keyAlias' storeFile file('storeFile\\platform.jks') storePassword 'storePassword' keyPassword 'keyPassword' } } } release 파일에 서명 signingConfigs의 release의 설정으로 서명 android { buildTypes { release { minifyEn..
Multiple flavorDimensions https://developer.android.com/studio/build/build-variants.html#flavor-dimensions flavorDimensions 으로 여러 조합을 만들어 낼 수 있음. 아래에는 server가 개발서버인지, 상용서버인지에 따라서 dev, prod로 나누고 api 수준에 따라서 minApi24, minApi23, minApi21 로 나눔 즉 server 버전과 api버전을 각 한개씩 골라서 환경을 구성할 수 있음. 아래 조합으로 나올 수 있는 버전은 다음과 같음 devMinApi21Debug : 개발 서버의 최소 API21 디버그 APK devMinApi21Release : 개발 서버의 최소 API21 릴리즈 APK..
An enum switch case label must be the unqualified name of an enumeration constant 아래와 같이 enum값을 사용했는데 An enum switch case label must be the unqualified name of an enumeration constant 라는 에러가 났다. class명을 적지 말고 오로지 enum의 값만 적으면 된다 switch (fragmentType) { case Common.FRAGMENT_TYPE.ITEM_LIST : break; case Common.FRAGMENT_TYPE.ITEM_DETAIL : break; case Common.FRAGMENT_TYPE.ITEM_TYPE_DETAIL : break; }..
Lambda expressions are not supported at language level '7' 현재 자바버전이 람다를 지원하지 않아서 발생하는 에러 build.gradle(Module:app)에서 android {} 안에 compileOptions를 추가하면 에러가 해결된다 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } 또 다른 방법으로 File-Project Structure에서 Properties에서 자바 버전을 변경해도 된다
build.gradle 에서 dependencies dependencies { implementation 'com.github.bumptech.glide:glide:4.11.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' } 2. xml에 imageView 추가 3. Glide 사용. load에 image url이나 local image path를 넣고 error에는 error 일 때 img url을 넣는다. into함수 안에는 image를 넣을 ImageView 객체를 param으로 넘겨준다 val img : ImageView = findViewById(R.id.img); Glide.with(this).load("https://cd..
android의 공용path에 image 저장 1) Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM) 으로 DCIM 폴더 위치 가져오기. 여기서 내가 생성할 폴더 이름을 추가하고 폴더를 생성한다.(DCIM폴더는 사진, 동영상을 저장하는 폴더) 2) 파일 객체를 생성하고 파일이름이 중복되었는지 체크한다. 중복이라면 실패 3) 파일에 쓸 output Stream을 생성 4) bitmap을 resize해서 새로운 bitmap을 만든다 5) compress함수로 bitmap을 PNG로 변경하고 결과를 output stream에 저장한다, 6) output stream을 닫는다 지금 확인해보니 이미지가 엄청 깨지는건 이미지 resi..
저장소에 있는 이미지를 가져오는데 가끔씩 이미지가 회전되어서 불러와지는 경우가 있었다. 이 경우 이미지의 회전 정보를 가져와서 이미지를 적절히 회전시켜주면 해결된다고 하였다. 이 때 이미지의 정보를 가져오는건 ExifInterface class라고 하여 imageUri로 getPath를 하여 ExifInterface 생성 시 인자로 넣어주었다. 하지만 자꾸 뜨는 null에러.. Content Provider query로 접근하는 것도 null에러... 알고보니 버전업을 하면서 저장소의 위치도 변경되었기 때문에 기존 코드로는 image path를 알 수 없다고 한다. stackoverflow에 작성되어있는 코드로 해결하였다.. https://stackoverflow.com/questions/19985286..