ID.nl logo
Zelf mobiele apps bouwen (deel 3)
© Reshift Digital
Huis

Zelf mobiele apps bouwen (deel 3)

In het vorige deel hebben we een nieuw project gemaakt. Hiermee heb je eigenlijk meteen een basis voor je app. We laten nu zien welke bestanden zijn aangemaakt en wat het doel van die bestanden is. Ook gaan we op twee manieren een tekst aanpassen: via de gebruikersinterface en via code.

We gaan in dit deel verder met de app die we in deel 2 hadden opgezet. Herhaal als het nodig is de stappen door in Android Studio een nieuw project te beginnen met als template Empty Activity. Hiermee zijn al enkele mappen en bestanden voor de app gemaakt en ook al grotendeels ingevuld, zodat je in feite al een werkende app hebt. In het projectvenster zie je deze bestanden en mappen terug onder de map app. Het gaat om:

- manifests: deze map bevat het belangrijke bestand AndroidManifest.xml, dat allemaal details over je app bevat. Er staat bijvoorbeeld in welke activity moet worden begonnen bij het starten van de app. Als toegang nodig is tot systeemonderdelen, zoals internet of de camera, vermeld je dat ook in dit bestand. Bij het uitbreiden van je app zul je hier zelf aanpassingen in maken;

- java: deze map bevat alle broncode voor je app (in Kotlin of Java) in verschillende mappen. Hierbij gebruik je doorgaans de bovenste map (met de ‘package name’ als naam). De twee mappen daaronder bevatten testcode. Er is in de map al één bestand met de naam MainActivity.kt gemaakt, waarin al enkele regels code zijn ingevuld. Aan de extensie .kt kun je zien dat het in Kotlin is geschreven.

- res: deze map bevat extra zogeheten resources (bronnen), verdeeld over mappen. In de map drawable vind je grafische bestanden. De map layout bevat alle lay-outs. Daarmee bedoelen we de schermen voor de app, ofwel grafische interfaces, waarop bijvoorbeeld teksten, afbeeldingen en buttons staan. Zo’n lay-out wordt beschreven in een xml-bestand en voor het eerste eenvoudige scherm is al een bestand activity_main.xml gegenereerd. De map values bevat andere resources, zoals variabelen die in de app worden gebruikt. Zo vind je in strings.xml de naam die je aan de app hebt gegeven terug.

©PXimport

Lay-out openen

Open de automatisch gegeneerde lay-out via het projectvenster door onder app/res/layout te dubbelklikken op activity_main.xml. Deze lay-out wordt dan aan de rechterkant geopend, waar het zoals elk geopend bestand een eigen tabblad krijgt. Bij het bewerken van een lay-out kies je rechtsboven uit de drie modi Code, Split en Design.

Onder Code kun je het xml-bestand rechtstreeks bewerken. Via Design kan dit visueel door bijvoorbeeld elementen naar de app te slepen. Bij de modus Split heb je die twee opties naast elkaar. We beginnen met Design.

Links in het venster Palette zie je alle componenten waarmee je de gebruikersinterface voor je app bouwt, zoals teksten, afbeeldingen en knoppen. Dat doe je door zulke componenten naar je scherm te slepen en daarop te positioneren. Er is al één component voor tekst geplaatst, ook wel TextView genoemd. In de gebruikersinterface zie je dat deze component al de tekst Hello World! bevat. Als je op die tekst klikt, is de TextView-component geselecteerd, wat je ook ziet in het venster Component Tree. Dat is een soort boomstructuur voor alle gebruikte componenten.

©PXimport

Tip: bestanden terugvinden

Wil je voor een geopend bestand weten wáár het tussen je projectbestanden staat? Klik dan in het projectvenster op het icoontje Select Opened File.

Eigenschappen aanpassen

