在我们满怀热情的端着开发板开发我们第一个hello world程序时,细心的人可能会发现,一旦我们在项目中使用中文会出现一堆乱码,特奉上一招秒杀方案
我们常规通过android-things-setup-utility-windows工具或通过官网链接下载安装的通用镜像系统是没有预装中文字体的,怎么解决呢?
通过前面我们知道如何去定制一个AndroidThings系统镜像,那么,其中在第四步的时候,可以选择上传font package,点击upload将字体包上传
文章中所用字体包下载地址:
https://download.csdn.net/download/cc_want/10374045
参考上一章:
这里注意一下,字体包必须压缩为zip格式,且名称必须是
否则会出现以下提示
字体包上传成功后,如下:
然后重新安装系统镜像,就可以发现完美解决了,这是官方给提供的方法,强烈推荐,当然也有非正式的方法
非正式的方法如下:
public class MyApp extends Application {
public static Typeface typefaceStHeiTi;
@Override
public void onCreate() {
super.onCreate();
typefaceStHeiTi = Typeface.createFromAsset(getAssets(), "fonts/STHeiti.ttf");
try {
Field field = Typeface.class.getDeclaredField("MONOSPACE");
field.setAccessible(true);
field.set(null, typefaceStHeiTi);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:typeface">monospace</item>
</style>
当然这种方法不保险,也不是完全之策,但如果你只是研究学习用,那么还是建议用这种方法,简单,快捷