Android利用Andserver搭建服务器的详细教程
效果
需求
在手机上有一个功能,但是需要使用电脑控制什么时候开始这个功能,然后上网搜索,找到了AndServer可以满足要求,我只是实现了简单的功能,如果感兴趣的话,可以深入的研究一下。
地址如下:https://github.com/yanzhenjie/AndServer
1.步骤引入
implementation 'com.yanzhenjie:andserver:1.0.2'
2.申请权限
<uses-permission android:name="android.permission.INTERNET" />
3.初始化server
private void initServer() { AssetManager assetManager = getAssets(); WebSite webSite = new AssetsWebsite(assetManager, ""); AndServer andServer = new AndServer.Build() .website(webSite) .timeout(30 * 1000) .port(1234) .registerHandler("login", new loginRequest()) .registerHandler("search",new searchRequest()) .listener(mListener) .build(); server = andServer.createServer(); server.start(); }
4.主要代码
/** * 监听事件 */ private Server.Listener mListener = new Server.Listener() { @Override public void onStarted() { Log.e(TAG, "onStarted: "); tvTips.setText("服务启动成功"); } @Override public void onStopped() { Log.e(TAG, "onStopped: "); } @Override public void onError(Exception e) { Log.e(TAG, "onError: " + e.getMessage()); tvTips.setText("服务启动失败:"+e.getMessage()); } }; public class searchRequest implements RequestHandler{ @Override public void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "拍照", Toast.LENGTH_SHORT).show(); } }); StringEntity stringEntity = new StringEntity("拍照", "utf-8"); response.setEntity(stringEntity); } } public class loginRequest implements RequestHandler { @Override public void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException { Map<String, String> params = HttpRequestParser.parse(request); // Request params. final String userName = params.get("name"); final String password = params.get("pwd"); //中文需要解码 final String userName1 = Uri.decode(userName); final String password1 = Uri.decode(password); Log.e(TAG, "handle: " + userName); runOnUiThread(new Runnable() { @Override public void run() { tvUsername.setText(userName1); tvPwd.setText(password1); } }); StringBuilder sb = new StringBuilder(); sb.append("用户名:" + userName1); sb.append("\n"); sb.append("密码:" + password1); StringEntity stringEntity = new StringEntity(sb.toString(), "utf-8"); response.setEntity(stringEntity); } }
总结
到此这篇关于Android利用Andserver搭建服务器的详细教程的文章就介绍到这了,更多相关android 搭建服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Android RecyclerView实现下拉刷新和上拉加载
这篇文章主要介绍了Android RecyclerView实现下拉刷新和上拉加载的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-05-05AndroidStudio升级4.1坑(无法启动、插件plugin不好用、代码不高亮)
这篇文章主要介绍了AndroidStudio升级4.1坑(无法启动、插件plugin不好用、代码不高亮),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10使用TransitionDrawable实现多张图片淡入淡出效果
这篇文章主要为大家详细介绍了使用TransitionDrawable实现多张图片淡入淡出效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-08-08android studio logcat 无筛选 显示全部日志 无应用包名区分方式
这篇文章主要介绍了android studio logcat 无筛选 显示全部日志 无应用包名区分方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-04-04
最新评论