Elke component kent talloze eigenschappen die je kunt aanpassen, ook wel attributen genoemd. Zorg daarvoor eerst dat de component is geselecteerd, door erop te klikken in de gebruikersinterface of in de Component Tree. Selecteer als voorbeeld de TextView-component en open rechts (als het nog niet is geopend) het venster Attributes. Hierin vind je alle attributen voor deze component. De tekst voor de TextView is in eerste instantie Hello World! en vind je bij het attribuut met de naam text. De attributen waaraan reeds een waarde is toegekend, vind je altijd snel terug onder Declared Attributes.

Er zijn nog talloze andere attributen. De volledige lijst vind je onder All Attributes. Veel attributen komen in latere delen aan bod, als we dieper ingaan op het bouwen van gebruikersinterfaces. We gaan alvast één belangrijke attribuut met de naam id invullen. Daarmee kunnen we straks in code de component aanwijzen. Dit attribuut vind je al direct bovenaan. Vul de gewenste naam in; als voorbeeld kiezen we text_welkom.

Ga ten slotte rechtsboven naar Code om te zien hoe de lay-out er in het xml-bestand uitziet. Let daarin vooral op de TextView-component en de attributen text en id. Als je het handiger vindt, kun je ook altijd in het xml-bestand aanpassingen maken. Dat gaat in sommige gevallen sneller omdat je wat handiger kunt knippen, kopiëren en plakken.

©PXimport

Code schrijven volgens de richtlijnen

Bij het programmeren is het altijd handig om bepaalde richtlijnen te volgen, zodat code voor iedereen herkenbaar en goed leesbaar is. Dat helpt je niet alleen bij de stijl van je code, maar ook bij de keuze van namen voor bijvoorbeeld ID’s en variabelen. Een voorbeeld van zulke richtlijnen voor Android vind je via www.bit.ly/andrguide. In deze cursus volgen we overwegend de richtlijnen. Zo nemen we voor de ID steeds de naam van de component als uitgangspunt, gevolgd door een underscore, zoals text_ voor een TextView, image_ voor een ImageView, button_ voor een Button en tot slot menu_ voor een Menu. De TextView-component waarop we de welkomsttekst laten zien, noemen we daarom text_welkom. Voor een variabele in de code die verwijst naar deze ID zou je dezelfde naam mogen gebruiken. In deze cursus gebruiken we voor de duidelijkheid een andere afgeleide naam, met een hoofdletter in plaats van het underscore-teken als afscheiding, bijvoorbeeld textWelkom.

Bestaande code

Je hebt gezien hoe je voor de TextView-component in je ontwerp de tekst aan kunt passen. De aanpassing kun je ook via code maken tijdens de uitvoering van je app. We laten zien hoe je dat doet. Open het bestand MainActivity.kt via het projectvenster. Dit bestand bevat een eenvoudige basis voor de (enige) activity van deze app, waaronder de volgende regels:

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

}

}

Belangrijk om te weten is dat er verschillende toestanden bestaan waarin een activity kan verkeren. Dit heet ook wel levenscyclus of lifecycle. Je kunt via zogenoemde ‘callbacks’ inhaken op elke (veranderende) toestand. In een van de komende delen gaan we hier uitgebreider op in door de levenscyclus en callbacks met een werkend voorbeeld te demonstreren. Hier gebruiken we zo’n callback voor de belangrijke onCreate() die optreedt zodra onze activity wordt gemaakt. Door hier zelf met sleutelwoord override een functie voor te maken, overschrijf je als het ware de bestaande code, waarbij je met super.onCreate(savedInstanceState) eerst de bestaande code (alsnog) kunt laten uitvoeren. Hierbij is savedInstanceState de bewaarde eerdere toestand van de app. Daaronder kun je dan je eigen aanvullende code schrijven. Je ziet daarin nu alleen de regel setContentView(R.layout.activity_main). Die regel zorgt ervoor dat de gewenste lay-out (in dit geval het bestand activity_main.xml) wordt geladen en op het scherm wordt getoond.

Code toevoegen

