升级到 expo sdk 33.0.0 后,当我构建 React Native expo 应用程序时,一切正常,但应用程序启动后,就会显示以下错误:
fontFamily“ionicons”不是系统字体,尚未通过 Font.loadAsync 加载
更新之前我使用的是 sdk 版本 32.0.0,一切正常。
我尝试在我的 app.js componentDidMount 函数中添加字体,如下所述https://docs.expo.io/versions/latest/guides/using-custom-fonts/:
const Ionicons = require("./fonts/Ionicons.ttf");
...
componentDidMount() {
...
Font.loadAsync({
"Avenir-Book": AvenirBook,
"Avenir-Light": AvenirLight,
"Ionicons": Ionicons,
})
}
...
Run Code Online (Sandbox Code Playgroud)
我还尝试将 loadAsync 中的名称从“Ionicons”更改为“ionicons”,但没有任何改变。
字体文件夹文件内的“Ionicons.ttf”是从node_modules / @expo/vector-icons/build/vendor/react-native-vector-icons/Fonts文件夹复制的
---------编辑--------- 在我所有的 React Native Expo 项目 src 中,我没有对 Ionicon 的单个引用
感谢任何帮助,谢谢
我正在尝试使用 HttpURLConnection 实现 POST 请求。这是我的代码:
\n\nprivate static void call(String body) throws IOException{\n HttpURLConnection con = null;\n\n con = (HttpURLConnection)new URL("http://127.0.0.1:8080").openConnection();\n\n con.setRequestProperty("Accept-Charset", "UTF-8");\n con.setRequestMethod("POST");\n con.setRequestProperty("Content-Type", "application/json; charset=utf-8"); \n con.setRequestProperty("Accept", "application/json; charset=utf-8");\n\n con.setDoOutput(true);\n DataOutputStream wr = new DataOutputStream(con.getOutputStream());\n wr.writeBytes(body);\n wr.flush();\n wr.close();\n ...\n }\nRun Code Online (Sandbox Code Playgroud)\n\n我将其发布到本地主机只是为了用 WireShark 嗅探它。\n问题是,当我的正文是包含诸如 \' \xc3\xb2 \' \' \xc3\xa0 \' \' \xc3\xa8 \'之类的字符的字符串时\' \xc3\xa7 \' ...我看到的请求的字符串正确,这些字符被点替换。
\n\n示例:\nif 正文是“ h\xc3\xa8llo! ” ---> 请求正文是“ h.llo! ”
\n\n只是为了测试,我在 java main 中执行上述方法,并以这种方式传递参数:
\n\nString pString = "{\\"titl\xc3\xa8\\":\\"H\xc3\xa8llo W\xc3\xb2rld!\\"}";\nString …Run Code Online (Sandbox Code Playgroud)