各位大虾,我现在在开发一个android项目,想要从另一台手机上查看本地SD卡文件目录结构,并在远端手机上用ListView显示。但是在找不出合适的办法。主要面临的问题有以下几点:1.如何获取文件结构,虽然android沿用java提供了很多文件操作,但是,我想要保留sd卡文件的结构,不知道要用什么数据结构存储所有路径,以及所有路径下的文件和文件夹;2.如果1的问题解决了,我如何通过什么方式将该文件结构传递给远端手机,并在远端手机上依据此绘制出listview以便显示。目前我用的TCP SOCKET实现了两台设备之间的连接,但是,socket只能操作字节流,没有直接对文件的操作,不知道是不是我参阅的文档不够多,所以目前比较迷茫,不知道如何传递文件。3.远端显示了本地SD卡文件结构之后,能够选择指定文件,然后进行传送,但我不知道socket到底能完成多少,总感觉这个通信模式很脆弱,而且网络上的socket通信都是一次读写,如果我建立的socket需要不停的读写,并且每次读写执行的操作不一样,需要怎么办?希望有心人可以指点一二。小弟先谢过了!

解决方案 »

  1.   

    1没有必要一次性的把所有的目录结构信息全部传送过去,被察看的一方我们暂时称之为服务器,查看方我们暂称为客户端,当客户端想要查看服务器目录时,客户端将想要查看的目录名发送至服务器,服务器返回该目录下的所有文件(包含文件夹)。客户端点击了子目录后,重复执行这个过程就行了。这个通信过程感觉像是个ftp服务。2字节流传输文件还是不错的啊,反而字符流不是太方便。去找一个文件复制的demo程序研究一下3socket通信应该还比较靠谱,不过需要做好同步。