mac 노트북에서 유튜브 버벅거리고 작동 안함

 LG 모니터 연결해서 쓰는데 모니터 스피커 쓰니까 뭔가 잘 안 맞는 듯하다 스피커 설정을 블루투스 이어폰이나 본체로 바꾸면 잘 작동한다.

primarySwatch는 Colors.black을 받지 않는다.

The argument type 'Color' can't be assigned to the parameter type 'MaterialColor?'  material color를 받기 때문에 white랑 black을 에러가 난다 https://stackoverflow.com/questions/52577366/error-while-changing-the-flutter-theme-color-to-black

flutter admob 구글 배너 광고 추가

 flutter admob 구글 베너 광고 추가 https://developers.google.com/admob/android/quick-start?hl=ko#import_the_mobile_ads_sdk https://developers.google.cn/admob/flutter/banner?hl=ko#banner_ad_events 공식 튜토리얼 따라해서 성공 코드 import 'package:flutter/material.dart' ; import 'package:google_mobile_ads/google_mobile_ads.dart' ; class adtest extends StatefulWidget { const adtest({Key? key}) : super (key: key) ; @override _adtestState createState () => _adtestState () ; } class _adtestState extends State<adtest> { final BannerAd myBanner = BannerAd ( adUnitId: BannerAd. testAdUnitId , size: AdSize. banner , request: AdRequest () , listener: BannerAdListener () , ) ; @override Widget build (BuildContext context) { myBanner .load() ; final AdWidget adWidget = AdWidget (ad: myBanner ) ; return Scaffold ( body: Container ( alignment: Alignment. center , child: adWidget , width: myBanner . size . width .toDouble() , ...

[flutter]multidex 에러

이걸로 해결 https://282-ground.tistory.com/167  

[flutter]The Google Mobile Ads SDK was initialized incorrectly

 The Google Mobile Ads SDK was initialized incorrectly manifest파일에서 잘못된 위치여서 그랬던 것 https://stackoverflow.com/questions/65633194/the-google-mobile-ads-sdk-was-initialized-incorrectly

[flutter]Your project requires a newer version of the Kotlin Gradle plugin.

  ┌─ Flutter Fix ────────────────────────────────────────────────────────────────────────────────┐ │ [!] Your project requires a newer version of the Kotlin Gradle plugin.                       │ │ Find the latest version on https://kotlinlang.org/docs/gradle.html#plugin-and-versions, then │ │ update ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\android\build.gradle:               │ │ ext.kotlin_version = '<latest-version>'                                                      │ └──────────────────────────────────────────────────────────────────────────────────────────────┘ minsdk 고쳤더니 나온 오류 ext.kotlin_version은  projectName/android/app/build.gradle 쪽이 아니라 projectName/android/build.gradle 여기에 있다 https://stackoverflow.com/questions/70919127/your-project-requ...

[flutter] uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:google_mobile_ads]

 uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:google_mobile_ads]  ..../AndroidManifest.xml as the library might be using APIs not available in 16 Suggestion: use a compatible library with a minSdk of at most 16, or increase this project's minSdk version to at least 19, or use tools:overrideLibrary="io.flutter.plugins.googlemobileads" to force usage (may lead to runtime failures) 에러가 친절하게 minSdk를 고치라고 알려줬다. minSdk는 안드로이드 build gradle에 minsdkversion 고치면 된다고한다. https://stackoverflow.com/questions/52060516/how-to-change-android-minsdkversion-in-flutter-project --- ..안드로이드만 바꿔도 되는건가?

[git] gitignore에 새로 추가했는데 적용이 안될 때

 gitignore에 새로 추가했는데 적용이 안될 때 캐시를 지우고 다시 커밋해준다 https://jojoldu.tistory.com/307

[flutter] Navigator operation requested with a context that does not include a Navigator.

 Navigator operation requested with a context that does not include a Navigator. https://stackoverflow.com/questions/50124355/flutter-navigator-not-working/50125296 void main() => runApp(MaterialApp(home: FooClass(),)); 로 고쳐서 해결

flutter sqlite에서 리턴 했는데 Instance of 'Future'라고 뜸

future는 기다려서 받아야하는데 await 쓰는 걸 잊어버렸다 https://stackoverflow.com/questions/55744894/instance-of-futuredynamic-in-flutter