Voordat je code gaat schrijven, is het handig om een instelling te wijzigen, zodat de benodigde bibliotheken automatisch worden geïmporteerd als je ze gebruikt in je code (zie het kader ‘Importregels voor bibliotheken’). Vervolgens hoeven we maar twee regels toe te voegen om de tekst te veranderen. Zet de regels direct onder de regel setContentView(). Eerst zoeken we via de in de lay-out toegekende id de TextView-component op en maken we deze beschikbaar via de variabele die we textWelkom noemen:

val textWelkom: TextView = findViewById(R.id.text_welkom) as TextView

Hierna kunnen we eenvoudig de tekst veranderen:

textWelkom.text = "Dit is een live aanpassing!"

Als je geen automatische importregels hebt ingesteld, wordt gevraagd om op Alt+Enter te drukken om de bibliotheken te importeren, die nodig zijn voor deze app. Als je de app start, bijvoorbeeld in de emulator, zie je als het goed is de aangepaste tekst. Je merkt nergens dat de tekst via de code wordt aangepast. Dat is niet omdat het te snel zou gaan om op te vallen, maar omdat de bewuste activity binnen de onCreate() nog niet zichtbaar is gemaakt voor de gebruiker.

©PXimport

Importregels voor bibliotheken

We raden je aan om voor de hand liggende bibliotheken automatisch toe te laten voegen. Om dat in te stellen, ga je naar File / Settings en dan Editor / General / Auto Import. Zet onder Kotlin en Java een vinkje bij Add unambigious imports on the fly. Dat zorgt ervoor dat de importregel automatisch wordt toegevoegd als je bijvoorbeeld de Log-opdracht schrijft. Ook de optie Optimize imports on the fly is handig. Deze instelling zal automatisch de importregels verwijderen voor bibliotheken die je niet meer raadpleegt.

©PXimport

Testen in emulator

Fysiek of virtueel Android-toestel

Om je app te testen heb je een Android-toestel nodig. Je kunt hiervoor een fysiek toestel gebruiken (wat in deel 4 aan bod gaat komen), maar ook een virtueel toestel via de emulator te gebruiken. Die werkt tegenwoordig net zo snel of zelfs sneller dan een ‘echt’ toestel. Doorgaans zul je in de eerste fase van je ontwerp vooral de emulator gebruiken en in de laatste fase – voor het perfectioneren van de app – een echt toestel. Om virtuele toestellen voor de emulator te bekijken en te beheren, open je de AVD (Android Virtual Device) Manager via Tools / AVD Manager.

©PXimport

Virtuele toestellen

Bij een standaardinstallatie heb je een toestelconfiguratie gemaakt voor de Pixel 3a. Als voorbeeld voegen we een virtueel toestel toe via de optie Create Virtual Device. Je ziet dan verdeeld over categorieën als TV, Phone, Wear OS en Tablet allerlei profielen voor bekende apparaten die je als basis voor je virtuele toestel kunt gebruiken, al kun je ook zelf een profiel maken (zie het kader ‘Profielen voor apparaten maken’).

Hier kiezen we onder Phone voor Pixel 4. Zoals je aan het icoontje in de kolom Play Store kunt zien, bevat dit virtuele toestel ook de Google Play Store. Je kunt dus (andere) apps op het toestel installeren vanuit de appstore van Android, net als op een echte telefoon. Klik op Next om verder te gaan.

Nu kun je kiezen welke versie van Android moet worden geïnstalleerd. Onder Recommended zie je aanbevolen releases, maar je kunt ook andere systeem-images kiezen. Dit bepaalt de versie van Android. We gebruiken als voorbeeld de release genaamd Q oftewel Android 10. Klik indien nodig eerst op Download om het systeem-image te downloaden en te installeren. Daarna selecteer je het systeem-image en klik je op Next. Als laatste kun je het toestel een naam geven en een standaard schermoriëntatie kiezen (Portret of Landschap).

Via Show Advanced Settings kun je extra details zien. Zo kies je bij Boot option voor Cold boot als het toestel steeds schoon moet starten, of Quick boot als het verder moet gaan in de toestand waarin je het de laatste keer hebt gebruikt. Klik ten slotte op Finish om de configuratie af te ronden.

©PXimport

Profielen voor apparaten maken

De AVD Manager bevat profielen voor allerlei soorten apparaten, zoals smart-tv’s met Android TV en wearables met Wear OS. Zo’n profiel geeft bijvoorbeeld aan wat de schermgrootte, resolutie en pixeldichtheid zijn, maar ook hoeveel geheugen het apparaat heeft en wat voor sensoren erop zitten. Klik je op New Hardware Profile, dan kun je zo’n profiel zelf helemaal samenstellen. Je kunt bij het maken van een profiel ook een bestaand profiel uit de lijst als uitgangspunt nemen en deze aanpassen. Daarvoor klik je met rechts op een toestel en kies je Clone.

©PXimport

App starten op toestel

Als je het virtuele toestel hebt gemaakt, start je deze vanuit het overzicht door op het groene speelicoontje te klikken. De eerste keer kan het opstarten wat langer duren. Als het toestel is opgestart, kun je het gebruiken zoals een echte Android-smartphone. Zo kun je bijvoorbeeld instellingen veranderen via het instellingenmenu en dankzij de Play Store na inloggen ook aanvullende apps installeren. De emulator zelf geeft je via een knoppenbalk nog diverse extra opties (zie het kader ‘Emulator aanpassen’).

Ga je naar Android Studio, dan selecteer je het toestel in de werkbalk onder Running Devices. Dat kan ook via Run / Select Device (Alt+Shift+F11). Klik je op het groene icoontje (of Shift+F10), dan wordt de app gecompileerd en vervolgens op het virtuele toestel geïnstalleerd en gestart.

Emulator aanpassen

De emulator geeft je een knoppenbalk waarmee je allerlei opties kunt wijzigen. Denk aan het roteren van het scherm of wijzigen van het volume. Via de drie puntjes is een extra menu beschikbaar, waarin je nog veel meer details kunt veranderen. Dat gaat vooral om externe invloeden. Zo kun je bijvoorbeeld de gps-locatie wijzigen, een inkomend gesprek simuleren, de sensoren voor richting, beweging en versnelling beïnvloeden of het soort netwerkverbinding en signaalsterkte wijzigen.

©PXimport

▼ Volgende artikel
Wat betekent IP68 eigenlijk?
© ID.nl
Huis

Wat betekent IP68 eigenlijk?

Bij de specificaties van een nieuwe smartphone, smartwatch of bluetooth-speaker zie je vaak de term 'IP68' staan. In marketinguitingen wordt dit veelal vertaald naar 'waterdicht' of 'stofbestendig'. Dat klinkt geruststellend, maar de praktijk is weerbarstiger. Kun je met een IP68-telefoon daadwerkelijk zwemmen, of biedt de certificering slechts bescherming tegen een val in het toilet?

De term IP68 is een technische classificatie die exact aangeeft in welke mate de behuizing van elektronica bestand is tegen invloeden van buitenaf. De afkorting IP staat voor Ingress Protection (of soms International Protection). Het is een internationale standaard die duidelijkheid moet scheppen over de robuustheid van een apparaat. De code bestaat altijd uit twee cijfers, waarbij het eerste cijfer iets zegt over vaste stoffen en het tweede cijfer over vloeistoffen.

©ID.nl

Het eerste cijfer: bescherming tegen stof

In de code IP68 staat het eerste cijfer, de 6, voor de bescherming tegen vaste deeltjes zoals stof en zand. Deze schaal loopt van 0 (geen bescherming) tot 6 (maximale bescherming). Een apparaat met een 6 als eerste cijfer is dus volledig stofdicht.

In een testomgeving betekent dit dat er, zelfs na acht uur blootstelling aan circulerend stof, niets de behuizing is binnengedrongen. Voor de levensduur van je toestel is dit heel belangrijk, aangezien opgehoopt stof aan de binnenkant kan zorgen voor slechtere koeling of zelfs kortsluiting.

©ID.nl

Het tweede cijfer: bescherming tegen water

