Android程序设计:实现手机和电脑文件的共享互传

目标:实现手机和电脑文件的共享互传。

主要内容:手机端主要是图片文件,电脑端是常用文件。


注意要点:
服务器端
1. 服务端,服务器要可以接收网页post过来的文件和相关信息(牛逼方法socket)。
2. 服务端可以asp.net/php/jsp来写,本次采用jsp+servlet。
3. 注意文件类型过来,文件大小,缓存大小的设置。
4. commons-fileupload-1.3.1+commons-io-2.4配合使用,调用方便。
5. 服务端要在多个服务器测试,单文件,多文件测试,多浏览器测试。
6. 测试上传文件,中文名,重命名或者覆盖问题。
7. 注意文件类型过来,文件大小,缓存大小的设置。
8. 读取指定文件夹的文件,显示已经上传的文件列表。
9. 增加文件下载链接,点击直接下载,让安卓客服端弹出下载对话框或者自动下载。
安卓客服端
1. 上传图片涉及选中图片,多选,单选,预览。一开始采用:luminousman.MultipleImagePick的选图方式,后来增加鸿祥的仿照微信多选方式。
2. 缓存图片开源的universal-image-loader-1.9.0。
3. 获取图片路径注意:Uri路径转换成文件的真实路径。
4. 用AsyncHttpClient来post文件,注意设置STORAGE和INTERNET权限
5. android-async-http-1.4.9包会遇到找不到cz.msebera.android.httpclient的问题,需要引入另外一个包httpclient-4.3.6
6. AsyncHttpClient上传文件post过程,url和params参数要写对。
7. 系统设置服务器路径,以便移植。
8. 用WebView来显示已经上传的文件列表。方便浏览查询和文件下载。
9. WebView自定义,返回键返回浏览,而不是退出Activity。销毁时要从父容器移除,并移除所有子view。
10. 查看大图片,感谢鸿祥大神的ZoomImageView!
11. 增加鸿祥OkhttpUtils的上传文件方式。注意:okhttputils2.6.2对应的okhttp3.3.1和okio1.8.0。要java7以上,不然上传过程会出现输入文件流警告。还可以用nohttp上传下载。
12. 下载文件:单线程HttpDownloadThread,多线程DownloadTask两种方式,存放地方内置和外置SD卡,内部网络使用所以不考虑断点续传。


