#javascript #android #react-native #react-native-android
#javascript #Android #react-native
Вопрос:
Метод RNFS.exists() всегда возвращает false, даже если файл существует. Мой файл хранится в созданной вручную папке app/ assets
импортируйте React, {Component} из ‘react’ импортируйте {View, Text, Image, Button} из ‘react-native’ импортируйте стили из «./styles» импортируйте { Provider как PaperProvider } из ‘react-native-paper’; var RNFS = require(‘react-native-fs’);
класс CharacterSelect расширяет компонент{
static navigationOptions = {
header: null
}
constructor() {
super()
this.state = {
displayView:null
}
}
async funcy() {
RNFS.exists(await "@assets/character.json")
.then((exists) => {
if (exists){
console.warn("in the if statement")
} else {
console.warn("in the else statement")
}
})
}
render() {
this.funcy()
const {} = styles
return(
<PaperProvider>
<View style={styles.viewTitle}>
<Text style={styles.textStyle}>Welcome to RpgDoIt!</Text>
<Image style={styles.image} source={require('@assets/titlelogo.png')}/>
</View>
{this.state.displayView}
</PaperProvider>
)
}
}
экспортировать выбор символов по умолчанию
Комментарии:
1. Если вы имеете в виду активы Android, то они на самом деле не являются файлами и к ним нельзя получить доступ через файловую систему — к ним необходимо получить доступ через AssetManager. Если это какая-то другая концепция, о которой я никогда не слышал, вы можете игнорировать это.
Ответ №1:
Если вы не добавляете тег разрешения на хранение в AndroidManifest.xml файл, RNFS.exists() всегда будет возвращать false. Поэтому вам следует добавить эту строку в свой AndroidManifest.xml файл.
добавьте эту строку в android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Комментарии:
1. Спасибо за ваш ответ!! Я добавил это и READ_EXTERNAL_STORAGE» />, поместил мой файл в ресурсы под / android /app /src / main /assets и использовал existsAssets, и это, похоже, сработало! Однако он не распознает удаляемый файл, если приложение не перезагружено из командной строки :/