버튼음이라던가, 알림음으로 사용할 2초 이하의 짧은 효과음 찾고 있다. 이런저런 음원을 듣다보니, 마림바음이 자극적이지 않고 무난한듯해서 마림바 음원이 많이 있는 사이트들을 리스팅 해보려한다. Zapsplat 사이트는 내가 찾는 마림바 음원이 standard licence(라이센스 정보) 다. 유료 회원이 아닐 경우 앱을 만들때 사용한 음원 각각에 대해서 credit(또는 웹사이트 링크)을 써넣어줘야 한다 . 정해진 Credit 형식은 따로 없지만, 보통 “Sound effects obtained from https://www.zapsplat.com“ “Additional sound effects from https://www.zapsplat.com“ “Music from https://www.zapsp..
앱에서 저장할 수 있는 공간은 두가지로 나뉜다. internal storage와 external storage. internal storage는 해당 앱만 접근할 수 있는 저장 공간이다. 따라서 컴퓨터에 장치를 연결하고 파일 탐색기로 들어가보아도 이 공간에는 접속 할 수 없다. external storage는 해당 앱 뿐만아니라 다른 앱 또는 외부에서 접근이 가능한 공간이다. 즉, 파일 탐색기로 확인이 가능하다. 내가 원하는 것은 external storage에 저장하여 파일 탐색기를 통해 파일을 들여다 보거나, 가져올 수 있는 것이다. 조금 더 추가하면 모바일폰이나 태블릿을 컴퓨터에 연결 했을 때, 아래와 같은 폴더 중 한 곳에다가 앱에서 생성한 파일을 저장 하는 것이다. 플러터에서 external s..
Text 위젯에서는 표시할 text의 fonSIze 설정할 수 있다. 이때 Text위젯을 감싸는 위젯의 높이(height)가 지정되어있지 않을때 자신의 child, 지금의 경우 Text 위젯의 크기를 따르게 된다. 만약 Text 위젯도 높이(height)가 정해져 있지 않을 경우 Text Widget은 표시할 text의 크기에 비례해서 커지게 된다. 이에 따라 Text위젯을 감싸는 위젯(내 경우 SizedBox)도 크기가 따라 커지게 된다. 위와 같이 간단한 코드를 통해 테스트 해보자. fontSize 값은 코드에서처럼 100을 넣었다. 한글은 '한뀰' 영어는 'Rg' 를 입력했다. SizedBox의 height는 아래 사진과 같이 Flutter Dev tool의 Flutter Inspector를 이용해..
저자는 조용호 님이다. 초판은 2019년이지만 지금(2022년 1월에 5쇄 발행) 계속 발행되고 있는 것을 보면, 인기가 많은 책인듯하다. 예전에 도서관에서 빌려 읽었던, 같은 저자의 '객체지향의 사실과 오해'가 쉽가 설명이 잘 되어있어서 마음에 들었었다. 그 책이 이번에 읽은 책의 프리퀄 같은 책이라는 저자의 글에 따라 다음 시리즈인 이 책을 읽게 되었다. 확실히 나에게 도움이 된다. 큰 시각에서 객체지향 프로그램의 설계를 어떻게 해야하는지 감을 잡을 수 있었다. 아마도 나와같은 비전공자라면 꼭 한번 읽어보라고 추천해주고 싶다. 기억하고 싶은 부분 설계란 코드를 배치하는 것이다. 설계는 코드를 작성하는 매 순간 코드를 어떻게 배치할 것인지를 결정하는 과정에서 나온다. 설계는 코드 작성의 일부이며 코드를..
apk를 만들려고 build APK 하니 디버그일때는 안뜨던 warning이 뜬다. 빨간글자가 뜨는것을 안좋아해서 구글링을 해보았다. 해결 방법은 간단했다. 참고 링크는 아래와 같다. https://stackoverflow.com/questions/71347054/flutter-build-runtime-jar-files-in-the-classpath-should-have-the-same-version-t flutter build Runtime JAR files in the classpath should have the same version. These files were found in the classpath flutter build Runtime JAR files in the classpath sh..
앱을 제작하다보니 앱의 현재 화면이나 화면의 일부 위젯을 이미지로 저장하기 필요한 패키지는 아래와 같다. # 특정 위젯 screenshot 을 위한 패키지 screenshot: ^1.2.3 path_provider: ^2.0.11 permission_handler: ^9.2.0 image_gallery_saver: ^1.7.1 share_plus: ^4.0.9 screenshot 패키지는 flutter에서 원하는 widget tree 혹은 전체 UI를 캡쳐 할 수 있다. 이때 캡쳐한 이미지를 저장하기 위해서 path_provider 패키지를 이용해서 저장할 directory를 쉽게 받아올 수 있다. permission_handler 는 이미지 저장시, 현재 프로젝트에 할당된 디렉토리 이외의 곳에 저장하려..
패턴책을 볼때 알게된 Singletone. 플러터를 이용해 Bluetooth를 연결하기 위해서 코딩하는 중에 마주쳤다. 현재 Bluetooth를 사용하기 위한 라이브러리로 flutter_blue_plus를 사용하고 있는데 여기서 클래스 정의 내부를 보면 아래와 같이 singletone 이다. 핸드폰에 Bluetooth 모듈이 하나가 있기 때문에, 하나의 instance 만 가지고 있어야 해서 그렇다. 비슷한 방식으로 아래처럼 get 대신에 factory를 이용할 수 도 있다. 결과를 보면 singletone 프린트문은 한번만 실행됬고, a 와 b는 같은 클래스 인스턴스를 가지고 있는 것을 볼 수 있다.
현재 만들고 있는 앱은 Bluetooth를 이용해서 근전도 측정 장치와 통신을 한다. 앱을 Flutter로 제작하고 있기 때문에 Bluetooth와 연결을 위한 라이브러리를 써야한다. 장치와 통신하는 방식은 정확하게 말하면 Bluetooth low energy (BLE)이다. Bluetooth classic과는 다른 메커니즘을 사용하고 있다. BLE를 위한 Flutter 라이브러리를 Pub.dev에서 찾아보면 3개이상이 있는 것을 확인 할 수 있다. 이 중에서 활발히 업데이트되고 있는 라이브러리가 2개이다. 하나는 필립스 휴에서 조명(LED)을 컨트롤하기위해 제작한 flutter_reactive_ble 이고, 다른 하나는 flutter_blue_plus 이다. flutter_blue_plus는 이전에 많..
- Total
- Today
- Yesterday
- Syncfusion
- 인사이트
- 앱
- plugin
- 다트
- addPostFrameCallback
- 크롬
- UX
- 이미지
- IOS
- 에러
- 앱 프로그래밍
- TextFormField
- Bluetooth
- Flutter
- 문제 해결
- 앱개발
- firebase
- SizedBox
- UI
- position
- TextField
- 한빛미디어
- 플러터
- DART
- error
- Chrome
- hide
- 디자인
- BLE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |