코드리뷰88 로또 931회 당첨결과 및 932회 당첨번호 예상! (안드로이드 로또 앱) Lotto & BMI 앱에서 추천한 로또가 모두 낙첨되었다. 2장을 샀는데, 각각 번호 하나씩은 맞았다. 다음 로또 932회 차에는 2개씩 맞는 걸 기대하며 Lotto & BMI 앱에서 추천한 번호를 구입했다. 구글 플레이 스토어에 로또앱이 많이 올라가 있다. 대박 난 앱들은 대부분 당첨확률을 획기적으로 높여주는 스페셜한 알고리즘이 들어가 있는 듯 광고를 하고 있다. 로또 확률상 큰 차이는 없을 것 같은데 말이다. 사람들이 조금이나마 행운을 바라는 심리를 이용한 마케팅이 아닌가 싶다. 그래도 내가 만든 앱인 Lotto & BMI에서 대박 1등이 한번 나왔으면 하는 바램이다. ^^ 로또 931회 당첨결과 Lotto & BMI 앱에서 추천한 "로또 932회차" 번호 키와 몸무게를 넣으면 BMI지수 및 로또 .. 2020. 10. 4. 안드로이드 마사지 어플 만들기 (코틀린) 최근 갤럭시 노트 10으로 기기를 바꿨는데, 다양한 진동 유형과 강도 설정이 가능했다. 이걸 응용해 마사지 어플로 만들어 보면 재미있을 거란 생각이 들어 만들어 보았다. 안드로이드 개발자 사이트와 티스토리 IT 블로그를 참조했다. 마사지 화면 디자인 토글 기능을 넣어서 버튼 하나만 만들었다. 추후에 진동 종류 선택이나 진동과 함께 나오는 뮤직 등을 선택할 수 있는 버튼을 추가해 확장해 나가면 좋을 듯하다 안드로이드 VIBRATE 사용 권한 추가 AndroidManifest.xml에 아래 코드를 추가해 권한을 설정한다. 마사지 진동 컨트롤 코드 작성 모바일 진동요청 처리는 아래 순서로 처리한다. 코틀린 코드로 작성했다. 시스템에서 Vibrator 서비스를 받아온다. 진동 유형, 진폭, 반복 여부를 설정한다.. 2020. 10. 4. [실전 C언어 코딩 리뷰] - 문자열 복사하기[memcpy() vs strncpy()] C 개발할 때 memcpy와 strncpy 함수의 차이를 정확하게 모른 채 사용하는 경우가 많다. 둘 다 비슷한 결과를 출력되고 성능에도 큰 차이를 느끼지 못하기 때문이다. memcpy 함수가 메모리 자체를 빠른 속도로 복사하기 위해 만들었다면, strncpy 함수는 문자열 자체를 복사하기 위해 만들어졌다. 따라서 주로 이진 데이터는 memcpy 함수를 이용해 처리하고, 일반적인 문자열 처리는 strncpy 함수를 사용한다. memcpy는 레지스터를 사용하므로 처리 속도가 월등히 빠르고, 문자열 종료 문자인 null 여부를 확인하지 않고 정해진 길이 만큼 복사를 한다. 이 부분이 strncpy()와 다른 점이다. 따라서 memcpy 함수를 이용해 문자열을 복사할 경우 종료 문자가 제대로 붙었는지 반드시 .. 2020. 10. 3. 실전 C언어 코딩 리뷰 - 문자열 복사하기[strcpy() vs strncpy()] 자바나 C#계열 언어는 String 자료형이 있어서, 문자 A를 B에 복사한다면 "B = A" 이런 식으로 대입을 한다. 반면 C언어는 String 타입이란 게 없어서 이렇게 대입할 경우 원하는 결과가 나오지 않는다. C언어를 어렵게 생각하게 만드는 부분이기도 하다. 문자열 복사는 strcpy()나 strncpy() 함수를 이용한다. strcpy() 헤더 파일 : string.h #include // src, dest 문자열을 복사하고 문자열(dest)의 시작주소를 리턴한다. char* strcpy(char* dest, const char* src); 두 번째 인자로 전달받은 메모리 주소에 저장된 문자열을 첫 번째 인자로 전달받은 메모리 주소에 복사한다. 순서가 뒤에서 앞으로이다. 실전 예제 : strc.. 2020. 10. 1. 실전 C언어 코딩 리뷰 - 문자열 비교하기(strcmp vs strncmp) 자바나 C#계열 언어와 C언어의 가장 큰 차이점은 문자열 처리 방식이다. 처음 C를 접할 때 가장 이해하기 어려운 부분이기도 하다. C언어에서 문자열은 숫자를 비교하듯 변수 그 자체로 비교할 수 없다. 기본 함수인 strcmp()나 strncmp() 함수를 이용해야 한다. 헤더 파일 : string.h #include // str1, str2 : 비교 문자열 int strcmp(const char* str1, const char* str2); 포인터로 받는 두 개의 문자 str1과 str2를 비교한다. 각 문자열의 첫 번째부터 비교해서 두 문자가 다르거나, NULL을 만날 때까지 비교한다. [비교 결과 ] ▶ 일치 : 0 ▶ 불일치 : 0이 아닌 값 (str1이 크면 0보다 큰 값, 작으면 0보다 작은 .. 2020. 9. 30. 로또 931회 당첨번호 예상! (안드로이드 로또 앱) 앱 개발을 통해 돈을 벌 수 있을까? 안드로이드 앱을 개발해 소소한 광고비를 번다는 포스팅을 자주 볼 수 있다. "초보자 누구나 할 수 있음"이라는 지극히 평범하면서도 자극적인 문구를 보며, 한번 해볼까 하는 생각이 들었다. 안드로이드 앱은 자바나 코틀린이 주력 언어다. 자바는 익히 알려져서 더 설명할 게 없고 코틀린은 최근에 나온 핫한 언어다. 구글 안드로이드에서 적극 밀고 있다. 새로운 걸 해보자는 마음으로 코틀린으로 약 1달간 틈틈이 책과 인터넷 개발자 페이지를 통해 소스코드를 배우고 디버깅했다. 코틀린은 C언어와는 많이 달랐다. C가 절차적이고 명확한 대신에 개발자의 수고가 많이 든다면, 코틀린은 UI기반에 수많은 자동화된 인텔리 센스와 이벤트/콜백 중심의 언어였다. '어떻게든 짜기만 해, 그러면.. 2020. 9. 30. 안드로이드 코틀린 프래그먼트 만들기 간단한 프래그먼트 코드를 작성하고 프래그먼트 컨셉과 흐름을 파악해 보자 build.gradle에 프로그먼트 dependencies를 추가한다. (-> Sync Now) def nav_version = "2.3.0" // Kotlin implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version" 2.Fragment package 및 파일 생성 fragment용 패키지를 하나 생성하고 그 아래에 프래그먼트들을 생성한다. New->Fragment->Fragment (Blank) : fragment 간 이동 확인을 위해 m.. 2020. 9. 19. 안드로이드 앱 수평 맞추기 게임 아이디어 평범한 수평기는 가라! 수평을 맞추면 행운이 찾아온다. 안드로이드 앱 생명주기를 이해하고 가속도 센서, 자이로 센서 등 앱에 내장된 센서를 응용한 프로그램을 그려보자. 컨셉은 센서를 통해 기기 움직임을 감지하고, 주어진 시간에 수평 미션을 완수하는 것이다. 성공하면 로또 번호를 노출시켜 재미 준다. 시나리오는 카카오 오븐을 이용했다. 초기화면 : 기기의 중심을 표시, Start 버튼을 눌러 게임을 시작한다. 2. 게임시작 - 오랜지 공이 랜덤한 위치로 이동하고 타임워치가 작동한다. 60초에서 역 카운팅된다. 3. 미션 클리어 - 축하 메시지와 함께 로또번호를 선물함. 4. 미션 실패 - 미션 실패 메시지, 재시작 버튼을 보여줌. 추가 고려사항 개인별 최고 Top 10 관리 - 코틀린 내부저장소 이용 전체.. 2020. 9. 19. 이전 1 ··· 6 7 8 9 다음