Voor veel consumenten is het tweede cijfer doorslaggevend bij de aankoop. Dit getal geeft de weerstand tegen vocht aan. Bij IP68 is dit een 8. Hoewel de schaal in specifieke industriële gevallen doorloopt tot 9, is 8 doorgaans de hoogste score die je bij consumentenelektronica tegenkomt.

Om de waarde van die 8 te begrijpen, is het goed om te weten dat een 4 slechts staat voor spatwaterdichtheid (bijvoorbeeld regen) en een 7 aangeeft dat een toestel incidenteel ondergedompeld kan worden (tot 1 meter diep).

Een IP68-certificering gaat een stap verder. Het betekent dat het toestel hermetisch is afgesloten en geschikt is voor langdurige onderdompeling dieper dan 1 meter. Fabrikanten mogen bij dit cijfer zelf specificeren wat de exacte limiet is. Vaak garanderen merken zoals Samsung of Apple dat een toestel 30 minuten lang op een diepte van 1,5 tot wel 6 meter kan overleven. Het is daarom altijd slim om de specifieke productpagina van het apparaat te raadplegen voor de exacte waarden.

Laboratorium versus de praktijk

Hoewel de specificaties suggereren dat je probleemloos het water in kunt duiken met je elektronica, is enige nuance op zijn plaats. De tests voor deze certificeringen worden namelijk uitgevoerd onder strikte laboratoriumcondities. Hierbij wordt gebruikgemaakt van vers, stilstaand kraanwater. De werkelijkheid is vaak anders.

©ID.nl

Wanneer je bijvoorbeeld met een telefoon gaat zwemmen, beweeg je door het water. Hierdoor ontstaat waterdruk die lokaal hoger kan zijn dan de druk in een stilstaande testtank. Hierdoor kan water alsnog langs de afdichtingen worden geperst. Daarnaast is de samenstelling van het water een risicofactor. Zeewater bevat zout en zwembadwater bevat chloor. Beide stoffen kunnen de lijmranden en rubberen afdichtingen van een toestel aantasten. Zodra deze afdichtingen uitdrogen of poreus worden, is de waterdichtheid niet langer gegarandeerd. Ook zeep en shampoo onder de douche verlagen de oppervlaktespanning van water, waardoor vocht makkelijker binnendringt.

Slijtage en garantievoorwaarden

Een ander belangrijk aspect is de factor tijd. Een gloednieuw toestel dat net uit de doos komt, voldoet perfect aan de IP68-normen. Na verloop van tijd kan de bescherming echter afnemen door normale slijtage, temperatuurschommelingen of kleine valpartijen die onzichtbare haarscheurtjes veroorzaken. Een toestel met een barst in het scherm of de achterkant is per definitie niet meer waterdicht.

©ID.nl

Tot slot is er een belangrijk voorbehoud rondom de garantie. Vrijwel alle fabrikanten sluiten waterschade uit van de fabrieksgarantie, ondanks de IP68-rating. In de meeste moderne smartphones zitten vochtsensoren. Als deze verkleuren door contact met water, zal een reparatieverzoek doorgaans worden afgewezen. De fabrikant kan achteraf namelijk niet controleren of het toestel op 1,5 meter diepte is geweest (wat zou moeten kunnen) of op de bodem van een diep zwembad heeft gelegen.

Conclusie

IP68 biedt een goede bescherming bij alledaagse ongelukjes. Valt je telefoon per ongeluk in de wasbak, het toilet of een plas water, dan is de kans op schade met deze certificering zeer klein. Maar zie IP68 vooral als een vangnet voor noodgevallen. Gebruik je je telefoon onder water, bijvoorbeeld in zee voor onderwaterfotografie, dan kun je beter het zekere voor het onzekere nemen en een speciale waterdichte hoes gebruiken.

3x IP68-smartphones

Vrijwel alle high-end smartphones hebben tegenwoordig deze certificering. Dit is de standaard voor toestellen in het duurdere segment.

Samsung Galaxy S25-serie: Samsung voorziet zijn toptoestellen al jaren standaard van IP68. Dit geldt voor de gehele lijn (S25, S25+ en S25 Ultra).

Apple iPhone 17-serie: Hoewel Apple vaak spreekt over 'maximale diepte van 6 meter diep tot 30 minuten' (wat de IP68-norm overstijgt), vallen ze technisch onder de IP68-classificatie. Dit geldt voor zowel de standaardmodellen als de Pro-versies. Lees hier onze Apple iPhone 17 review.

Google Pixel 10 Pro XL: Ook de nieuwere generaties telefoons van Google zijn volledig stof- en waterdicht volgens deze norm. Lees hier onze Google Pixel 10 Pro XL review.

3x IP68-smartwatches (5ATM)

Bij smartwatches is het opletten: IP68 is vaak niet genoeg om mee te zwemmen (vanwege de armslag-druk). Daarom hebben goede horloges vaak ook een '5ATM' of 'WR50' rating. De onderstaande modellen combineren deze eigenschappen of hebben een gelijkwaardige bescherming.

Samsung Galaxy Watch 8: Deze horloges hebben expliciet zowel een IP68- als een 5ATM-rating, waardoor ze officieel geschikt zijn om mee te zwemmen. Lees hier onze Samsung Galaxy Watch 8 Classic review.

Google Pixel Watch 3: Ook dit horloge draagt de IP68-classificering in combinatie met 5ATM waterbestendigheid. Lees hier onze Google Pixel Watch 3 review.

Apple Watch Ultra 2:Let op: Apple gebruikt officieel de zwaardere zwemstandaard (WR100; WR staat voor water-resistant) en noemt daarbij vaak IP6X voor stofdichtheid. In de volksmond valt deze watch in de "beter dan IP68"-categorie voor water, maar technisch is de rating anders omschreven. Het horloge is echter uitstekend waterdicht. Lees hier onze Apple Watch Ultra 2 review.

3x bluetooth-speakers (IP68 vs. IP67)

Hier zit een addertje onder het gras. De overgrote meerderheid van de "waterdichte" speakers (zoals de populaire JBL Flip 6 of UE Boom 3) heeft een IP67-rating. Dat betekent: dompeldicht tot 1 meter. IP68 (dieper dan 1 meter) is bij speakers zeldzaam omdat je een speaker zelden diep onder water duwt. Toch zijn er inmiddels modellen die de stap naar IP68 maken of zeer dicht in de buurt komen:

JBL Charge 6: In de nieuwste generaties stappen fabrikanten zoals JBL bij specifieke modellen over naar IP68 om de robuustheid te benadrukken. (Let op: check altijd de doos, de voorganger Charge 5 was nog IP67).

Tribit StormBox Micro 2: Een zeer populaire, compacte speaker die vaak wordt geprezen om zijn volledige waterdichtheid (IP67, maar in tests vaak robuuster bevonden).

Soundcore Motion X600: Deze speaker staat bekend om zijn ruimtelijke geluid: de muziek lijkt van alle kanten te komen in plaats van uit één punt. Ondanks zijn chique uiterlijk is hij met een IPX7-rating volledig waterdicht, dus hij kan prima mee naar het park of strand.

Advies: Voor een bluetooth-speaker is IP67 in de praktijk ruim voldoende (hij overleeft een val in het zwembad). Staar je voor speakers dus niet blind op die '8' aan het eind; een '7' is hier ook uitstekend.

Een verfrissende duik?

(in het zwembad of in zee)
▼ Volgende artikel
Waar voor je geld: 5 slimme personenweegschalen
© ID.nl
Gezond leven

Waar voor je geld: 5 slimme personenweegschalen

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Wil je je gewicht goed in de gaten kunnen houden, dan is een personenweegschaal een must. Een digitale weegschaal is zeer nauwkeurig. Wij vonden vijf goed gewaardeerde exemplaren.

