アプリに httpd サーバーが必要なので、NanoHttpd を選択しました。
私は自分のサーバーをサブクラス化しました:
public class StreamingServer extends NanoHTTPD {
private Context mContext;
public StreamingServer(Context context) {
super(8080);
mContext = context;
Log.i("MyServer", "Streaming server created");
}
そして、メインアクティビティでサーバーを起動しようとしています:
// onCreate:
server = new StreamingServer(getApplicationContext());
これが私のonResumeメソッドです:
// onResume:
super.onResume();
try {
server.start();
} catch (IOException e) {
Log.i(TAG, "exception!");
e.printStackTrace();
}
Log.i(TAG, "started!");
および onPause:
super.onPause();
if (server != null) {
server.stop();
Log.i(TAG, "stopped!");
}
私も適切なセットアップを行いました:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
だから私はすべてを正しくやったと信じています。しかし、私のアプリを起動しても何も起こりません (ページは利用できません)。2 つまたは 3 つの起動がサーバーの起動につながる方法もあります (その時点で私は何も変わりません)。
私が間違っていることは何ですか?