gpt4 book ai didi

android - 传感器的 native 模块不可用。 react-native 链接是否运行成功?

转载 作者:行者123 更新时间:2023-11-30 05:09:56 25 4
gpt4 key购买 nike

我在这里遵循了 React Native 教程的第一步:

https://facebook.github.io/react-native/docs/getting-started.html

然后我想从设备传感器读取信息。

为此,我还遵循了本教程:

https://medium.com/react-native-training/using-sensors-in-react-native-b194d0ad9167

并以这段代码结束(只需从那里复制/粘贴):

// Reference:
// https://medium.com/react-native-training/using-sensors-in-react-native-b194d0ad9167
// https://react-native-sensors.github.io

import React, { Component } from 'react';
import {
StyleSheet,
Text,
View
} from 'react-native';
import { Accelerometer } from "react-native-sensors";

const Value = ({name, value}) => (
<View style={styles.valueContainer}>
<Text style={styles.valueName}>{name}:</Text>
<Text style={styles.valueValue}>{new String(value).substr(0, 8)}</Text>
</View>
)

export default class App extends Component {
constructor(props) {
super(props);

new Accelerometer({
updateInterval: 400 // defaults to 100ms
})
.then(observable => {
observable.subscribe(({x,y,z}) => this.setState({x,y,z}));
})
.catch(error => {
console.log("The sensor is not available");
});

this.state = {x: 0, y: 0, z: 0};
}

render() {
return (
<View style={styles.container}>
<Text style={styles.headline}>
Accelerometer values
</Text>
<Value name="x" value={this.state.x} />
<Value name="y" value={this.state.y} />
<Value name="z" value={this.state.z} />
</View>
);
}
}

const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
headline: {
fontSize: 30,
textAlign: 'center',
margin: 10,
},
valueContainer: {
flexDirection: 'row',
flexWrap: 'wrap',
},
valueValue: {
width: 200,
fontSize: 20
},
valueName: {
width: 50,
fontSize: 20,
fontWeight: 'bold'
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});

这是您可以立即下载并试用的完整存储库:

$ git clone https://github.com/napolev/react-native-app
$ cd react-native-app
$ npm i
$ expo start

我的问题是,在我执行以下操作后:$ expo start 我收到以下错误:

Native modules for sensors not available. Did react-native link run successfully?

如下图所示:

enter image description here

关于如何使这项工作有任何想法吗?

谢谢!

最佳答案

这可能是因为您正在使用 Expo 并且 react-native-sensors 需要完整版本的 React Native

要使用react-native-sensors,您可能必须弹出您的应用程序,然后安装依赖项。如果您弹出您的应用程序,则需要您在开发机器上安装 Xcode(适用于 iOS)和 Android Studio(适用于 Android)。

有关 Expo 和 React-Native 之间差异的更多详细信息,请查看此 SO 答案: What is the difference between Expo and React Native?

但是,Expo 确实可以访问一些传感器信息,您可以在此处阅读有关使用加速度计的更多信息 https://docs.expo.io/versions/latest/sdk/accelerometer

Expo 还可以访问 gyroscope , magnetometer和一个 pedometer , 虽然我在 docs 中看不到晴雨表

关于android - 传感器的 native 模块不可用。 react-native 链接是否运行成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53905714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com