Android搭建本地服务

在Android设备上搭建小型 Web 服务器 在通用服务器/PC上搭建web服务器,我们通常用Apache,Tomcat,Nginx或者IIS。 在Android 设备上我们也有很多种选择,比如Jetty,AndServer,NanoHTTPD等等。 还有KSweb(里面集成了PHP、Nginx、Apache、MySQL、FTP), 可以直接安装搭建。 其中比较常用的是Jetty,今天我们就利用jetty,手写一个简单的web程序。 ... 阅读详情

在项目中涉及的本地server主要场景有两种:
1.实现类似于PC端视频播放的边看边缓冲,实现良好的播放体验
2.分享手机内容,如图片/音视频

目前接触到相关的比较好的框架是nanohttpd和AndroidAsync。 若有其他的 欢迎分享哈-_-

nanohttpd是一个轻量级的http服务框架,源码只有一个文件,应用也非常方便,如官方的一个简单的例子:
public class App extends NanoHTTPD {

    public App() throws IOException {
        super(8080);
        start();
        System.out.println( "\nRunning! Point your browers to http://localhost:8080/ \n" );
    }

    public static void main(String[] args) {
        try {
            new App();
        }
        catch( IOException ioe ) {
            System.err.println( "Couldn't start server:\n" + ioe );
        }
    }

    @Override
    public Response serve(IHTTPSession session) {
        String msg = "<html><body><h1>Hello server</h1>\n";
        Map<String, String> parms = session.getParms();
        if (parms.get("username") == null) {
            msg += "<form action='?' method='get'>\n  <p>Your name: <input type='text' name='username'></p>\n" + "</form>\n";
        } else {
            msg += "<p>Hello, " + parms.get("username") + "!</p>";
        }
        return newFixedLengthResponse( msg + "</body></html>\n" );
    }
}

搭建自己的服务只需集成NanoHTTPD即可实现,在serve方法中封装实现响应形式,例子中是响应html。

AndroidAsync 是一个多功能库,从其中脱离出来的异步通信和图片加载框架ion非常受欢迎。AndroidAsync主要是一个基于NIO的异步socket,websocket,http客户端/服务端的通信框架,这里主要用到是http server。
下面这个是一个简单的返回网页的例子

AsyncHttpServer server = new AsyncHttpServer();
server.get("/", new HttpServerRequestCallback() {
    @Override
    public void onRequest(AsyncHttpServerRequest request, AsyncHttpServerResponse response) {
        response.send("Hello!!!");
    }
});

// listen on port 5000
server.listen(5000);
// browsing http://localhost:5000 will return Hello!!!

AsyncHttpServer是服务的核心类,用于服务的启动/停止,响应回调定义处理,webscoket及本地目录/文件服务。
利用server.directory即可实现本地文件服务,如

server.directory("/name" ,new File(filePath))

访问地址:http://localhost:5000/name。

遇到的问题:
1.服务启动时默认地址是localhost,经常导致外部无法访问?
答:修改为IP,修改AsyncServer的listen方法中地址的设置.
java
if (host == null)
isa = new InetSocketAddress(port);
else
isa = new InetSocketAddress(host, port);

修改为

if (host == null)
   isa = new InetSocketAddress(getLocalIp4Address(), port);
else
    isa = new InetSocketAddress(host, port);

2.搭建本地文件服务,但是无法正常访问
答:在AsyncHttpServer本地文件服务映射时调用directory方法中修改

String type = getContentType(file.getAbsolutePath());
response.setContentType(type);
response.sendFile(file);
//  Util.pump(is, response, new CompletedCallback() {
//                  @Override
//              public void onCompleted(Exception ex) {
//                          response.end();
//                      }
//                  });

这里只是针对sd卡文件,对于asset文件未测试。


Android 中tomcat搭建本地服务器 1,先google一下下载一个tomcat,我下载的是这个版本apache-tomcat-6.0.30 2,再次google一下百度也行,下载一个eclipse的tomcat插件,我用的是tomcatPluginV32.zip。解压之后直接放入eclipse的plugin文件夹下面,然后重启eclipse(之后觉的这个步骤好像没什么用) 3,然后启动tamcat,即运行bin文件夹 阅读详情

相关推荐

Android 中tomcat搭建本地服务器 实现apk更新下载

做apk的更新下载功能,测试的时候需要个服务器。 所以就选用 Apache Tomcat 搭建一个本地的服务器,测试之用。 Apache Tomcat官方地址:  http://tomcat.apache.org/  我下载的为最新版本:7.0.40         1.下载       2.任意解压在磁盘上       3.在tomcat的解压文件中,找到bin目录。在