最终完成界面
1选图界面 –2主界面
选图界面 主界面
3查看大图片–4查看上传结果
查看大图片 查看上传结果

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
与本课题相关的技术和方法综述: 系统将采用JSP、SQL Server 2008、JDBC、JavaScript技术来进行设计,具体如下: (1)JSP JSP是一种动态网页开发技术,主要用于实现应用程序的登录界面和资源信息等界面。JSP标签可以访问数据库、记录用户选择信息。 JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。本系统将采用JSP技术,运用HTML和CSS实现各个功能的网页界面,与对应的java程序连接实现各个功能。 (2)SQL Server SQL Server具有使用方便可伸缩性好与相关软件集成程度高等优点,本系统将采用SQL Server技术建立多个数据库表用来记录学生的账号信息、管理员信息、学生个人共享的学习资源和所有学生共享的学习资源。 (3)JDBC JDBC是一种用于执行SQL语句的Java API,有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。本系统将采用JDBC技术实现Java程序与SQL Server之间的链接,可以通过程序来对数据库进行学生共享学习资源、学生查询学习资源、管理员对学习资源增删改查等操作。 (4)JavaScript JS具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(Windows、Linux、Mac、Android、iOS等),在本设计中将用JS做一些动态交互和事件响应效果。 山西大学商务学院毕业论文(设计)开题报告 主要设计内容: 设计内容主要包括系统需求分析、功能分析、数据库设计、系统测试主要内容,具体如下: 1、系统需求分析 学习资源共享系统是一个面闻喜中学学生的共享系统,对于学生来说,可以注册账号然后通过系统向其他学生共享自己的学习资源并可以查看自己的分享历史,也可以查询其他学生分享的学习资源让自己了解更多。对于系统的管理员来说主要是对学生们分享的资源进行一些审查,不合适的资源将进行删除。 2、功能分析 设计的系统主要包括学生共享模块,共享记录模块,留言板,浏览记录模块,管理员模块等功能。 (1)学生的登录模块:学生注册账号密码,账号密码将保存到数据库中,然后学生登录。 (2)学生共享模块:学生对自己想要共享的资源进行录入,录入时对资源进行分类录入,可以在整个资源页面进行搜索,可以模糊搜索。 (3)共享记录模块:学生可以查看自己共享的记录,可以删除自己不想再共享的资源,也可以修改自己的共享记录。 (4)留言板:学生可以留言自己想要获得的资源,其他学生可以在下面回复他。 (5)浏览记录模块:学生可以查看自己浏览过哪些资源记录,并可以删除它们。 (6)管理员模块:管理员有固定账号密码,可以对所有共享的学习资源进行增删改查。 3、数据库设计 数据库将建立存储管理员账号密码的表和学生账号密码的表,存放资源信息的表、学生个人共享资源的表。 4、系统测试 设计将采用功能测试,进行登录注册功能的测试,验证学生账号密码是否能存进数据库,进行资源的增删改查等操作测试与数据库是否正常连接。在不同的电脑系统上运行程序测试是否可以正常运行。
### 回答1: 要实现Android手机与PC之间的蓝牙数据传输,可以按照以下步骤进行操作: 1. 在Android手机上,首先需要开启蓝牙功能。这可以通过在应用程序中请求蓝牙权限并使用蓝牙适配器(BluetoothAdapter)来实现。 2. 在PC端,确保蓝牙适配器已连接并且可用。如果PC上没有内置蓝牙适配器,您可以使用USB蓝牙适配器。 3. 在Android手机上,编写一个蓝牙客户应用程序。你可以使用Android的BluetoothSocket类来实现与PC之间的通信。使用该类,您可以连接到PC设备的蓝牙服务器,并通过输入输出流来发送和接收数据。 4. 在PC上,您需要编写一个蓝牙服务器应用程序。使用带有SPP(串行口配置文件)的蓝牙适配器,您可以将PC设备设置为接受来自Android客户的蓝牙连接。在PC服务器应用程序中,使用输入和输出流来处理与Android手机之间的数据交换。 5. 建立蓝牙连接后,Android客户可以通过输出流将任何要发送给PC的数据写入,并通过输入流从PC接收数据。 6. 在整个过程中,确保在Android和PC之间的蓝牙通信中使用相同的UUID(通用唯一标识符),以便两者能够匹配并建立连接。 请注意,以上步骤仅提供了一个基本的框架,具体的实现可能因您的需求而有所不同。您可能需要根据实际情况进行适当的修改和调整。同时,请确保在开发过程中执行错误处理和异常处理,以提高应用程序的稳定性和可靠性。 ### 回答2: 要实现Android蓝牙客户和PC之间的数据传输,可以采用以下步骤: 1. 在Android设备上,首先确保蓝牙功能已经打开。可以通过编程方式检查蓝牙是否可用,并请求用户打开蓝牙。 2. 使用Android的蓝牙API建立蓝牙连接。可以使用BluetoothAdapter类来获取本地蓝牙适配器,然后使用该适配器启动设备发现。 3. 在PC上,也需要确保蓝牙适配器已经连接到PC上,并且蓝牙功能已经启用。 4. 在PC上,使用蓝牙软件来搜索附近的蓝牙设备。找到Android设备后,可以进行配对和连接。 5. 在Android设备上,使用BluetoothSocket类来建立与PC之间的数据通道。可以使用createRfcommSocketToServiceRecord方法来创建一个RFCOMM(串口)通信的socket,并将其连接到PC的蓝牙设备。 6. 在PC上,接受来自Android设备的连接请求,并建立连接后,可以使用已匹配的蓝牙设备和RFCOMM服务在PC上创建一个监听器。 7. 一旦连接建立,就可以在Android设备和PC之间传输数据。可以使用输入流和输出流来读取和写入数据。 8. 在结束数据传输后,记得关闭连接并释放资源,以便其他设备可以重新连接。 总结来说,要实现Android蓝牙客户和PC之间的数据传输,需要打开蓝牙功能、建立蓝牙连接、创建数据通道并传输数据。请注意,具体的实现方式可能会因为不同的蓝牙设备和操作系统版本而有所差异。因此,建议查阅相关的Android蓝牙编程文档和PC蓝牙操作指南以获得更详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值