/*
* Copyright © 2016 Zhenjie Yan.
*
* 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.
*/
package com.yanzhenjie.andserver.sample;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import java.util.LinkedList;
import java.util.List;
/**
* Created by Zhenjie Yan on 2018/6/9.
*/
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ServerManager mServerManager;
private Button mBtnStart;
private Button mBtnStop;
private Button mBtnBrowser;
private TextView mTvMessage;
private String mRootUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mBtnStart = findViewById(R.id.btn_start);
mBtnStop = findViewById(R.id.btn_stop);
mBtnBrowser = findViewById(R.id.btn_browse);
mTvMessage = findViewById(R.id.tv_message);
mBtnStart.setOnClickListener(this);
mBtnStop.setOnClickListener(this);
mBtnBrowser.setOnClickListener(this);
// AndServer run in the service.
mServerManager = new ServerManager(this);
mServerManager.register();
// startServer;
mBtnStart.performClick();
}
@Override
protected void onDestroy() {
super.onDestroy();
mServerManager.unRegister();
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.btn_start: {
mServerManager.startServer();
break;
}
case R.id.btn_stop: {
mServerManager.stopServer();
break;
}
case R.id.btn_browse: {
if (!TextUtils.isEmpty(mRootUrl)) {
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.setData(Uri.parse(mRootUrl));
startActivity(intent);
}
break;
}
}
}
/**
* Start notify.
*/
public void onServerStart(String ip) {
mBtnStart.setVisibility(View.GONE);
mBtnStop.setVisibility(View.VISIBLE);
mBtnBrowser.setVisibility(View.VISIBLE);
if (!TextUtils.isEmpty(ip)) {
List<String> addressList = new LinkedList<>();
mRootUrl = "http://" + ip + ":8080/";
addressList.add(mRootUrl);
addressList.add("http://" + ip + ":8080/login.html");
mTvMessage.setText(TextUtils.join("\n", addressList));
} else {
mRootUrl = null;
mTvMessage.setText(R.string.server_ip_error);
}
}
/**
* Error notify.
*/
public void onServerError(String message) {
mRootUrl = null;
mBtnStart.setVisibility(View.VISIBLE);
mBtnStop.setVisibility(View.GONE);
mBtnBrowser.setVisibility(View.GONE);
mTvMessage.setText(message);
}
/**
* Stop notify.
*/
public void onServerStop() {
mRootUrl = null;
mBtnStart.setVisibility(View.VISIBLE);
mBtnStop.setVisibility(View.GONE);
mBtnBrowser.setVisibility(View.GONE);
mTvMessage.setText(R.string.server_stop_succeed);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
HttpServer for Android.zip (46个子文件)
HttpServer for Android
gradlew.bat 3KB
gradlew 6KB
gradle.properties 87B
app
src
main
res
values-zh
strings.xml 1KB
mipmap-xxxhdpi
ic_launcher.png 9KB
ic_launcher_round.png 15KB
values-v14
styles.xml 992B
mipmap-hdpi
ic_launcher.png 3KB
ic_launcher_round.png 5KB
values
colors.xml 808B
strings.xml 1KB
styles.xml 939B
dimens.xml 1KB
mipmap-xxhdpi
ic_launcher.png 6KB
ic_launcher_round.png 10KB
mipmap-mdpi
ic_launcher.png 2KB
ic_launcher_round.png 3KB
mipmap-xhdpi
ic_launcher.png 4KB
ic_launcher_round.png 7KB
layout
activity_main.xml 3KB
assets
web
css
login.css 234B
image
logo.png 12KB
login.html 1KB
index.html 581B
java
com
yanzhenjie
andserver
sample
ServerManager.java 4KB
model
UserInfo.java 2KB
ReturnData.java 2KB
CoreService.java 2KB
component
AppMessageConverter.java 2KB
AppConfig.java 927B
LoggerInterceptor.java 2KB
AppExceptionResolver.java 2KB
App.java 2KB
MainActivity.java 4KB
controller
FileController.java 1KB
util
Logger.java 2KB
JsonUtils.java 2KB
FileUtils.java 2KB
NetUtils.java 2KB
AndroidManifest.xml 1KB
build.gradle 1KB
gradle
wrapper
gradle-wrapper.jar 58KB
gradle-wrapper.properties 209B
local.properties 67B
settings.gradle 16B
build.gradle 1KB
共 46 条
- 1
资源评论
命运之手
- 粉丝: 461
- 资源: 103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 聊天系统(java+applet).zip
- 毕业设计:基于SSM的mysql-高校学生请假管理系统(源码 + 数据库 + 说明文档)
- 博客系统(struts+hibernate+spring).rar
- c语言学生成绩管理系统源码.zip
- 毕业设计:基于SSM的mysql-网约车用户服务平台(源码 + 数据库 + 说明文档)
- 内容管理系统(hibernate3+struts2+spring2)130224.rar
- 基于Java的班级管理系统课程设计源码
- 内容管理系统(hibernate3+struts2+spring2).rar
- 路由器刷breed Web控制台助手v5.8版本.rar
- Java 在 JEP 12 提供的特性预览
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功