我是React Native开发的初学者。我已经开发了第一个React Native应用程序,并同时在Android和iOS版本中启动。
在应用程序中,我正在使用访存API与服务器进行通信。应用程序运行良好,并且可以从iOS版本的提取API中获得响应。如果该设备已连接以加快网络连接速度(例如WiFi,4G ..),则在Android版本中也可以正常工作。
但是,如果设备通过低网络连接进行连接,则在应用程序的Android版本中,提取API不会返回任何值(出现“网络连接失败”错误)。但是在相同连接下,安装在同一设备上的其他应用程序也可以正常工作。
我正在使用
react-native-cli: version 2.0.1
react-native: version 0.55.4
babel-preset-react-native: version 4.0.0,
Android compileSdkVersion 26
buildToolsVersion 23.0.1
这是我的提取API代码
getStudentList() {
var UrlDetails = URLDetails.getURLDetails();
return fetch(UrlDetails.SERVER_NAME + UrlDetails.GET_STUDENT_DETAILS_LIST_URL + 'student_id=1')
.then((response) => response.json())
.then((responseJson) => {
let ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 });
let isAllSet = responseJson.error;
if (!isAllSet) {
this.setState({
isLoading: false,
dataSource: ds.cloneWithRows(responseJson.student),
isAllSetToShow: isAllSet,
}, function () {
activity_log = "received student details";
this.updateDeviceLog();
});
} else {
this.setState({
isLoading: false,
isAllSetToShow: isAllSet,
}, function () {
activity_log = "received response no student details";
this.updateDeviceLog();
});
}
})
.catch((error) => {
console.error(error);
activity_log = JSON.stringify(error);
Alert.alert('Alert',"Please check your internet connection!");
this.updateDeviceLog();
});
}
任何建议都值得赞赏。