2013-07-12 120 views
2

我想添加一個web服務器到我的android應用程序上傳小文件到手機。web服務器上的文件上傳在Android上

用戶可以通過點擊按鈕從手機啓動網絡服務器。然後,他會看到一個ip地址,可以通過任何瀏覽器從pc訪問。這個IP地址後面的網站應該顯示一個文件上傳的機會。

我的問題是:是否有類似於我的需求的開源項目?或者,你會如何推薦這樣做?

+1

心不是什麼WEBDAV已經呢?..爲什麼你需要一個備用副本。 – Doomsknight

+0

在那裏擰了一些東西。謝謝。 – Gizmo

+0

需要你的幫助擺脫問題禁止upvote這個http://www.stackoverflow.com/questions/18403488/cannot-connect-to-my-android-phone請 – Prakhar

回答

2

可以使用NanoHttpd link這是很好的embbedible非常重的Android Web服務器..

package .....; 

import java.io.IOException; 
import java.util.Map.Entry; 
import java.util.Properties; 

import android.app.Activity; 
import android.net.wifi.WifiManager; 
import android.os.Bundle; 
import android.os.Handler; 
import android.widget.TextView; 

public class AndroidWebServerActivity extends Activity { 
private static final int PORT = 8765; 
private TextView hello; 
private MyHTTPD server; 
private Handler handler = new Handler(); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

} 

@Override 
protected void onResume() { 
super.onResume(); 

try { 
server = new MyHTTPD(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
} 

@Override 
protected void onPause() { 
super.onPause(); 
if (server != null) 
server.stop(); 
} 

private class MyHTTPD extends NanoHTTPD { 
public MyHTTPD() throws IOException { 
super(PORT, null); 
} 

@Override 
public Response serve(String uri, String method, Properties header, Properties parms, Properties files) { 
final StringBuilder buf = new StringBuilder(); 
for (Entry<Object, Object> kv : header.entrySet()) 
buf.append(kv.getKey() + " : " + kv.getValue() + "\n"); 
handler.post(new Runnable() { 
@Override 
public void run() { 

} 
}); 

final String html = "<html><head><head><body><h1>Hello, World</h1></body></html>"; 
return new NanoHTTPD.Response(HTTP_OK, MIME_HTML, html); 
} 
} 
}