小编Mac*_*nux的帖子

为什么Android使用多个上下文而每个上下文都不同?

我知道android中有很多上下文

  1. 应用
  2. 活动
  3. 服务
  4. 内容提供商
  5. 广播接收器

所以当我创建一个new TextView我必须context像这样传递构造函数

TextView textView = new TextView(this);
Run Code Online (Sandbox Code Playgroud)

我知道它是必要的,但为什么不只是创建和Android为我处理上下文?

android android-context

6
推荐指数
1
解决办法
537
查看次数

没有ConnectionBackend for ionic 2的提供者

即时通讯使用离子2和我创建一个简单的服务

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';

@Injectable()
export class EliteApi {

  private baseUrl="https://myurl.com";
    constructor(private http:Http) { }

    getTournaments(){
      return new Promise(resolve =>{
        this.http.get(this.baseUrl + 'tournaments.json').subscribe(res => resolve(res.json()));

      });
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在这样的app.component.ts上导入它来注册服务

import { EliteApi } from './shared/shared';
import {Http} from "@angular/http";

@Component({
  templateUrl: 'app.html',
  providers: [EliteApi,Http]
})
Run Code Online (Sandbox Code Playgroud)

在我的页面上,我导入服务

import { EliteApi } from '../../app/shared/shared';
Run Code Online (Sandbox Code Playgroud)

并且在加载的事件上我写了这个来获取json数据

  ionViewLoaded(){
    this.eliteApi.getTournaments().then(data => this.tournaments = data);
  }
Run Code Online (Sandbox Code Playgroud)

它给了我例外说没有ConnectionBackend的提供者!

我尝试过像这里类似的一些问题,将服务放在提供商身上

@NgModule({providers:[EliteApi

但同样的错误

ionic-framework ionic2 angular

2
推荐指数
1
解决办法
4845
查看次数