Thanks for the wonderful tutorial. Great explanation. Could you please tell me how can I read RSSI value of the connected tag?
@hadiabbasi868116 күн бұрын
that was very good. thanks ❤
@user-jv7fj7kn5c23 күн бұрын
keep doing man...that's really good <3
@gamingpanther2583Ай бұрын
This video provides so much clarity and I can say that now I can make a modular application. However, I still confused with uni-directional data flow between each layer. Please make a video about it.
@Hyzen-os9edАй бұрын
XML was much much better in terms of centralizing dimens
@OutOfNameIdeas2Ай бұрын
this is already outdated lol. most the libraries are depreciated too.
@justplay6503Ай бұрын
Thank you very much for your work I'm studying it right know and I'm enjoying it, you really teach me something!😀
@biochemicalsystems9922Ай бұрын
Absolutely perfect video. I learned a lot!
@TacticalTrainingCompany2 ай бұрын
Hi I receive this error when I try to RUN the application: java.lang.IllegalAccessError: class org.jetbrains.kotlin.kapt3.base.KaptContext (in unnamed module @0x70db1019) cannot access class com.sun.tools.javac.util.Context (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.util to unnamed module @0x70db1019 at org.jetbrains.kotlin.kapt3.base.KaptContext.<init>(KaptContext.kt:28) at org.jetbrains.kotlin.kapt3.KaptContextForStubGeneration.<init>(KaptContextForStubGeneration.kt:40) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.contextForStubGeneration(Kapt3Extension.kt:287) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:171) at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:102) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$invokeExtensionsOnAnalysisComplete(TopDownAnalyzerFacadeForJVM.kt:112) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:122) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:86) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:252) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:243) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:113) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:243) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:90) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:56) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:169) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:92) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44) at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98) at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:412) at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:112) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:358) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally$default(IncrementalCompilerRunner.kt:300) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl$rebuild(IncrementalCompilerRunner.kt:119) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:170) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:81) at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:607) at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:96) at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1658) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840)
@PowerTechSystem-qk1st2 ай бұрын
Why would a repository invoke a usecase?
@ahmadab96662 ай бұрын
Hi, i just have one question, do you just thinking about all those calculations or you did some search and asked some persons about how you can make all this calculations stuff, because i strugger to do something like this or even easer
@alirezab42532 ай бұрын
thanx a lot bro , that help too much 🤍
@murtazabaranwala89553 ай бұрын
h1, body1 now not working 😅
@kadircan18623 ай бұрын
thanks for this great tutorial
@mahdiporkar2363 ай бұрын
I really like the way you teach clean architecture. I would say it is the best content I have seen so far please continue making great videos! One thing you can improve is that when you are writing code add some empty lines and the end of the file so the code would not be in the bottom of screen and covered by subtitles!
@mahdiporkar2363 ай бұрын
Man, this is great the best tutorial I have found for this principle! even the clean arch tutorials where violating this rule!
@kevinmartinez22154 ай бұрын
Hi there, do you have an example to read the characteristic ?
@auraliann4 ай бұрын
hi bro! i just found your channel and i can say that the things what you do are literally awesome.
@SharifJohnGhafforov4 ай бұрын
Hello Sir ! I liked your work. Thanks ! I have a question: Do we need any kind of data from Device with BLE to be able to connect and share data with it ?
@MElsayed74 ай бұрын
In Clean Architecture, it's not typical to send use cases to the repository constructor. The repository's responsibility is to provide an abstraction over data access, not to interact directly with business logic or use cases.
@alexkokos53634 ай бұрын
Great video, thank you for your job! Can you help me please? May i connect Tuya BLE THB2 sensor using this app, the fact is that when ble sensors are scanned, it does not see them, although these sensors are ble devices :(
@levimendes9585 ай бұрын
very good
@michelgirard60555 ай бұрын
Very good and useful tutorial. Thanks a lot
@christosbazios525 ай бұрын
Hi Matze, your videos are outstanding and explained. Do you plan any whole Jetpack Compose course (free or paid), on KZfaq or Udemy? Do you suggest any books on Jetpack Compose? Thanks in advance for your content!!!
@christosbazios525 ай бұрын
Excellent video!
@psanavps5 ай бұрын
Simply amazing....the best part is that everything is a Wrapper, 1 drag helper class of all type of draggable Views. Perfect! P.S :- Please try to sound a little more awake 😄
@Babs_i5 ай бұрын
SOS! First step- first Problem! compose_version and classpath are red, Gradle sync failed. Is there anything I should have done before? How did you all do this?
@christosbazios526 ай бұрын
Excellent!
@daveshackshack6 ай бұрын
Just starting to use responsive views and SwiftUI, great start for , Thank you!
@derekdevs6 ай бұрын
This is fantastic. Thank you!!
@swish61436 ай бұрын
I have been using canvas and then drawRect. Can you explain how the drawConterxt.cavas.nativeCanvas.apply and Paint().apply works? This looks mor advanced. Thanks a lot for sharing, the canvas thing is difficult to figure out. Grüße aus Frankfurt.
@john.mattock6 ай бұрын
How would you dynamically change/update the text of a button during runtime? Thanks!
@derekdevs6 ай бұрын
Use view model to manage button text as state and update in an onClick (or any other event which should update button text)
@john.mattock6 ай бұрын
Thanks!@@derekdevs
@JozsefNyulas6 ай бұрын
Thanks for this. Really useful used it for my state exam. Also explanations are very useful for people who want learn new stuff.
@Prashanth-wg1yh6 ай бұрын
Stumbled across this channel as i was searching for a video to understand the Disposable Effects . Ended up watching all the videos in this playlist. Time really well spent. Thank you very much for the effort put in to create such videos
@Prashanth-wg1yh6 ай бұрын
Such clear explanation. thank you very much
@user-ed8xj1py6w6 ай бұрын
Hello! Why did you close the project?
@ianlipa98266 ай бұрын
Detailed and easy to understand explanation. I already subscribed as my thanks. 👌
@Lingchao25966 ай бұрын
Great video. Thank you.
@user-fh4mv8pl2g6 ай бұрын
do you know what bluetooth chip the sensor uses? I'm trying to do a similar project with a HM-10 chip! Thanks
@ngomdecadetkamdaou34646 ай бұрын
Good explanation, thanks. So basically it means that a LaunchedEffect used with Unit as a key is similar to a SideEffect, except that a LaunchedEffect gives a suspend block, am I right?
@qzero7 ай бұрын
Hi Could you continue this tutorial? I have a suggestion, could you show how to add a circle to indicate the current position?
@farouktouil50367 ай бұрын
Thank you for this tutorial, by the way i have a question , if for example I want to add a deleverer to the list of Deliverer selection , do I have to create another AddDelivererViewModel or use the existing OrderChooseDelivererViewModel ? thank you.
hi Sir, thank you for the best tutorial, is it possible to create another tutorial where we actually write to Arduino or Esp32 to control a simple LED to turn ON and Turn Off?
@g_bulan7 ай бұрын
Thanks for sharing. However, for the tip #5, I believe Composable2 is not recomposed even before Composable1 is optimized. This fun is marked as skippable because it receives an immutable (primitive type) parameter. Here, because the value of its parameter remains the same, this fun is skipped when Column is re-executed on recomposition.
@nguyencodervn8 ай бұрын
Thank you
@j2shoes2888 ай бұрын
android compose development is a joke, AlertDialog, renders totally different on different devices? to the point that it would be flagged as a bug!
@Androiddevelopment-jc3le8 ай бұрын
Thanks, it is what I need 👍
@enescanpolat11759 ай бұрын
This tutorial video is of high quality and very helpful; I hope there will be more to come.