Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在react native中导入域时执行上下文未知_Android_React Native_Realm - Fatal编程技术网

Android 在react native中导入域时执行上下文未知

Android 在react native中导入域时执行上下文未知,android,react-native,realm,Android,React Native,Realm,我真的很新的反应本机和我试图使用领域。我已经完成了react本地链接领域和rnpm链接领域。但是当我尝试导入领域时,我得到了错误未知执行上下文,这是我的index.android.js import React,{Component}来自'React'; 进口{ 评估学, 样式表, 文本, 看法 }从“反应本机”; 从“react native tab view”导入{TabViewAnimated,TabBar}; 从“./app/Today”导入今天 从“领域”导入领域 从“lodash”导

我真的很新的反应本机和我试图使用领域。我已经完成了react本地链接领域和rnpm链接领域。但是当我尝试导入领域时,我得到了错误未知执行上下文,这是我的index.android.js

import React,{Component}来自'React';
进口{
评估学,
样式表,
文本,
看法
}从“反应本机”;
从“react native tab view”导入{TabViewAnimated,TabBar};
从“./app/Today”导入今天
从“领域”导入领域
从“lodash”导入
const styles=StyleSheet.create({
容器:{
弹性:1,
},
第页:{
弹性:1,
对齐项目:“居中”,
为内容辩护:“中心”,
},
});
导出默认类ExpenseManagerProject扩展组件{
状态={
索引:0,
路线:[
{键:'1',标题:'Today'},
{键:'2',标题:'Category'},
{键:“3”,标题:“日期”},
],
};
_handleChangeTab=(索引)=>{
this.setState({index});
};
_renderFooter=(道具)=>{
返回;
};
_renderScene=({route})=>{
道岔(进路钥匙){
案例“1”:
返回;
案例“2”:
返回;
违约:
返回null;
}
};
render(){
返回(
);
}
}
AppRegistry.registerComponent('ExpenseManagerProject',()=>ExpenseManagerProject);

当chrome的调试器处于模拟器模式时,我遇到了这个错误。这是因为Realm不知道它是在chrome上运行还是在物理设备上运行。 希望对您有所帮助

将以下行添加到android/settings.gradle:

将编译行添加到android/app/build.gradle中的依赖项:

在android/app/src/main/java/com/[your application name]/MainApplication.java中添加导入并链接包:

import io.realm.react.RealmReactPackage;//添加此导入
公共类MainApplication扩展应用程序实现ReactApplication{
@凌驾
受保护的列表getPackages(){
返回数组.asList(
新建MainReactPackage(),
新建RealmReactPackage()//添加此行
);
}
}
对我来说,这只是最后一步,将行添加到MainApplication.java,因为其他东西已经存在了。所以一定要检查所有提到的文件


如果仍然不起作用,创建一个新项目,添加域(包括上面的步骤)并添加您以前编写的所有文件。

您知道任何修复方法吗,先生?是的,在chrome中禁用模拟器模式,就是这样。如何做?我正在为我的android模拟器使用genymotion,但当你运行react native时,会出现一个chrome选项卡,你用来调试的东西对吗?我指的是你的pc/mac的浏览器debugging@AndrésGiachini如何在Chrome中禁用模拟器模式?尽管我只创建了一个新项目,但它很有魅力
import React, { Component } from 'react';
import {
 AppRegistry,
 StyleSheet,
 Text,
 View,
} from 'react-native';
import { TabViewAnimated, TabBar } from 'react-native-tab-view';
import Today from './app/Today'
import Realm from 'realm'
import _ from 'lodash'

const styles = StyleSheet.create({
container: {
    flex: 1,
},
page: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
},
});
export default class ExpenseManagerProject extends Component {
state = {
index: 0,
routes: [
{ key: '1', title: 'Today' },
{ key: '2', title: 'Category' },
{ key: '3', title: 'Date' },
],
};
_handleChangeTab = (index) => {
this.setState({ index });
 };

_renderFooter = (props) => {
  return <TabBar {...props} />;
};

_renderScene = ({ route }) => {
switch (route.key) {
    case '1':
    return <Today/>;
    case '2':
    return <View style={[ styles.page, { backgroundColor: '#673ab7' } ]} />;
    default:
    return null;
}
};

render() {
return (
     <TabViewAnimated
      style={styles.container}
      navigationState={this.state}
      renderScene={this._renderScene}
      renderFooter={this._renderFooter}
      onRequestChangeTab={this._handleChangeTab}
      />
  );
}
}

AppRegistry.registerComponent('ExpenseManagerProject', () => ExpenseManagerProject);
gradle include ':realm' project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android')
gradle dependencies { compile project(':realm') }
import io.realm.react.RealmReactPackage; // add this import
public class MainApplication extends Application implements ReactApplication {
    @Override
    protected List<ReactPackage> getPackages() {
        return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            new RealmReactPackage() // add this line
        );
    }
}