Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Android 通过SMB (Server Message Block),实现手机给电脑传输数据

License

NotificationsYou must be signed in to change notification settings

youlookwhat/BySMB

Repository files navigation

通过 SMB(Server Message Block),实现手机(Android)给电脑传输数据。

对应文章:Android SMB 简单几步实现手机给电脑传输数据

Java版本:BySMBJavaActivity.java

1.前提条件

  • 手机和电脑连接到同一局域网
  • 电脑需要设置用户名和密码
  • 设置共享文件夹 (smb://username:password@ip/folder。(登录鉴权))
    • Mac设置:系统偏好设置-共享-文件共享-添加共享文件夹
    • Windows设置:文件夹-共享-高级共享-权限-打开更改权限
  • 电脑不能息屏

设置共享文件夹:

Mac设置Windows设置
Mac设置Windows设置

2.代码配置

1).代码引入

allprojects {repositories {...maven { url'https://jitpack.io' }}}dependencies {    implementation'com.github.youlookwhat:BySMB:1.2.5'}

2).开启联网权限

<uses-permission android:name="android.permission.INTERNET"/>

3).在使用时初始化,ActivityApplication

BySMB.initProperty()

4).得到SMB实例

valbySmb =BySMB.with()        .setConfig(et_ip.text.toString(),// ipet_username.text.toString(),// 用户名et_password.text.toString(),// 密码et_foldName.text.toString()// 共享文件夹名        )        .setReadTimeOut(60)        .setSoTimeOut(180)        .build()

查看ip:

  • Mac上查看ip:ifconfig | grep "inet"
  • Windows上查看ip:ipconfig

3.上传文件到电脑

funupload(bySmb:BySMB) {// 生成文件 Fileval writeStringToFile= writeStringToFile(            instance,            et_content.text.toString(),// 文本内容            et_fileName.text.toString()// 文件名,例如:随感笔记.txt    )// 上传    bySmb.writeToFile(writeStringToFile,object:OnOperationFileCallback {overridefunonSuccess() {// 成功        }overridefunonFailure(message:String) {// 失败        }    })}

注意:如上传相同文件名的文件,会覆盖之前文件的内容。

4.查找电脑上的文件列表

funlistFile(bySmb:BySMB){// 读取根目录下的所有文件,重载方法("", "*.txt", callback)    bySmb.listShareFileName(object:OnReadFileListNameCallback {overridefunonSuccess(fileNameList:List<String>) {// 读取成功 fileNameList文件名列表        }overridefunonFailure(message:String) {// 失败        }    })}

5.删除电脑上的文件

fundeleteFile(bySmb:BySMB){    bySmb.deleteFile(et_fileName.text.toString(),object:OnOperationFileCallback {overridefunonSuccess() {// 删除成功        }overridefunonFailure(message:String) {// 失败        }    })}

About

Android 通过SMB (Server Message Block),实现手机给电脑传输数据

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp