La commande pour copier un fichier sur le téléphone :
adb push /dir/to/file /dir/to/phone
La commande pour copier un fichier sur le téléphone :
adb push /dir/to/file /dir/to/phone
Bonjour,
Cordova / Ionic propose un système de plugins dont le but est double :
Lors du dernier article (ici), j’ai testé différents plugins pour la gestion de la communication Bluetooth. L’idée est donc est de comprendre comment un plugin fonctionne et comment il est possible d’en mettre un en place. On fera le bilan à la fin de la journée.
Bonjour,
Dans le cadre de projets “persos”, je me suis intéressé à la techno NFC, mais pas à la techno Bluetooth. L’objectif du jour est de corriger cela en regardant particulièrement comment cela peut fonctionner avec Cordova ou Ionic … Le titre est en référence à cette vidéo. Comme d’habitude, cette séance de travail commence par une bonne phase de lecture dont les liens intéressants sont en bas de page. 
Un petit rappel …
Appel :
this.navCtrl.push(
AndroidItemPage
, { device: $event.value }
);Page :
constructor(public navCtrl: NavController, public params:NavParams) {
this.deviceInfo = this.params.get("device");
} // /constructor
Venant d’Angular2 et de son routeur qui est déjà pas simple, j’étais un peu perdu dans la navigation Ionic 2 et spécialement dans le cas du starter Tab.
Un bon article qui explique bien (je trouve) : https://webcake.co/exploring-nav-hierarchy-in-the-ionic-2-tabs-page/.
Une astuce trouvée à cette page : http://www.codingandclimbing.co.uk/blog/ionic-2-fix-splash-screen-white-screen-issue-14 Bon cela ne résout pas le temps de chargement “long” mais au moins il n’y a plus d’écran blanc … L’astuce est de laisser tourner tant que la plateforme n’est pas prête et de supprimer le splash screen a ce moment là.
C’est tellement évident que ca prend 3 plombes à trouver :
<ion-select [(ngModel)]=”connectedDevice” > <ion-option *ngFor=”let item of devices” [value]=”item” > { { item.name }}
Tellement en ajouter un c’est simple :
git submodule add [repo] [folder]Tellement un supprimer un … c’est plus compliqué :
Suppression de la référence au submodule dans .gitmodules (normalement, il y a trois lignes)
Intégration (commit) de la modification dans le repo (un stage (add) doit suffire mais bon)
Suppression de la référence au submodule dans .git/config (normalement, il y a deux lignes,
Execution de
git rm --cached [rep/du/submodule]Execution de
rm -rf .git/modules/submodule_nameCommit !
Exécution de
rm -Rf [rep/du/submodule]Voilà …
En surfant, j’ai trouvé plein de trucs compliqués mais au final, voici quelques choses qui fonctionnent bien :
// getLocalContainer
it('LocalContainerService : getLocalContainer 1stTime', (done) => {
service.getLocalContainer(defaultCode).then(function(obj) {
expect(defaultCode).toBe('to be found');
done();
}).catch(function(err) {
expect(err).toBe('NOTFOUND');
done();
});
});L’astuce est de passer en paramètre done. Les explications sont ici. Différents exemples : ici. Par défaut, l’attente est assez courte si il y a plusieurs appels. Il est possible de le modifier :
// Instanciation of service
beforeEach(() => {
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
});
afterEach(function() {
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
});
Toujours dans l’optique de rattraper mon retard : cette semaine c’est Auth0. Il s’agit d’un service/provider d’authentification disponible sous la forme d’un service. D’après la documentation, il permet d’intégrer dans son application des connecteurs vers différents types de sources d’authentification : réseaux sociaux, bases de données, etc.