当前位置: 首页 > wzjs >正文

公司做网站自己可以做汕头seo优化项目

公司做网站自己可以做,汕头seo优化项目,昆明网站建设推荐,高德地图是国产软件吗项目需求 在使用Android 9平板开发的时候,项目更新了一个新的需求,现在需要检测设备是否插入U盘,如果没有U盘的话,就将文件导出到系统根目录,如果有U盘的话,就将文件导出到U盘里面。 项目实现 1.实现文件…
项目需求

在使用Android 9平板开发的时候,项目更新了一个新的需求,现在需要检测设备是否插入U盘,如果没有U盘的话,就将文件导出到系统根目录,如果有U盘的话,就将文件导出到U盘里面。

项目实现

1.实现文件导出到本地根目录。

这个是比较好实现的,因为设备是Android 9设备的系统,对于读写要求的权限也没有特别高,不像后年版本那么搞。

只需要动态申请读写权限(这一步忽略不写)
然后将文件存放到系统根目录就行了。

    public static String getRootPath() {String to;if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {to = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator;} else {to = Environment.getDataDirectory().getAbsolutePath() + File.separator;}File file = new File(to);if (!file.exists()) {file.mkdirs();}return to;}

通过上面代码我们直接获取到了系统根目录的地址,然后创建好文件,这里是使用 HSSFWorkbook 新创建的一个表格数据文件,然后写入到文件里面。

    /*** 导出Excel表到本地** @param context    上下文环境* @param sheetName  文件名* @param recordList 列表数据*/private static void exportLocalExcel(Context context, String sheetName, List<Record> recordList) {String exportFileName = FilePathUtil.getRootPath() + sheetName;HSSFWorkbook workbook = createWorkbook(context, sheetName, recordList);// 写入到文件try (FileOutputStream fileOut = new FileOutputStream(exportFileName)) {workbook.write(fileOut);} catch (IOException e) {e.printStackTrace();}}

很简单不是嘛,这样我们就完成了将文件导出到系统根目录的需求了。

然后我们需要实现将文件导出到U盘里面的需求。

2.将文件导出到U盘。

首先我们需要确定我们的Android设备是否插入U盘,这一步我们直接使用Android 提供的API就可以实现。

/*** 判断是否有USB设备连接** @return true:有USB设备连接,false:没有USB设备连接*/private boolean isUsbDeviceAttached() {UsbManager usbManager = (UsbManager) _mActivity.getSystemService(Context.USB_SERVICE);HashMap<String, UsbDevice> deviceList = usbManager.getDeviceList();return deviceList.size() > 0;}

这也很容易,接下来就是读取U盘文件地址,然后写入就行了,但是这一步犯难了,因为没找到Android 提供的有现成的API可以让我们知道U盘地址在哪里。这里我们可以引入一个库。
这个库的版本根据项目支持的Android版本自行更换版本(项目太老,只能使用低版本的)。

//U盘读写implementation 'com.github.mjdev:libaums:0.5.5'

libaums 是一个开源的 Android 库,用于通过 USB 连接访问外部存储设备(如 USB U 盘)。它为开发者提供了通过 USB 协议访问设备的功能,特别适用于 USB 存储设备(Mass Storage)协议。

在引入相关库之后,我们可以使用这个库里面提供的方法。

UsbMassStorageDevice[] storageDevices = UsbMassStorageDevice.getMassStorageDevices(context);for (UsbMassStorageDevice device : storageDevices) {try {device.init();FileSystem fs = device.getPartitions().get(0).getFileSystem();fs.getVolumeLabel();UsbFile rootDirectory = fs.getRootDirectory();exportUsbExcel(context, sheetName, rootDirectory, recordList);} catch (Exception e) {//这个需要处理异常或者将异常再往上抛出去e.printStackTrace();}}

注意这个 UsbFile 是这个库里面的一个类,和File 类里面的一些方法有点区别,但是也不是很大。

在我们获取到 U盘 的 UsbFile 之后

/*** 导出Excel表到U盘** @param context    上下文环境* @param sheetName  文件名称* @param usbFile    U盘根目录* @param recordList 列表数据*/private static void exportUsbExcel(Context context, String sheetName, UsbFile usbFile, List<Record> recordList) throws Exception {// 在根目录下创建文件UsbFile usbExportFile = usbFile.createFile(sheetName);if (usbExportFile == null) {throw new Exception("USB EXPORT FILE CREATE ERROR");}HSSFWorkbook workbook = createWorkbook(context, sheetName, recordList);ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();workbook.write(byteArrayOutputStream);// 将字符串转换为字节数组byte[] excelBytes = byteArrayOutputStream.toByteArray();// 将字节数组包装成 ByteBufferByteBuffer buffer = ByteBuffer.wrap(excelBytes);usbExportFile.write(0, buffer);// 刷新文件以确保所有数据都已写入usbExportFile.flush();if (usbExportFile.getLength() != excelBytes.length) {throw new Exception("USB EXPORT FILE WRITE ERROR 2");}}

这里我们最后实现如果出现异常之后就抛出异常给上面处理,这样上面获取到异常之后可以处理,因为在测试的时候,设备一般情况下是没问题的,但是有时候如果U盘没插好或者设备有点异常,导致读取不到U盘的情况下,就需要通过在写入U盘的时候抛出异常告诉用于导出到U盘失败了,需要重新进行处理。

http://www.dtcms.com/wzjs/41445.html

相关文章:

  • 建个人网站做导购seo建站教程
  • 东莞做网站多少钱营销百度app下载手机版
  • 做婚恋交友类网站电商平台推广费用大概要多少
  • 网站建设的新发展口碑营销的案例
  • 微信电商小程序新网站 seo
  • 电子商务网站建设案例分析百度投诉中心
  • 如何做旅游网站推广买卖交易网
  • 阳江招聘网58同城北京百度seo排名公司
  • 网站建设服务杭州河南网站建设定制
  • 博客用来做微网站外贸营销网站制作公司
  • 做网站有多砸钱互联网广告营销是什么
  • 有了 ftp服务器密码 怎么改网站推广计划
  • wordpress 设置权限百度官方优化软件
  • b2c外贸网站开发网盘资源共享群吧
  • 网站关键字优化工具百度视频广告怎么投放
  • 枣庄网站建设电话杭州谷歌推广
  • 学做网站多久网站收录一般多久
  • 班级设计网站建设疫情优化调整
  • 如何建设网站吸引人百度推广后台登陆
  • 正能量不良网站软件下载品牌营销方案
  • 旅游做攻略网站好百度竞价推广怎么做
  • 自己做网站不想买空间 自己电脑可以做服务器吗?网络营销的发展趋势
  • 花都网站开发公司如何建网站
  • 品牌自适应网站建设电商网站设计模板
  • 专业性网站 ip谷歌官方网站登录入口
  • 常州市建设项目审批网站长沙百度快速优化排名
  • 高度国际装饰公司官网谷歌seo外包公司哪家好
  • 微信小程序商城制作seo公司多少钱
  • 昆明网站建设-中国互联做网站推广好做吗
  • 自己做轴承网站枸橼酸西地那非片是什么