flutter sqlite database storage location 플러터 db위치

  I want to have an SQLite db in my flutter app, so i followed this flutter cookbook:   https://flutter.dev/docs/cookbook/persistence/sqlite I open the database with the following path:  join(await getDatabasesPath(), 'doggie_database.db')  exactly like the tutorial. I ran the app on my Android phone (not emulator). Now i want to inspect the database file on my PC, but i cannot find the file on my phone. I debugged the above statement and it resolves to  /data/user/0/*mypackage*.*app-name*/databases/doggie_database.db , but i can't find the folder  /data  (only  Android/data ) or the file in my file manager neither on my phone nor on my pc. Where is the file and how can i extract it from my phone? I found the solution that works on Android. It is possible to extract the database file by using adb. Connect the phone via USB use the adb shell type  run-as *mypackage*.*app-name* you are in the  /data/data/*mypackage*.*app-name*  folder...

[dart] 숫자 빈자리를 0으로 채우기 zero padding

.padLeft(2, '0' );  하면 왼쪽 빈만큼 0 들어간다 Dart 1.3   introduced a   String.padLeft   and a   String.padRight   you can use : String intToString( int i, { int pad 0 }) => i.toString().padLeft(pad, '0' );

[안드로이드] gps 권한을 요청 If you need access to FINE location, you must request both ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION

 안드로이드에서 gps 권한을 요청하기 manifest에  <uses-permission android :name ="android.permission.ACCESS_FINE_LOCATION" /> 를 추가했더니 If you need access to FINE location, you must request both ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION 가 나왔는데 <uses-permission android :name ="android.permission.ACCESS_COARSE_LOCATION" /> 를 같이 써주면 해결. fine은 자세한 위치 coarse는 대략적 위치를 가져오는 권한인데 coarse는 무조건 권한 선언되어야 하기 때문 https://developer.android.com/training/location/permissions?hl=ko https://rkdxowhd98.tistory.com/127

windows can't stop your samsung android adb interface: 컴퓨터에서 안드로이드 폰 safe remove 안될 때

 컴퓨터에서 안드로이드 폰 safe remove 안될 때 task manager에서 adb.exe를 종료시키면 된다 참고 https://stackoverflow.com/questions/16089037/unable-to-eject-android-phone 무시해도 상관 없을 듯하다

obj mtl 파일

 obj mtl 파일은 세트다 mtl에 텍스쳐 위치 등등 저장

[android] ringtone 소리내기

Uri uriNotification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); Ringtone ringtone = RingtoneManager.getRingtone(getApplicationContext(), uriNotification); AudioAttributes audioAttributes = new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_ALARM).build(); ringtone.setAudioAttributes(audioAttributes); ringtone.play();

[android] Failed to compile values file.

Failed to compile values file. values > string.xml 에서 스트링에 '가 \'로 표시되지 않았지 때문이었다 관련 링크 https://stackoverflow.com/questions/64296448/failed-to-compile-values-file

[android] 설정값 저장

설정값을 저장할 때 값이 간단하니 db가 아니라 SharedPreference를 쓴다. 저장은  apply commit 이 있는데 commit은 저장하고 저장 여부를 반환. apply는 그냥 저장

[java]빈자리 만큼 0으로 채우기

String.format( "%02d" , 1 ) 01로 출력

[android] 그래프 그리기

MPAndroidChart   AChartEngine 

[android] activity textview에 settext 했는데 nullpointerror

 초기화를 안해서 그런듯

[android] db테이블 gui로 확인하기

여기 참고  https://codechacha.com/ko/android-studio-browse-database/   Android Studio에서  [View] -> [Tool Windows] -> [Device File Explorer] Device File Explorer에서  /data/data/[package name]/databases/ 에서 db 파일 찾아서 sql 브라우저에 넣고 보면된다. sqlite db browser에 그대로 드래그앤드롭

[android]안드로이드 db ??

 sqlite로 db 할 때 나중에 콘솔모드로 하는지 코드로 하는지 아니면 브라우저 설치해서 하는지 비교하기 

