nativescript
Åtkomst till ursprungliga apis
Sök…
Skriv java-kod i nativescript och använd den direkt i javascript
Detta är bilden av projektstrukturen i Android-studio:
Detta är bilden av projektstrukturen i nativescript-projektet:
Som ni ser är de samma. så vi kan skriva java-kod i nativescript när vi skriver i androidstudio.
Vi vill lägga till Toast i standardappen för nativescript. efter att ha skapat ett nytt nativescript-projekt skapar du en katalog java/org/example katalogen så här:
skapa en ny MyToast.java fil i example katalog,
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();
}
}
Anmärkningar : glöm inte paketnamnet;
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");
}
}
nu när du trycker på knappen visar det en rostat bröd;
Anmärkningar :
- showToast-funktionen accepterar kontext för att vidarebefordra det till
Toast.makeTextvi skickade ett sammanhang till det på detta sätt:application.android.context - typskript vet inte vad
orgär, så vi förklarade det:declare var org:any;
använd inbyggda apis direkt i javascript
Vi vill lägga till Toast i standardprogrammet för 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();
}
}
För att skapa rostat bröd ska vi ringa Toast.makeText och det är i android.widget.Toast paketet. Toast.makeText accepterar kontext som första argument och vi kan få sammanhanget i nativescript på detta sätt: application.android.context


