我知道,firebase有一个实时数据库,我已经使用它了。但它首先基于用户的身份验证。我想要做的是让firebase实时数据库与其他应用程序共享其内容。就像Android中的//our root app component
import {Component, NgModule} from '@angular/core'
import {BrotherComponent} from './brother.component'
import {SisterComponent} from './sister.component'
import {BrowserModule} from '@angular/platform-browser'
import {FormsModule, ReactiveFormsModule} from '@angular/forms'
@Component({
selector: 'my-app',
template: `
<div>
<h2>Hello {{name}}</h2>
<brother (onChange)="handleBrotherEvent($event)" [dataFromSister]="dataFromSister"></brother>
<sister (onChange)="handleSisterEvent($event)" [dataFromBrother]="dataFromBrother"></sister>
</div>
`,
})
export class App {
name:string;
constructor() {
this.name = 'Angular2'
}
handleBrotherEvent(data)
{
this.dataFromBrother = data;
console.log("called from handleBrotherEvent in app", data);
}
handleSisterEvent(data)
{
this.dataFromSister = data;
console.log("called from sister handleSisterEvent in app", data);
}
}
@NgModule({
imports: [ BrowserModule, FormsModule, ReactiveFormsModule ],
declarations: [ App, BrotherComponent, SisterComponent ],
bootstrap: [ App ]
})
export class AppModule {
}
一样。
我打电话的时候:
ContentProvider
这将仅为我的应用程序获取firebaseDatabase。我希望其他应用程序也能够使用实时数据库。他们怎么能连接到它?
更新:
从概念上讲,contentProvider可以解决这个问题吗?因为contentProvider只是一个抽象,它不关心数据源是什么,而不是使用sql作为源我可以使用firebase db。然后,由于firebase db包含在contentProvider中,我可以为其他应用程序公开URI以使contentProvider公开。我必须更多地了解这一点,但应该可以,因为contentProvider是网络或本地数据源的包装器。 ContentProvider.query命令会返回游标,但不确定如何从检索到的firebase数据中创建游标。
答案 0 :(得分:0)
选项1是通过一些身份验证实现自定义后端作为数据的访问点。
选项2是将您想要共享的所有数据公开提供,并在相关应用中获取对该数据库的引用。
选项1将更安全,更可靠,可从一个地方进行配置。方案2更容易实施。