GG之家 3445

NanoHttpd学习(一)

NanoHttpd只在Android上面运行即可,在其他平台还是Springboot吧现有的安卓上面的web服务端软件还是比较少的,SpringBoot又移植不过去(有人移植成功的话,希望分享下哦),所以暂时可用的就是NanoHttpd和AndServer,两个都试了下,AndServer配置太麻烦了,虽然有类SpringBoot语法,但搞来搞去的,发现这玩意版本好几个,示例和代码还有差别,最终没搞成功,就放弃了,最终选择NanoHttpd。一、NanoHttpd是什么?

chuyouyinghe的专栏 615

java搭建本地服务器,android客户端访问,tomcat配置详细步骤

java搭建本地服务器,android客户端访问,tomcat详细步骤代码都在这里,先可以不用下这个,跟着下面先把环境搭好,出问题再来看代码:https://download.youkuaiyun.com/download/qq_31939617/10275515eclispe64位,直接解压就可以用https://pan.baidu.com/s/1nwv1JM5jdk配置就自行百度吧Tomcat安装:1.任...

码点 1万+

【Android】NanoHttpd学习(一)

NanoHttpd教程

kael_wyh的博客 3517

在Android设备上搭建Web服务器的方法

一般而言,Android 应用在请求数据时都是以 Get 或 Post 等方式向远程服务器发起请求,那你有没有想过其实我们也可以在 Android 设备上搭建一个小型 Web 服务器,并且实现常规的下载图片、下载文件、提交表单等功能呢? 下面要介绍的就是如何在 Android 设备上搭建一个 Web 服务器,这个 Web 服务器的功能有如下几点: 接受客户端文件上传、下载文件 动态 Http API,像 Java 的 Servlet 一样写接口 部署静态网站,例如纯Html,支持 JS、CSS、Image 分离 部署动态网站 这需要依赖一个开源库来实现:AndServer A

Android利用Andserver搭建服务器的详细教程

效果 需求   在手机上有一个功能,但是需要使用电脑控制什么时候开始这个功能,然后上网搜索,找到了AndServer可以满足要求,我只是实现了简单的功能,如果感兴趣的话,可以深入的研究一下。 地址如下:https://github.com/yanzhenjie/AndServer 1.步骤引入 implementation ‘com.yanzhenjie:andserver:1.0.2’ 2.申请权限 <uses android:name=”android.permission.INTERNET”> 3.初始化server private void ini

Android设备搭建http服务器AndServer

(2)然后在当前的moudle(一般就是app)的build.gradle里面的plugins里面添加:id 'com.yanzhenjie.andserver'(1)需要在项目中引用AndServer,但是这里面有一些问题,主要是因为新版Android studio中的高版本gradle改变了添加plug和引用的方式。上面代码主要是启动在Android手机(设备)上的http服务器,服务器绑定端口9999,绑定成功后打印IP地址。Android设备搭建http服务器AndServer。...

Zhang Phil 5006

手把手教你搞定国民技术N32G031的Keil开发环境(附Pack包和JLink配置)

本文详细指导如何搭建国民技术N32G031的Keil开发环境,包括Keil MDK安装与激活、Pack包导入、JLink调试器配置等关键步骤。特别针对新手常见问题提供解决方案,帮助开发者快速上手N32G031系列MCU的开发工作。

cuangu9341的博客 421

Android开发实践之《手摸手教你搭建移动端Https服务器》

目录 基础知识 准备工作 Keytool Protecle 生成HTTPS所需证书 使用Keytool生成jks证书 使用Protecle将JSK证书转BKS证书 使用AndroidASync配置BKS证书实现HTTPS服务器 AndroidASync的使用 导入并配置BKS证书 运行测试 遇到的问题 源码 参考资料 基础知识 百度关键词:Android Http服务器,就可以搜出来很多关于搭建Android端Http的服务器的教程了,但是关于Https服务资料是比较少的

农贤钢的专栏 3333

Linux下基于AHCI controller模块实现SATA Platform驱动附代码详细流程

本文主要是针对ARM A55集成了AHSATA controller模块开发sata驱动,通过Platform的形式在linux识别到SSD,本文详细讲述整个开发过程,同时对SATA Platform驱动进行讲解。1、配置SATA Phy的初始化;2、打开SATA Platform相关编译开关;3、配置设备树;4、linux启动识盘。

Luckiers的博客 2497

Isaac Gym摄像头数据获取全攻略:从CPU到GPU,教你实时显示RGB与深度图

