Android手機上的Http服務器,能夠用於內網/外網的數據交換。
html
ps: 這個項目是JustWeEngine遊戲框架中處理網絡事件的一部分。java
設置as Library或直接將代碼拷出,若是使用JustWeEngine能夠直接使用Gradle或者Maven構建。
使用前請先添加Service到manifest文件:android
<service android:name=".WebServer.WebServerService"/>
private WebServer server; server = new WebServer(MainActivity.this, new OnLogResult() { @Override public void OnResult(String log) { } @Override public void OnError(String error) { } }); server.initWebService();
初始化的時候推薦實現一個OnLogResult用於接受log日誌和錯誤。
OnLogResult
的返回數據是線程安全的,能夠直接傳送到View中打印出來。
固然也有其餘的構造方法:git
public WebServer(Activity engine); public WebServer(Activity engine, OnLogResult logResult, int webPort); // 端口
初始化以後:github
server.startWebService(); server.stopWebService();
使用該方法打開監聽\關閉。web
server.apply("/lfk", new OnWebStringResult() { @Override public String OnResult() { return "======="; } }); server.apply("/main", new OnWebFileResult() { @Override public File returnFile() { return new File(WebServerDefault.WebServerFiles+"/"+"welcome.html"); } });
能夠經過此種方法添加路由,並返回數據或者文件。
須要表單提交的如Post能夠使用以下接口,返回一個HashMap存儲key和value。express
server.apply("/lfkdsk", new OnPostData() { @Override public String OnPostData(HashMap<String, String> hashMap) { String S = hashMap.get("LFKDSK"); Logger.e(S); return "=="; } });
向服務器提交數據,只需使用正常的get / post便可。apache
在使用中有任何問題,歡迎反饋給我,能夠用如下聯繫方式跟我交流安全
Copyright 2015 [劉豐愷](http://www.cnblogs.com/lfk-dsk/) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.