Een digitale personenweegschaal biedt talrijke voordelen. Veel modellen hebben bijvoorbeeld extra functies zoals het meten van BMI, vetpercentage en spiermassa. Ze zijn gebruiksvriendelijk en vaak uitgerust met geheugen voor meerdere gebruikers. Een digitale weegschaal is eenvoudig af te lezen dankzij een duidelijk digitaal display. Door het moderne en compacte ontwerp past hij goed in elke badkamer. Wij vonden vijf modellen die werden gewaardeerd met een cijfer 8 en hoger op Kieskeurig.nl en die voorzien zijn van handige functies.

Inventum PW708ZW

De Inventum PW708ZW geeft – naast het gewicht – ook inzicht in vetpercentage, vochtpercentage, spiermassa en botmassa. Het apparaat heeft een geheugenfunctie voor maximaal 10 gebruikers, waardoor meerdere personen hun gegevens kunnen bijhouden. Het ontwerp is voorzien van een glazen weegoppervlak met roestvrijstalen accenten en een blauw verlicht LCD-display voor duidelijke aflezing.

Extra meetfuncties:
vetpercentage, vochtpercentage, spiermassa en botmassa
App beschikbaar: Nee
Materiaal: Gehard glas met roestvrijstalen accenten
Maximum gewicht: 180 kg

Beurer BF195LE

De Beurer BF195LE is een digitale personenweegschaal die naast het gewicht ook lichaamsvet, lichaamswater, spiermassa, botmassa, BMI en caloriebehoefte (AMR) meet. Hij is uitgerust met een rond, blauw verlicht LCD-display en roestvrijstalen elektroden. Er kunnen gegevens van maximaal 10 gebruikers worden opgeslagen.

Extra meetfuncties:
vetpercentage, vochtpercentage, spiermassa, botmassa, BMI en AMR
App beschikbaar: Nee
Materiaal:
Gehard glas met roestvrijstalen elektroden
Maximum gewicht:
180 kg

Medisana BS 440 Connect

Naast het meten van het gewicht kun je op deze weegschaal ook metingen van lichaamsvet, lichaamswater, spiermassa, botmassa, BMI en het basaal metabolisme (BMR) aflezen. De weegschaal maakt gebruik van ITO-elektroden die vrijwel onzichtbaar zijn op het glazen oppervlak, wat bijdraagt aan een strak en modern ontwerp. Met bluetooth-functionaliteit kunnen de meetgegevens draadloos worden gesynchroniseerd met de VitaDock+ app op iOS- en Android-apparaten, zodat je je gegevens makkelijk kunt bijhouden en analyseren.

Extra meetfuncties:
vetpercentage, vochtpercentage, spiermassa, botmassa, BMI en BMR
App beschikbaar: Ja
Materiaal: Gehard glas met ITO-elektroden
Maximum gewicht:
180 kg

Medisana BSA42

De Medisana BSA42 kent naast het wegen ook lichaamsanalysefuncties, waaronder metingen van lichaamsvet, lichaamswater, spiermassa, botmassa, BMI en caloriebehoefte (BMR). Het apparaat ondersteunt bluetooth-gegevensoverdracht naar de VitaDock+ app en kan gegevens van maximaal 8 gebruikers opslaan. De weegschaal is voorzien van een groot LCD-display en roestvrijstalen elektroden.

Extra meetfuncties:
vetpercentage, vochtpercentage, spiermassa, botmassa, BMI en BMR
App beschikbaar: Ja
Materiaal:
Gehard glas met roestvrijstalen elektroden
Maximum gewicht:
180 kg

Tefal Goodvibes Life BM9620

De Tefal Goodvibes Life BM9620 is een digitale personenweegschaal die 10 lichaamsmetingen biedt, waaronder gewicht, BMI, vetpercentage, spiermassa, botmassa en vochtpercentage. Het apparaat werkt met een app voor het bijhouden van gegevens en ondersteunt een onbeperkt aantal gebruikers. De weegschaal heeft een zwart glazen oppervlak met vier roestvrijstalen sensoren en een wit LED-display.

Extra meetfuncties:
vetpercentage, vochtpercentage, spiermassa, botmassa en BMI
App beschikbaar: Ja
Materiaal:
Gehard glas met roestvrijstalen sensoren
Maximum gewicht:
180 kg