VOS app
Chapeau
Stappen
- Afspraken
	- JavaScript bestandsnamen in kleine letters, hyphenated compounds, namelijk spaties tussen woorden vervangen door verbindingsteken (-)
- Componentnamen:
		- functiecomponent: camelcasenotatie
- klassecomponent: pascalnotatie
 
 
- GDPR
- We maken de vos (vosa voor Android) applicatie. In de map net boven de map waarin we de app willen maken typen we:
	react-native init vos 
- De app runnen op een device:
	- Android:
		- ga naar de map waarin de app staat (cd vosa)
- 
			react-native run-android 
 
- ga naar de map waarin de app staat (
 
- Android:
		
- VOS navigatie
	- De VOS app heeft 3 hoofdviews:
		- IndexProcedure
 In de map vos/components map maken we een bestand met de naam index-procedure.js.
- ViewProcedure
- LoggingIn
 
- IndexProcedure
- De navigatiestack zetten we op in vos/components/vos.js:
- In de index.js roepen we de App component uit vos.js op:
		import app from './components/vos'; 
 
- De VOS app heeft 3 hoofdviews:
		
- We installeren React Navigation
 Let erop dat je voor Android het app/src/main/java/com/vosa/MainActivity.java bestand moet aanpassen.
- Hulp componenten
	- home.style.js
- basic-elements.js
 
- UI data exporteren we vanuit de module data/ui/index-procedure.js. Met UI data bedoelen we de gegevens die we nodig hebben om de tegels van UI te maken, namelijk de tekst, het icoontje, de target als erop geklikt wordt, enz.
	- const homeIndexProcedureData
- const fireIndexProcedureData
- const psychoSocialRiskIndexProcedureData
- const accidentIndexProcedureData
 
- We deleten App.js.
- 
	We gebruiken net als in de Cordova implementatie font-iconen. Hoe je die maakt lees je op Add custom icons to your React Native application. 
- We maken als eerste component IndexProcedurein het bestand components/index-procedure.js.- We testen dit uit door index.js in de root aan te passen:
		/** * @format * @lint-ignore-every XPLATJSCOPYRIGHT1 */ import {AppRegistry} from 'react-native'; import app from './components/index-procedure'; import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => app);
 
- We testen dit uit door index.js in de root aan te passen:
		
- Component indexProdeduremaken- Eerst zonder props met de data voor de hoofdindex
 
- Overzicht van dependencies:
	- 
		
		- IOS
			- npm install react-native-vector-icons
- react-native link react-native-vector-icons
 
- Android
			- npm install react-native-vector-icons
- Edit android/app/build.gradle ( NOT android/build.gradle ) and add the following:
				apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" To customize the files being copied, add the following instead: project.ext.vectoricons = [ iconFontNames: [ 'MaterialIcons.ttf', 'EvilIcons.ttf' ] // Name of the font files you want to copy ] apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" 
 
 
- IOS
			
- React Navigation
- Geolocatie is niet echt een dependency. Het is standaard in React aanwezig. Je moet voor het voor Android wel activeren. Voor IOS is het standaard geactiveerd.
		- On Android it’s similarly simple, just not enabled by default. In your AndroidManifest.xml you’ll need to add the following permission request:
			<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
- 
			navigator.geolocation is verwijderd uit React Native >= 6.0 - Installeer: react-native-geolocation-service
- vraag om toestemming van de gebruiker om geolocatie te gebruiken:
				- in Android: PermissionsAndroid
 
 
 
- On Android it’s similarly simple, just not enabled by default. In your AndroidManifest.xml you’ll need to add the following permission request:
			
 
- 
		
		
Onder ondertitel
Paragraaf
2019-09-02 14:03:40