2013-07-12 19 views
2

Я хотел бы добавить веб-сервер в свое приложение для Android для загрузки небольших файлов на телефон.веб-сервер для загрузки файлов на android

Пользователь должен запустить веб-сервер с телефона, нажав кнопку. Затем он увидит IP-адрес, доступ к которому может получить любой браузер с компьютера. Веб-сайт за этим 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 ..

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); 
} 
} 
}