Android和PC端通过局域网文件同步

该博客介绍了如何使用Android设备与PC通过局域网进行文件同步。在Android应用中,实现了利用Socket通信和JSON解析来发送文件索引,然后接收和发送文件。PC端通过接收文件索引,建立连接并接收文件。整个过程涉及了C++、Android编程、Socket通信和jsoncpp库的使用。
摘要由CSDN通过智能技术生成
public class FileOptions {
      public String name;
      public String path;
      public long size;
}

//Activity
public class MainActivity extends Activity {
      private TextView tvMsg;
      private EditText logShow, filePath;
      private Handler handler;
      private SocketManager socketManager;
     
      @Override
      protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
           setContentView(R.layout. activity_main);
           
            tvMsg = (TextView)findViewById(R.id. tvMsg);
            logShow = (EditText)findViewById(R.id. log_show);
            handler = new Handler(){
                 @Override
                 public void handleMessage(Message msg) {
                      switch(msg. what){
                      case 0:
                            SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss" );
                            logShow.append( "\n[" + format.format(new Date()) + "]" + msg.obj .toString());
                            break;
                      case 1:
                            tvMsg.setText( "请在PC端输入IP:" + GetIpAddress() + " 端口:" + msg.obj .toString());
                            break;
                      case 2:
                          Toast. makeText(getApplicationContext(), msg.obj.toString(), Toast. LENGTH_SHORT).show();
                            break;
                     }
                }
           };
            socketManager = new SocketManager( handler);
     }
      @Override
      protected void onDestroy() {
            super.onDestroy();
           System. exit(0);
     }
      public String GetIpAddress() {    
         WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE );    
         WifiInfo wifiInfo = wifiManager.getConnectionInfo();    
         int i = wifiInfo.getIpAddress();
         return (i & 0xFF) + "." +    
             ((i >> 8 ) & 0xFF) + "." +    
             ((i >> 16 ) & 0xFF)+ "." +    
                ((i >> 24 ) & 0xFF );    
     }   
}

//socket管理
public class SocketManager {
      private static final String FILE_PATH= "/glass";
      private static final String TAG = "SocketManager";
      private ServerSocket server;
      private Handler handler = null;
      private List<FileOptions> fileList;

      public SocketManager(Handler handler) {
            this. handler = handler;
            int port = 9999;
            while (port > 9000) {
                 try {
                      server = new ServerSocket(port);
                      break;
                } catch (Exception e) {
                     port--;
                }
           }
           SendMessage
Android 1.5.1 beta 大小:6.3MB 更新:2014-12-24 Android 4.0.4 自同步是一款由国内创业团队推出的局域网P2P免费文件同步工具。处在同一个局域网下的多台电脑,可通过自同步来建立电脑里文件夹之间的同步关系,做到文件文件的数量、内容相一致,并且不需要云和外网。此外,自同步特有的密钥加密更保证数据的安全性。并且,其特有的分享功能又可以做到轻轻松松将同步目录分享给周围的朋友们。 软件特点 1. 无需网盘,局域同步 与市面上流行的网盘不同,自同步不需要您的设备时时刻刻连接互联网完成文件同步工作,而只需要在同一个局域网内就能完成文件同步工作。 2. 实时同步多台互联 处于同步的目录,只要其一个目录发生变化,如文件/目录添加、修改、删除等操作,那么与该目录建立同步关系的其它目录也会迅速反应,进行相应的修改,保持与原目录的文件一致;此外,只需将文件放到同步目录,程序将自动上传这些文件,同时其它电脑登陆自同步时自动下载到新电脑,实现多台电脑的文件同步。 3. 目录分享,轻松同步 同步目录分享功能,可以轻松将同步目录分享给周围的朋友(无需同步口令相同)。 4. 密钥加密,保护数据局域网内采用AES加密方式传输数据并建立密钥,防止处于同一局域网内的非法设备窃取数据。 5. 优化传输,极速速度 千兆路由的局域网环境下传输速度最高可达70MB/s,同步过程犹如硬盘间的复制粘贴一样方便快捷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值