본문 바로가기

Programming

(21)
[Kotlin] 문자열 대소문자 변환 및 정렬 작성 목적 문자열 대소문자 변환 및 알파벳 순서대로 정렬시 주의점 기재 주의점 대소문자 변환 및 알파벳 순 정렬시 순서에 따라 결과가 달라지는 현상 발견 정렬 후 대소문자 변환 시 비정상적인 결과 확인 코드 및 결과 정렬 후 소문자로 변환하는 경우 str: String = "Bcad" result: "bacd" 위의 결과를 확인하였을 때 정렬은 대소문자를 구분하며 대문자를 우선정렬 //정렬 후 소문자로 변환 fun changeStr1(str: String): String{ var arr: CharArray = str.toCharArray() var result: String = arr.sorted().joinToString("").lowercase() return result } 소문자 변환 후 정렬하는..
[Kotlin] 이진법 변환 작성 목적 Kotlin 코드 작성중 toBin, toDec를 하게되어 작성 작성 방식 toDec : (자릿수 * 자릿수에 해당하는 제곱값)을 더하는 방식으로 적용 (111 -> (2*2)*1 + (2)*1 + (1)*1) toBin : 숫자의 각 자릿값을 계산하여 1인경우 자릿수에 맞는 값을 곱하여 계산 소스코드 //10진수로 변환 fun toDec(bin: String): Int{ var result: Int = 0 var binNum: Int = bin.toInt() var binCalc: Int = 2 var num: Int = 1 for (i in bin.indices){ if(binNum % 10 == 1){ result += (num * 1) } binNum /= 10 num *= binCal..
[Android] Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build to other Maven repositories. 1. 발생한 문제 Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build to other Maven repositories. 2. 상세 Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build to other Maven repositories. This repository is deprecated and it will be shut down in the future. See http://developer.android.com/r/tools/jcenter-end-o..
[Android] asset 내부 파일 내부저장소에 저장 작성 목적 - 앱 동작중에 파일을 읽어와야 하는 부분이 있어 Asset 내부의 파일을 복사하여 앱 내부저장소에 저장하도록 개발 간략 설명 - 앱 내부의 디렉터리에 CopyFileDir 디렉터리를 생성후, 내부에 conf, log 디렉터리 생성 - conf 디렉터리 내부에 asset에 있는 test_conf.ini 파일 저장 Sample Code public class MainActivity extends AppCompatActivity { String filePath = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activ..
[Cordova] 2. 플러그인 생성 이번에는 Cordova Plugin 생성 및 iOS Framework 추가하는 부분을 정리하려고 합니다. 생성되는 코드는 건들이지 않고 추가만 하는 방향으로 진행하였습니다. 1. Cordova 설치(미설치인 경우에만) sudo npm install -g cordova 2. Plugman 설치 npm install -g plugman 3. Plugin 생성 plugman create --name CordovaPlugin --plugin_id com.example.cordovaPlugin --plugin_version 0.0.1 -> 위의 명령어는 따로 플러그 인을 생성할때 사용하는 명령어 입니다. -> 기존에 있는 플러그인을 가져오려고 하는 경우 도큐먼트 참고 하시면 될것 같습니다. (https://cor..
[Cordova] 1. Cordova Project 생성 고객사에서 Cordova 적용관련 요청으로 인하여 Cordova Project 생성하여 iOS Framework를 적용해야 하는데 인터넷에 자료가 별로 없어서 시행착오가 많았습니다 ㅠ.ㅠ 차후에 또 관련된 작업을 할때를 대비하여 진행한 부분에 대해서 정리하려고 합니다. 명령어 및 기본적인 사용 방법은 도큐먼트(https://cordova.apache.org/docs/en/11.x/guide/cli/index.html) 참고하였습니다. 1. Cordova 설치 sudo npm install -g cordova 2. Cordova를 설치할 디렉터리에서 명령어 입력 cordova create corproject com.example.corproject CorProject 3. 생성한 디렉터리로 이동 cd co..
Android KeyStore 사용 방법 Sample 작성 목적 - Android KeyStore를 처음 사용하면서 추가하는데 자꾸 문제가 발생해서 성공한 내용 저장 간략 설명 - init, Encrypt, Decrypt 메서드로 나누어서 작성 - iv 값은 공개할수 없으므로 Sample에 정리 할때는 0으로 설정 Sample Code //KeyStore 사용을 위한 변수 private static final String ANDROID_KEY_STORE = "AndroidKeyStore"; private static final String ALIAS = "com.test.keystore"; private static KeyGenerator keyGenerator; private static KeyGenParameterSpec keyGenParameterSp..
[Android] IV required when decrypting. 발생한 에러 - java.security.InvalidKeyException: IV required when decrypting. Use IvParameterSpec or AlgorithmParameters to provide it. (해독 시 IV 가 필요합니다. IvParameterSpec 또는 AlgorithmParameters를 사용하여 제공하십시오.) 발생 원인 - Decrypt 시에는 iv값이 필요한데 해당 값이 없어 발생하는 문제 해결방법 1. Exception 에러메시지에서 이야기하는 것과 같이 IvParameterSpec 이나 AlgorithmParameters 를 추가 2. iv값 및 ivspec 추가후 cipher.init 시에 ivspec 매개변수 추가 3. Encrypt 시에도 i..