Я создаю приложение nativescript с angular, я использую сервер json.У меня запущен сервер json, и когда я запускаю tns run android на моем компьютере, я получаю, что он успешно синхронизирован, но мое приложение выглядит пустым.
Я могу получить доступ к своей базе данных сервера json в браузере телефона
все мои cabins.component.ts
import { Component, OnInit, Inject } from '@angular/core';
import { Cabin } from '../shared/cabin';
import { CabinService } from '../services/cabin.service';
@Component({
selector: 'app-cabins',
moduleId: module.id,
templateUrl: './cabins.component.html'
})
export class CabinsComponent implements OnInit {
cabins: Cabin[];
errMess: string;
constructor(private cabinService: CabinService,
@Inject('BaseURL') private BaseURL) {
}
ngOnInit() {
this.cabinService.getCabins()
.subscribe(cabins => this.cabins = cabins,
errmess => this.errMess = <any>errmess);
}
}
все мои cab.service.ts
import { Injectable } from '@angular/core';
import { Cabin } from '../shared/cabin';
import { Observable } from 'rxjs';
import { Http, Response } from '@angular/http';
import { HttpClient, HttpHeaders } from "@angular/common/http";
import { baseURL } from '../shared/baseurl';
import { ProcessHTTPMsgService } from './process-httpmsg.service';
import { map } from "rxjs/operators";
import { catchError } from "rxjs/operators";
@Injectable()
export class CabinService {
cabins: any[];
constructor(private http: HttpClient,
private processHTTPMsgService: ProcessHTTPMsgService) { }
getCabins(): Observable<Cabin[]> {
return this.http.get(baseURL + 'cabins')
.pipe(map(res => { return this.processHTTPMsgService.extractData(res); }),
catchError(error => { return this.processHTTPMsgService.handleError(error); }));
}
getCabin(id: number): Observable<Cabin> {
return this.http.get(baseURL + 'cabins/'+ id)
.pipe(map(res => { return this.processHTTPMsgService.extractData(res); }),
catchError(error => { return this.processHTTPMsgService.handleError(error); }));
}
getFeaturedCabin(): Observable<Cabin> {
return this.http.get(baseURL + 'cabins?featured=true')
.pipe(map(res => { return this.processHTTPMsgService.extractData(res)[0]; }),
catchError(error => { return this.processHTTPMsgService.handleError(error); }));
}
}
Мой app.module.ts
imports: [
NativeScriptHttpClientModule,
NativeScriptModule,
AppRoutingModule
],
providers: [
{provide: 'BaseURL', useValue: baseURL},
CabinService,
ProcessHTTPMsgService
]
Я получаю это сообщение в консоли
× Переменная среды ANDROID_HOME не задана или она указывает на несуществующий каталог.Вы не сможете выполнять какие-либо операции, связанные со сборкой для Android.Чтобы иметь возможность выполнять операции, связанные со сборкой Android, установите переменную ANDROID_HOME
так, чтобы она указывала на корень установочного каталога Android SDK.
× ВНИМАНИЕ: adb из Android SDK не установлен или не настроендолжным образом.Для операций, связанных с Android, интерфейс командной строки NativeScript будет использовать встроенную версию adb.Чтобы избежать возможных проблем с собственным эмулятором Android, Genymotion или подключенными устройствами Android, убедитесь, что вы установили последнюю версию Android SDK и ее зависимости, как описано в http://developer.android.com/sdk/index.html#Requirements
× ВНИМАНИЕ: Android SDK не установлен илине настроен правильно.Вы не сможете запускать свои приложения в нативном эмуляторе.Чтобы иметь возможность запускать приложения в собственном эмуляторе Android, убедитесь, что вы установили последний Android SDK и его зависимости, как описано в http://developer.android.com/sdk/index.html#Requirements
× Не удается найти совместимый Android SDK для компиляции.Чтобы иметь возможность собирать для Android, установите Android SDK 28 или более поздней версии.Запустите $ sdkmanager
для управления версиями Android SDK.
× В вашей системе должны быть установлены инструменты сборки Android SDK.Вы можете установить любую версию в следующем диапазоне: '> = 23 <= 28'.Запустите <code>$ sdkmanager из командной строки, чтобы установить требуемый Android Build Tools
.Если они у вас уже установлены, убедитесь, что переменная окружения ANDROID_HOME
установлена правильно.
× Ошибка при выполнении команды 'javac'.Убедитесь, что вы установили Java Development Kit (JDK) и задали переменную среды JAVA_HOME.Вы не сможете создавать свои проекты для Android.Чтобы иметь возможность сборки для Android, убедитесь, что вы установили Java Development Kit (JDK) и настроили его в соответствии с системными требованиями, как описано в http://docs.nativescript.org/setup/ns-cli-setup/ns-setup-win.html#system-requirements
× ВНИМАНИЕ: Java Development Kit (JDK)не установлен или неправильно настроен.Вы не сможете работать с Android SDK и не сможете выполнять некоторые операции, связанные с Android.Чтобы убедиться, что вы можете разрабатывать и тестировать свои приложения для Android, убедитесь, что вы установили JDK, как описано в http://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html (для JDK 8).