Hur man skapar en Android-app för ditt smarta hemsystem på Android Studio?

Denna artikel är del två av en annan artikel Hur gör man smart hemautomation med ESP32-modul? där en metod för att skapa ett Smart Home-system tillhandahölls. I den här artikeln ska vi visa steg för steg-proceduren för hur man utvecklar en Android-applikation och ansluter den till Firebase-databasen. Då kommer den här mobila applikationen att användas för att byta elektriska apparater i hemmet.



Android App-utveckling

Smart Home-system som redan finns på marknaden är mycket kostsamma. Om du har de nödvändiga komponenterna och en Android-enhet kan du skapa ett hemautomatiseringssystem hemma som kommer att vara lika effektivt men kommer att vara mycket lågt. Gå igenom dessa två artiklar för att skapa ditt eget hemautomationssystem hemma.



Hur utvecklar jag en Android-applikation för hemautomation?

Vi ska utveckla en Android-app som kommer att användas som fjärrkontroll för att styra de elektriska hushållsapparaterna som var anslutna till ESP32-modulen i den andra artikeln. att gå till den andra artikeln, Klicka här .



Steg 1: Programvara behövs

När vi ska utveckla en Android-applikation behöver vi bara en programvara. Men för att köra den programvaran måste vi installera en annan programvara först. Du kan ladda ner dem från följande länkar.



  • Android Studio.
  • JAVA JDK.

Steg 2: Förstå huvudarbetet

Vi kommer att göra en applikation som kommer att ha både front-end och back-end-kodning. På huvudskärmen kommer den att innehålla några knappar som styr växlingen av elektriska apparater som är anslutna till ESP32-mikrokontrollkortet. I back-end-kodningen skickar vi ett '1' om omkopplaren är på och ett '0' om omkopplaren är avstängd.

Vi ska skapa en Firebase-databas. Denna databas kommer att innehålla två enheter som heter Light och AC. Ljuset kommer att innehålla värdet för växling av lampor och AC kommer att innehålla ett värde för att slå på fläkten. Detta värde skickas sedan till mikrokontrollern och sedan skickar mikrokontrollen en styrsignal till relämodulen i enlighet därmed.

Steg 3: Konfigurera Android Studio

Innan vi installerar Android Studio installerar vi JAVA JDK först. För att installera detta, klicka på exe fil som du laddade ner från länken ovan och klicka på nästa tills den har installerats. Gå nu igenom följande steg så att din kommandotolk känner igen java som ett externt eller internt kommando.



  1. Öppet Kontrollpanel och klicka på System och säkerhet .
  2. Klicka på Systemet .

    Systemet

  3. Klicka på Avancerad systeminställning och klicka sedan på Miljövariabler .

    Avancerad systeminställning

  4. Klicka på sökvägen i avsnittet Systemvariabel och klicka sedan på redigera. En ny Redigera miljövariabel rutan visas.

    Redigera sökväg

  5. Gå nu till C: Program Files Java på din dator. Öppna JDK-mappen, klicka på bin-mappen och kopiera sedan sökvägen till den mappen.

    Sökvägsmappens mapp

  6. Gå nu till rutan Redigera miljövariabel och klicka på ny för att skapa en ny variabel. Klistra in sökvägen som du kopierade i steget ovan i den nya variabeln och spara den.
  7. Nu för att bekräfta, om den är helt installerad, öppna kommandotolken och skriv java –version .

    JAVA-version

Nu när du har installerat Java JDK på din dator. Låt oss nu installera Android Studio på din dator. Det är väldigt enkelt att installera denna programvara. Du måste öppna den nedladdade filen och klicka på nästa tills programvaran är helt installerad.

Steg 4: Gör layouten

Vi kommer att göra en layout som innehåller några knappar som skickar kommandot 0 eller 1 till Firebase-databasen. Detta kommer att vara en enkel layout som innehåller några knappar. I min app kommer jag bara att ha två knappar som styr lamporna och fläkten. Om du vill inkludera fler knappar för fler hushållsapparater, kopiera samma bit kod i huvudprogrammet och skapa en ny variabel i databasen. Utan att slösa bort tid, låt oss gå mot stegen för att skapa en enkel layout för vår app.

1. Först och främst, gå till Arkiv> Nytt> Nytt projekt. En meny visas. Välj Tomt projekt.

2. Namnge nu projektet och ställ in det KOTLIN som ditt programmeringsspråk.

3. Klicka på på det vänstra hörnet app> res> layout> activity_main.xml.

activity_main

4. Lägg till följande kod nedanför koden som redan finns i din Android-studio. Vi gör en begränsningslayout. Följande kod lägger till en rubrik för Room Automation överst. Det lägger sedan till 3 växlar. en omkopplare låter dig välja f du vill använda hushållsapparaterna manuellt eller inte. De andra två kopplade kommer att styra fläkten respektive lamporna.

 

5. Layouten för din app kommer att se ut som bilden nedan.

Layout

Steg 5: Back-End-kodning

Backend-koden är den viktigaste delen av alla applikationer. Det är huvudbryggan mellan frontlayouten och projektets databas. I vår applikation vill vi bara skicka ett '1' i databasen när växeln är på och ett '0' i databasen när växeln är avstängd. Gå igenom följande steg för att lägga till koden i din applikation

1. Klicka på på det vänstra hörnet app> java> com.example.my applicationmyapplication> main_activity.

2. Nu på den här skärmen, kopiera följande kod i din klass.

klassautomatisering: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference intern lateinit var btnSwitch: Byt internt lateinit var btnSwitch1: Byt internt lateinit var btnSwitch2: Byt åsidosättningsfunktion onCreate (sparad instans) Super: Bundle? .onCreate (savedInstanceState) setContentView (R.layout.activity_automation) myRef.child ('Toggle / switch'). addValueEventListener (object: ValueEventListener {åsidosätta fun onCancelled (p0: DatabaseError) {} åsidosätta fun onDataChange (p0: DataSwitch) .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('automation /AC').addValueEventListener(object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). Equals ('1')) {toggleButton2. isChecked = true} annars toggleButton2.isChecked = fals e}}) myRef.child ('automatisering / ljus'). addValueEventListener (objekt: ValueEventListener {åsidosätta fun onCancelled (p0: DatabaseError) {} åsidosätta fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). är lika med ('1')) {toggleButton3.isChecked = true} annat toggleButton3.isChecked = false}}}} annat {switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE} // Log. d ('ahsan