nativescript
Accéder à des sites natifs
Recherche…
Ecrire le code Java dans nativescript et l'utiliser directement en javascript
Voici l'image de la structure du projet en studio Android:
Voici l'image de la structure du projet nativescript:
Comme vous voyez, ils sont identiques. Nous pouvons donc écrire du code Java en nativescript lorsque nous écrivons dans Android Studio.
Nous voulons ajouter Toast à l'application par défaut de nativescript. Après avoir créé un nouveau projet nativescript, créez un répertoire comme celui-ci dans le répertoire java/org/example :
créer un nouveau fichier MyToast.java dans le répertoire example ;
MyToast.java:
package org.example;
import android.widget.Toast;
import android.content.Context;
public class MyToast{
public static void showToast(Context context,String text ,String StrDuration ){
int duration;
switch (StrDuration){
case "short":
duration = Toast.LENGTH_SHORT;
break;
case "long":
duration = Toast.LENGTH_LONG;
break;
}
Toast.makeText(context,text, Toast.LENGTH_SHORT).show();
}
}
Notes : n'oubliez pas le nom du paquet;
app.component.ts:
import {Component} from "@angular/core";
let application = require("application");
declare var org:any;
@Component({
selector: "my-app",
templateUrl: "app.component.html",
})
export class AppComponent {
public counter: number = 16;
public get message(): string {
if (this.counter > 0) {
return this.counter + " taps left";
} else {
return "Hoorraaay! \nYou are ready to start building!";
}
}
public onTap() {
this.counter--;
org.example.MyToast.showToast(application.android.context,"You pressed the button","short");
}
}
maintenant, lorsque vous appuyez sur le bouton, il affiche un toast;
Notes :
- La fonction showToast accepte le contexte pour le transmettre à
Toast.makeTextet nous lui avons passé un contexte de cette manière:application.android.context - typecript ne sait pas quelle
orgest, nous l'avons donc déclaré:declare var org:any;
utiliser apis natif directement en javascript
Nous voulons ajouter Toast à l'application par défaut nativescript.
import {Component} from "@angular/core";
let application = require("application");
declare var android:any;
@Component({
selector: "my-app",
templateUrl: "app.component.html",
})
export class AppComponent {
public counter: number = 16;
public get message(): string {
if (this.counter > 0) {
return this.counter + " taps left";
} else {
return "Hoorraaay! \nYou are ready to start building!";
}
}
public onTap() {
this.counter--;
this.showToast("You pressed the button","short");
}
public showToast(text:string ,StrDuration:string ):void{
let duration:number;
switch (StrDuration){
case "short":
duration = android.widget.Toast.LENGTH_SHORT;
break;
case "long":
duration = android.widget.Toast.LENGTH_LONG;
break;
}
android.widget.Toast.makeText(application.android.context,text, android.widget.Toast.LENGTH_SHORT).show();
}
}
pour créer des toasts, nous devons appeler Toast.makeText et il est dans le package android.widget.Toast . Toast.makeText accepte le contexte comme premier argument et nous pouvons obtenir le contexte dans nativescript de cette manière: application.android.context


