sql >> Databasteknik >  >> RDS >> Mysql

Android - Ruby on Rails - MySQL

Här är en kort översikt över vad du bör veta för att uppnå ditt mål. Jag ska inte gå så långt in i detalj, speciellt eftersom jag aldrig personligen har använt RoR. Observera att vissa av dessa delar kanske inte relaterar exakt till RoR, men den allmänna tanken bakom det gäller fortfarande. Jag kommer att överlåta till dig att undersöka och ta reda på hur du implementerar varje enskild komponent.

Det allmänna flödet av allt är som följer:

Android-app <==> Nätverk <==> Webbtjänst <==> MySQL

Notera de tvåkantade pilarna eftersom data kommer att flöda i båda riktningarna.

Android App är klienten och Web Service och MySQL databasen finns på din Web Server . Jag inkluderade bara nätverksdelen för fullständighetens skull, men du ska inte behöva göra någonting när informationen väl har skickats till nätverket.

En kort översikt över varje avsnitt:

Android-app:

Android-appen är klienten som skickar och hämtar data från webbservern. Jag antar att du i din app kommer att tillåta användaren att göra vissa uppgifter som i huvudsak blir den data som du vill skicka till servern någon gång.

Ta till exempel, användaren ska kunna ange sitt namn och favoritdjur. Låt oss säga att det finns en "Skicka"-knapp som användaren kan klicka på. När du klickar på den här "Skicka"-knappen bör den samla in data i ett korrekt format för att skickas över nätverket. Två av de vanligaste är JSON och XML . När data har formaterats korrekt, vill du skicka data till servern med någon typ av nätverksprotokoll som HTTP . För att kunna skicka data måste du naturligtvis ha någon URL som mål. Låt oss säga att målet är www.example.com/webservice.php . Detta mål är vår webbtjänst som finns på webbservern.

När du väl har skickat data kommer servern att svara med vissa data, varvid du kan göra vad du vill med den. Kanske visa den för användaren, eller sätta den i en SQLite databas, eller till och med båda.

Det viktigaste att komma ihåg är att det inte pågår någon magi. Allt jag just har beskrivit kommer att implementeras i Java-kod som du kommer att skriva i din Android-applikation vid något tillfälle.

Nyckelidéer du bör undersöka mer och ta reda på hur du implementerar i Java-kod:

  • JSON och XML
  • HTTP i Java
  • VILA och TVÅL
  • Här är en utmärkt video om möjliga sätt att ställa in strukturen för din Android-app.
  • Se till att du gör alla nätverksoperationer i din Android-app i en annan tråd. En lättanvänd metod är en Intent Service .

Webbtjänst:

Detta är ofta den mest förvirrande delen. En Web Service är helt enkelt en ingångspunkt för klienter som försöker komma åt Web Server . Min förklaring här kan skilja sig något när jag använder RoR , men samma idé gäller. Observera ovan att målet URL var www.example.com/webservice.php . Webbtjänsten är bokstavligen PHP kod som finns på webbservern, kallad webservice.php . I din Android-app, när du skickar data till mål URL med HTTP , kommer webbtjänstkoden att köras på servern (och har även tillgång till data som du skickade till den). Inuti din webbtjänstkod kommer du i princip att extrahera data (som är i något format som JSON), ta tag i de nödvändiga delarna och sedan göra något med den. I det här fallet kommer du med största sannolikhet att fråga i databasen. I PHP är det enkelt att skriva kod som kopplar ihop och frågar en MySQL-databas som också körs på servern. När svaret från databasen hämtas av webbservern kan du skicka tillbaka det till Android-appen. Precis som tidigare, kom ihåg att det inte pågår någon magi. Alla dessa idéer implementeras genom att skriva lite kod.

Huvudidéer att undersöka:

  • Ruby on Rails webbtjänst
  • Hur man kommer åt en MySQL-databas med Ruby on Rails

MySQL-databas:

Det är här du kommer att lagra data på webbservern. Jag tänker inte gå så in på djupet här eftersom det bara kommer att kräva att du läser mycket om hur man ställer in en MySQL-databas på en webbserver. Det är också viktigt att du lär dig hur du skapar lämpliga frågor såsom SELECT , INSERT och så vidare.

Huvudidéer för forskning:

Hur man ställer in en MySQL-databas på en webbserver

Om du behöver något förtydligande, låt mig veta!




  1. Hur man utför en lagrad procedur i en urvalsfråga

  2. Hur man visar alla lokaler i MariaDB

  3. Visa hela SQL-frågan i Show Processlist för MySQL

  4. mysql:hur man trunkerar längden på ett fält