nativescript
Dostęp do natywnych aplikacji
Szukaj…
Napisz kod Java w skrypcie nativescript i użyj go bezpośrednio w javascript
Oto obraz struktury projektu w Android Studio:
Oto obraz struktury projektu projektu nativescript:
Jak widzisz, są takie same. abyśmy mogli pisać kod Java w kodzie źródłowym podczas pisania w Android Studio.
Chcemy dodać Toast do domyślnej aplikacji języka nativescript. po utworzeniu nowego projektu nativescript utwórz katalog java/org/example katalog w następujący sposób:
utwórz nowy plik MyToast.java w example katalogu;
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();
}
}
Uwagi : nie zapomnij nazwy pakietu;
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");
}
}
teraz, gdy naciśniesz przycisk, wyświetli toast;
Uwagi :
- Funkcja showToast akceptuje kontekst, aby przekazać go do
Toast.makeTexti przekazaliśmy mu kontekst w ten sposób:application.android.context - maszynopis nie wie, co to jest
org, więc zadeklarowaliśmy:declare var org:any;
używaj natywnych API bezpośrednio w javascript
Chcemy dodać Toast do domyślnej aplikacji 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();
}
}
do tworzenia tostów powinniśmy wywołać Toast.makeText i znajduje się on w pakiecie android.widget.Toast . Toast.makeText przyjmuje kontekst jako pierwszy argument i możemy uzyskać kontekst w skrypcie nativescript w następujący sposób: application.android.context