本文详细介绍了在Isaac Gym中获取摄像头数据的两种高效方案:CPU模式与GPU张量模式。通过实战代码示例,展示了从摄像头配置、数据获取到实时可视化RGB与深度图的全流程,帮助开发者优化机器人仿真与计算机视觉应用的性能。特别强调了GPU模式下的零拷贝访问与张量运算优势,适用于需要低延迟处理的场景。

weixin_29056701的博客 387

安卓上传本地服务器视频文件,Android搭建本地服务器,实现视频加密

需求:下载视频,下载后只能用自己的APP打开,不允许传播实现思路:服务器加密,下载下来本地解密,由于android播放视频需要解密完成后再播放,这样存在安全问题,所以我就搭建本地服务器,实现视频加密1.先给出build的内容,搭建本地服务器,我使用的是AndroidAsync开源库实现compile 'com.koushikdutta.async:androidasync:2.+'2.话不多说,直...

weixin_39994949的博客 538

Ollama内网离线部署大模型实战:从模型文件到私有化服务

本文详细介绍了如何在内网离线环境下,利用Ollama部署私有化大模型服务。内容涵盖从获取GGUF格式模型文件、手动安装Ollama、编写核心Modelfile配置文件,到创建运行模型、性能调优及安全加固的全流程实战指南,旨在帮助企业安全、可控地构建内部AI能力。

weixin_29209805的博客 214

安卓系统部署java web_Android搭建本地Tomcat服务器及相关配置

在Android中我们时常会与服务器打交道,为了方便测试代码,我们有必要搭建本地的服务器,其实搭建本地的Tomcat服务器也是很简单:Tomcat的下载环境配置Eclipse中新建Web工程一、 Tomcat的下载在Tomcat官网下载http://tomcat.apache.org/,这里下载的是Tomcat7,下载到本地并解压出来。二、Tomcat的配置Tomcat的配置前要把Java运行环境...

weixin_34092535的博客 1394

特性阻抗 – SI/PI 世界碰撞的地方

除了谐振零点和峰值外,在一定频率下,传输线的阻抗看起来像远端开路时的电容器的阻抗,也看起来像远端短路时电感的阻抗。如果随后的制造变化将测得的阻抗推到 -10% 容差的低端(例如 44 欧姆)的测量区域内,那么如果在初始下降时测量,则真正的特性阻抗将在 42 欧姆时降低 5%,并且超出规格。这意味着,当我们测量红色或蓝色图的峰和相邻谷之间的中间阻抗时,它是该频率下传输线的特性阻抗。图 7 远端开路时(红色常亮)与远端短路时(蓝色常亮)的电感和电容抗阻抗与频率的关系(上图)和传输线的阻抗与频率(下图)的对比。

jkh920184196的博客 962

SpringBoot系列之实现一个AI聊天助手

本文介绍了基于Spring Boot框架实现的AI聊天助手项目。该项目使用Spring Boot 3.2.3、Spring AI 1.0.0-M5等技术栈,集成DeepSeek-R1-Distill-Llama-8B模型实现智能对话功能。文章详细介绍了项目配置流程、运行方式和核心代码实现,包括ChatMessage模型类和服务类ChatService的关键功能,如消息处理、历史记录管理和AI响应获取等。读者可通过提供的GitHub链接获取完整代码,快速搭建自己的AI聊天应用。

Nicky's blog 1449

android访问本地服务器,android本地搭建Https本地服务器

在本地搭建服务器有什么用呢?这个我只能说我现在用着了,需要加密HLS视频,具体的应用场景可以很多。搭建普通的一个http服务器好搞,https怎么做呢首先我们这次使用的是一个比较好的三方的框架NanoHTTPD但是悲剧的是他并没有实现android本地https具体的例子。首先我们知道https需要证书,怎么生成呢,使用keytool生成证书keytool是JDK提供的管理加密密钥、X.509证书...

weixin_30938397的博客 718

AutoSAR系列讲解 - 前言

博主xyfx是一名汽车行业的嵌入式软件工程师,本职工作是同步电机的驱动控制(主要做FOC的,这个大家要是有兴趣,以后可以单独开一个专栏来讲解一下),由于做控制器的时候需要用到AutoSAR,所以特意的去学习了相关知识,同时博主自己也在同步提高中,有写的不合理的地方也请大家指正。我准备对AutoSAR开设两个大的方面来讲解,一是AutoSAR的入门篇,二是AutoSAR的实践篇,分别讲述AutoSAR的理论基础和工具的使用。

雪云飞星的博客 4万+

Almp安卓php服务器,Almp——安卓系统上搭建本地php服务器环境 zhu吴