[android]OnClickListener와 OnClick의 차이점

  OnClickListener와 OnClick의 차이점: OnClickListener는 구현해야 하는 인터페이스이며 Java 코드에서 보기로 설정할 수 있습니다. OnClickListener는 누군가가 실제로 클릭하기를 기다리는 것이고, onclick은 누군가가 클릭할 때 어떤 일이 일어나는지를 결정합니다. 최근에 Android는 인터페이스를 구현할 필요 없이 보기의 활동에서 직접 클릭을 처리하는 데 사용할 수 있는 android:onclick이라는 xml 속성을 보기에 추가했습니다. 필요한 경우 하나의 리스너 구현을 다른 리스너 구현으로 쉽게 바꿀 수 있습니다. OnClickListener를 사용하면 이벤트를 트리거하는 보기에서 클릭 이벤트의 동작/동작을 분리할 수 있습니다.  간단한 경우에는 그렇게 큰 문제가 아니지만 복잡한 이벤트 처리의 경우 코드의 가독성과 유지 관리 가능성이 향상될 수 있습니다. OnClickListener는 인터페이스이기 때문에 이를 구현하는 클래스는 이벤트를 처리하는 데 필요한 인스턴스 변수와 메서드를 결정하는 데 유연성이 있습니다.  다시 말하지만, 이것은 간단한 경우에는 큰 문제가 아니지만 복잡한 경우에는 이벤트 처리와 관련된 변수/메서드를 이벤트를 트리거하는 View의 코드와 혼동하고 싶지 않습니다. XML 레이아웃에서 함수 바인딩이 있는 onClick은 onClick과 호출할 함수 간의 바인딩입니다.  onClick이 작동하려면 함수에 하나의 인수(View)가 있어야 합니다. 둘 다 같은 방식으로 작동하지만 하나는 Java 코드를 통해 설정되고 다른 하나는 xml 코드를 통해 설정됩니다. 출처:  https://stackoverflow.com/questions/21319996/android-onclick-in-xml-vs-onclicklistener/21326604 다른 글이나 댓글을 보니까 onclick을 쓰는 코드는 많이 없다는 말이 있다. 코드 읽는데 헷갈린다고함. 위에 다른...

[visual studio][c++] 외부기호를 확인할 수 없습니다.

 예제 파일을 실행했더니  외부기호를 확인할 수 없습니다.  'x86' 라이브러리 컴퓨터 종류가 'x64' 대상 컴퓨터 종류와 충돌합니다. 라고 떠서  구성 관리자에서 x86으로 바꿨더니 실행된다.

[android] 핸드폰에 올리기

 도움 링크 https://blog.naver.com/PostView.nhn?blogId=dreve&logNo=221443385330 통합 usb설치는 필요없는 건가? 이부분 잘 모르겠는데 일단 설치는 했다. 옛날 글이 많아서 조금 시간이 걸렸다. 설정 일반 들어가서 버전을 일곱번 쳐야지 개발자 모드로 바뀐다. why? usb 디버깅을 설정하고 안드로이드 스튜디오를 키고  핸드폰을 연결했더니  안드로이드 스튜디오에 가상머신 말고 다른 기기도 선택할 수 있도록 됨. 실행하면 핸드폰에 프로그램이 올라간다!

[android]통합 usb 드라이버 다운 링크

링크는 여기  https://www.samsungsvc.co.kr/download

[android] waiting for target device to come online 무한 로딩

안드로이드 스튜디오에서 db 예제를 해보면서 에뮬레이터로 실행했는데 waiting for target device to come online 만 뜨고 계속 로딩만 하는 현상이 생겼다. avd manager에서 wipe data로 해결 도움되는 링크

dpi 뜻

 dot per inch

무료 사람 일러스트 이미지 다운 사이트

 undraw https://undraw.co/illustrations 일러스트 아주 깔끔하고 색깔을 내가 지정할 수 있어서 좋다.

[android] 안드로이드 에뮬레이터로 thread랑 서비스 예제 하는데 Logcat 작동 안함

 껐다가 켰더니 된다

[android] activity vs fragment

비교한 글 개념정리 좋음 https://charlezz.medium.com/activity-vs-fragment-%EB%AC%B4%EC%97%87%EC%9D%84-%EC%84%A0%ED%83%9D%ED%95%B4%EC%95%BC-%ED%95%A0%EA%B9%8C-56ce7fa2bfc4

