Common.dart 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. //单例模式设计
  2. //单例的类Common
  3. class Common{
  4. //factory关键字
  5. //工厂模式: 单例公开访问点
  6. factory Common()=>_getInstance();
  7. //静态未初始化对象--单例对象
  8. static Common _instance;
  9. static Common _getInstance(){
  10. if(_instance==null){
  11. _instance=Common._internal();
  12. }
  13. return _instance;
  14. }
  15. Common._internal();//初始化函数
  16. //SD卡根路径
  17. String sDCardDir;
  18. //存放收藏文件夹目录的文件
  19. String favoriteDir;
  20. List<String> favoriteFileList=new List<String>();
  21. String favoriteAll='';
  22. String getFileSize(int fileSize){
  23. String str ='';
  24. if(fileSize<1024){
  25. str='${fileSize.toStringAsFixed(2)}B';//toStringAsFixed(2) 保留两位小数 四舍五入
  26. }else if(1024<=fileSize&&fileSize<1048576){
  27. str='${(fileSize/1024).toStringAsFixed(2)}KB';
  28. }else if(1048576<=fileSize&&fileSize<1073741824){
  29. str = '${(fileSize / 1024 / 1024).toStringAsFixed(2)}MB';
  30. }
  31. return str;
  32. }
  33. String selectIcon(String ext) {
  34. String iconImg = 'assets/images/unknown.png';
  35. switch (ext) {
  36. case '.ppt':
  37. case '.pptx':
  38. iconImg = 'assets/images/ppt.png';
  39. break;
  40. case '.doc':
  41. case '.docx':
  42. iconImg = 'assets/images/word.png';
  43. break;
  44. case '.xls':
  45. case '.xlsx':
  46. iconImg = 'assets/images/excel.png';
  47. break;
  48. case '.pdf':
  49. iconImg = 'assets/images/pdf.png';
  50. break;
  51. case '.jpg':
  52. case '.jpeg':
  53. case '.png':
  54. iconImg = 'assets/images/image.png';
  55. break;
  56. case '.txt':
  57. iconImg = 'assets/images/txt.png';
  58. break;
  59. case '.flac':
  60. case '.mp3':
  61. iconImg = 'assets/images/audio.png';
  62. break;
  63. case '.mp4':
  64. iconImg = 'assets/images/video.png';
  65. break;
  66. case '.rar':
  67. case '.zip':
  68. iconImg = 'assets/images/zip.png';
  69. break;
  70. case '.psd':
  71. iconImg = 'assets/images/psd.png';
  72. break;
  73. case '.apk':
  74. iconImg='assets/images/apk.png';
  75. break;
  76. default:
  77. iconImg = 'assets/images/file.png';
  78. break;
  79. }
  80. return iconImg;
  81. }
  82. }