Almp——安卓系统上搭建本地php服务器环境zhu吴2018-01-06 02:38:53在网上找到安卓系统的PHP+MySQL环境,甚是喜欢,拿来修改、试用了一番。已经实现在安卓上搭建Web服务端,并且支持WordPress、Discuz、Phpmyadmin的运行。目前正在考虑,利用可以建立WiFi热点这个特性,随时随地宣传比如在机场、图书馆、教学楼、火车站等人口密集处,建立无密码的WiF...

weixin_33212263的博客 891

推荐系统(一)概述

在互联网领域,推荐系统(Recommendation Systems)的应用非常广泛。在音视频方面,如抖音、快手、哔哩等;在电商平台方面,如京东、淘宝、拼多多等。推荐有助于帮助用户快速发现潜在感兴趣的内容(音视频、商品、新闻等信息流),从而提升用户体验,同时有助于提升商业效率。从本文开始,笔者将结合自身在信息流推荐领域的经验,通过系列文章对推荐系统展开介绍。

Jin_Kwok的博客 6084

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

手机搭建php环境,Almp——安卓系统上搭建本地php服务器环境

在网上找到安卓系统的PHP+MySQL环境,甚是喜欢,拿来修改、试用了一番。已经实现在安卓手机上搭建Web服务端,并且支持WordPress、Discuz、Phpmyadmin的运行。目前正在考虑,利用手机可以建立WiFi热点这个特性,随时随地宣传网站:比如在机场、图书馆、教学楼、火车站等人口密集处,建立无密码的WiFi热点和Almp,然后等鱼上钩。先来看看我的折腾成果:1.先来一张PHP探针:基...

weixin_34083807的博客 3127

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

开发android使用的服务器,利用Android怎么搭建一个本地Tomcat服务器

利用Android怎么搭建一个本地Tomcat服务器发布时间:2020-12-08 17:13:26来源:亿速云阅读:143作者:Leah今天就跟大家聊聊有关利用Android怎么搭建一个本地Tomcat服务器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、 Tomcat的下载在Tomcat官网下载这里下载的是Tomcat7,下载到本地并...

weixin_32466167的博客 1515

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

安卓搭建本地Web服务器:我与PHP的“小打小闹”

终于,在经历了无数次的失败和重启后,我成功地在安卓手机上搭建了一个基本的Web服务器。然后,我上传了一个简单的PHP文件,通过手机上的浏览器访问,竟然真的看到了PHP代码的输出结果!记得那天阳光明媚,我坐在窗前,手里捧着一杯热茶,心里琢磨着如何能在我的安卓手机上搭建一个本地Web服务器,并且运行PHP代码。我相信,在未来的日子里,我还会继续探索更多的技术领域,享受那种从无知到精通的喜悦和成就感。我首先在网上搜索了相关的教程和资料,发现这确实是一个可行的方案,虽然过程可能有些复杂。

2401_85969209的博客 390

mysql和android真机测试_Almp 安卓系统上搭建本地php服务器环境的步骤

在网上找到安卓系统的PHP+MySQL环境,甚是喜欢,拿来修改、试用了一番。已经实现在安卓手机上搭建Web服务端,并且支持WordPress、Discuz、Phpmyadmin的运行。目前正在考虑,利用手机可以建立WiFi热点这个特性,随时随地宣传网站:比如在机场、图书馆、教学楼、火车站等人口密集处,建立无密码的WiFi热点和Almp,然后等鱼上钩。先来看看我的折腾成果:1.先来一张PHP探针:基...

weixin_35132871的博客 178

安卓系统上搭建本地php服务器环境

在网上找到安卓系统的PHP+MySQL环境,甚是喜欢,拿来修改、试用了一番。已经实现在安卓手机上搭建Web服务端,并且支持WordPress、Discuz、Phpmyadmin的运行。 先来看看我的折腾成果: 1.先来一张PHP探针:基本都是手机的信息,这里要提醒一下,如果手机运行内存不足512MB,运行这东西还是非常吃力的 2.PHPMyAdmin,原作给出的ALMP并不包含PHPM...

Blog 3653

Android 与服务端交汇,本地搭建服务端ip地址设置

Android 与服务端交汇,本地搭建服务端ip地址设置在web 服务端中http://localhost:8080/ 或者http://127.0.0.1:8080/ android 客户端id地址为http://10.0.2.2:8080/HelloTest/HelloServlet

wangjicong_215的博客 1362
上一篇: App工程结构搭建:几种常见Android代码架构分析
下一篇: 如果让我重新设计一款App
xb_smart
博客等级 码龄16年 124粉丝 74原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值