[arduino] 아두이노 메모리 확장

  arduino에서 프로그램 메모리를 확장하는 방법은 무엇입니까? https://arduino.stackexchange.com/questions/28794/how-to-expand-program-memory-on-an-arduino ATmega2560은 Uno에서 프로그램 메모리가 부족할 때 더 많은 메모리를 추가하기 위한 칩입니다.  arduino.cc  의  메모리  웹페이지를 참조하면 Flash=256KB, SRAM=8KB, EEPROM=4KB이고 Uno의 ATmega328 칩에는 Flash=32KB, SRAM=2KB, EEPROM=1KB가 있습니다. Uno에서 프로그램 메모리가 부족할 때 실용적인 약 세 가지 선택이 있습니다.  프로그램을 더 작게 만들기;  부트로더를 제거합니다(1 또는 2KB를 확보하기 위해).  더 성능이 뛰어난 프로세서가 있는 다른 보드를 사용하십시오.  Uno 보드의 CPU는 온칩 32KB 플래시 이외의 위치에서 프로그램 바이트에 액세스할 수 있는 방법이 없습니다.  Mega2560 보드의 CPU는 8배 더 많은 플래시로 시작하므로 Uno보다 더 큰 프로그램을 저장할 수 있습니다. 부트로더를 제거하는 경우  learningaboutelectronics.com의  "10핀 케이블이 있는 USBASP를 사용하여 AVR 칩 프로그래밍"  기사에  설명된 대로 USBASP 보드를 사용하여 대신 프로그래밍할 수  있습니다.

[arduino]SPI통신

Serial Peripheral Interface

[arduino]라디오에서 RDS란

  라디오 데이터 시스템 (Radio Data System)은 유럽에서 시작된 라디오의 데이터 부가서비스이다. 음성방송전파에 다른 신호를 실어서 음성방송과는 다른 정보를 제공할 수 있다. 주로 FM라디오에서 사용된다.

[arduino] pcb v컷

 모듈 중에 동그란 구멍이 아니라 반으로 잘려있는 것들도 있던데 이건 pcb v 컷(V-cut)이라고 한다? 그냥 연결하면 되는 듯하다. 핀헤더로 연결해서 해도 좋고. 대신 간격 맞나 확인 2.35mm인가? 절단후에 요철을 남기지 않는 장점이 있다고 하는데 뭔지 모르겠다 https://www.youtube.com/watch?v=4pZmkeqg5h8

[android]cannot resolve symbol 'databinding'

 dependencies 추가 했는데도 오류 떴다. For android studio 4.0, You should try with   viewBinding = true android { buildFeatures { viewBinding = true } } 그리고 build clean 하고 rebuild 해서 해결

usb 케이블이 장치 인식 안함

케이블에 충전만 되는 종류가 있다.  Charging cables : can only charge your smartphone and other devices but cannot transfer data. These are commonly called “Charge-only” cables. Data cables : does both; charges your devices and transfer data. 장치 인식 하려면 데이터 케이블을 사용해야 한다. 참고 https://www.dignited.com/50330/usb-data-cable-vs-usb-charging-cable/ 윗 글에 따르면 이걸 어떻게 구분하냐면... 1. 데이터 케이블이 더 두꺼움. 내부에 4개의 케이블로 이루어졌기 때문. 충전만되는 거는 두개만으로 이루어짐 2. 살 때 물어보기 3.그냥 사용해보기 ...?

[c++ ]식에 정수또는 범위가 지정되지 않은 열거형 형식이 있어야 합니다

 float로 나머지 연산%을 해서 생긴 오류 나머지 연산은 정수형만 가능하다. 당연한 일... 대신 fmod함수를 사용하면 float를 정수범위의 해에서 나머지 연산을 할 수 있다! std::fmod(a,b); 아래는 관련 글 https://blog.naver.com/milennium9/20193648587

[arduino] 충전 모듈로 리튬이온 배터리 납땜으로 직접 연결 안하고 충전하기

 정확히 말하자면 아두이노 내용은 아니다. 보통 배터리 쓰는 거는 실제로 연결해서 쓰려고 하는거니까 충전 모듈 사용할 때 보통 다 납땜으로 연결해서 사용하던데 그냥 쓸 일이 있어서 브레드보드로 연결해도 될 것 같아서 찾아보는데 한참을 못 찾다가 결국 찾았다. https://makerstream.blogspot.com/2016/09/how-to-charge-lithium-ion-battery-using.html