背景:
项目中有个文件名需要升序和降序排序,数据存储在android项目的sqltie数据库中,设置了
sqliteDatabase.setLocale(Locale.CHINESE)只能解决存中文的排序问题,不能解决中英文混合排序的问题,最后采用了给名称增加一个拼音字段,用来排序,实现方式如下:
1、如果是flutter开发的,在pubspaec.yaml增加 lpinyin: ^2.0.3
2、如果是android原生开发:参考 https://github.com/szdenny2/TinyPinyin
3、执行sql的order by pinyin asc 来执行按照名称升序
4、执行sql的order by pinyin desc 来执行按照名称降序
备注:如果碰到不支持的字符,可以通过增加自定义字典解决。