nativescript
Accesso agli apis nativi
Ricerca…
Scrivi il codice java in nativescript e usalo direttamente in javascript
Questa è l'immagine della struttura del progetto in Android Studio:
Questa è l'immagine della struttura del progetto del progetto nativescript:
Come vedi sono uguali. quindi possiamo scrivere codice java in nativescript mentre scriviamo in Android Studio.
Vogliamo aggiungere Toast all'app predefinita di nativescript. dopo aver creato un nuovo progetto nativescript, crea una directory nella directory java/org/example questo modo:
creare un nuovo file MyToast.java nella directory di 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();
}
}
Note : non dimenticare il nome del pacchetto;
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");
}
}
ora quando si preme il pulsante verrà visualizzato un brindisi;
Note :
- showToast accetta il contesto per passarlo a
Toast.makeTexte abbiamo passato un contesto ad esso in questo modo:application.android.context - dattiloscritto non sa cosa sia l'
org, quindi l'abbiamo dichiarato:declare var org:any;
usa l'apis nativo direttamente in javascript
Vogliamo aggiungere Toast all'app predefinita 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();
}
}
per creare il brindisi dovremmo chiamare Toast.makeText ed è nel pacchetto android.widget.Toast . Toast.makeText accetta il contesto come primo argomento e possiamo ottenere il contesto in nativescript in questo modo: application.android.context


