Android 快传 文件互传

本文记录了一款Android应用的开发过程,该应用实现移动设备间的文件快速访问、分享和电脑互传。主要技术包括文件阅览(使用MediaStore和packageManager)、FTP协议实现电脑互传、蓝牙分享、WiFiDirect连接以及基于Socket的文件传输。开发者详细介绍了每个功能的实现原理和遇到的问题,提供了部分参考资料链接。
摘要由CSDN通过智能技术生成

一个月没有更新内容,因为想要实践一下自己的理论知识,于是参加了一个软件类比赛,选题为移动设备之间的文件互传。
不得不说,实践的确是锻炼解决问题能力的最好办法。 遇到了很多自己在一般demo中,并没有发现的问题,并且学习很多新的知识。
这里写图片描述
准备将这个Android实例的开发过程记录。

软件功能:

  • 各类型文件的快速访问
  • 实现手机的文件的快速分享
  • 通过电脑对于手机的文件访问

主要技术:

1.文件阅览:

  • 已安装APK软件:
    这里写图片描述
    通过packageManager这个用于管理应用程序包,便能获取已安装程序的许多相应信息。具体到软件中的实现参考了 郭霖 公众号中推送的这篇仿QQ获取手机中的APK并分享

  • 这里写图片描述 这里写图片描述
    多媒体文档以及office文档:通过MediaStore的方式,根据相应文件类型的Uri来进行查找。MediaStore是android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提取。(MediaStore相应基础知识)。
    可以通过相应的SQL语句对数据进行查询。如music则传入
    MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
    例PPT则为
    MediaStore.Files.getContentUri("external"),type
    type为查询得的MIME类型
    MediaStore.Files.FileColumns.MIME_TYPE==application/mspowerpoint
    在按上面说明的Cursor,定义一个总的读取数据的方式。

   public synchronized List<TFile> getMediaFiles(Activity cxt , Uri uri,String select) {           //TFile 为一个总的文件管理类,包含文件的信息
        Cursor mCursor = cxt.managedQuery(
                uri,
                new String[] {MediaStore.Audio.Media.DATA}, select,
                null, " date_modified desc");
        cxt.startManagingCursor(mCursor);
        int count = mCursor.getCount();
        if(c
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值