精华内容
参与话题
问答
  • 搭建Android上的服务器

    千次阅读 2018-04-23 11:27:50
    在手机端搭建了一个服务器。 手机端的Server利用的是该库: https://github.com/koush/AndroidAsync 先把服务器搭起来 依赖库 首先,依赖下我们搭建Server需要用到的库: compile '...

     

    如何通过浏览器输入一个地址播放手机上的视频?

    在手机端搭建了一个服务器。

     

    手机端的Server利用的是该库:

    先把服务器搭起来

    依赖库

    首先,依赖下我们搭建Server需要用到的库:

    compile 'com.koushikdutta.async:androidasync:2.+'

    编写简易html

    然后我们在assets下编写一个html文件用于浏览器访问,index.html

    最简单的即可:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
    </head>
    
    <body>
    
    嘿嘿嘿,连通了...
    
    </body>
    
    </html>

    启动服务,监听端口

    public class MainActivity extends AppCompatActivity {
        private AsyncHttpServer server = new AsyncHttpServer();
        private AsyncServer mAsyncServer = new AsyncServer();
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
            server.get("/", new HttpServerRequestCallback() {
                @Override
                public void onRequest(AsyncHttpServerRequest request, AsyncHttpServerResponse response) {
                    try {
                        response.send(getIndexContent());
                    } catch (IOException e) {
                        e.printStackTrace();
                        response.code(500).end();
                    }
                }
            });
    
            server.listen(mAsyncServer, 54321);
    
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
    
            if (server != null) {
                server.stop();
            }
            if (mAsyncServer != null) {
                mAsyncServer.stop();
            }
        }
    
        private String getIndexContent() throws IOException {
            BufferedInputStream bInputStream = null;
            try {
                bInputStream = new BufferedInputStream(getAssets().open("index.html"));
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                int len = 0;
                byte[] tmp = new byte[10240];
                while ((len = bInputStream.read(tmp)) > 0) {
                    baos.write(tmp, 0, len);
                }
                return new String(baos.toByteArray(), "utf-8");
            } catch (IOException e) {
                e.printStackTrace();
                throw e;
            } finally {
                if (bInputStream != null) {
                    try {
                        bInputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }

    可以看到很简单,创建AsyncHttpServer对象,我们在onCreate中调用get,对外设置一个get型的url监听,监听的url是/即根目录。

    然后调用listen,传入端口号54321,开启对该端口的监听。

    onDestroy的时候停止服务器。

    当捕获到对”/”的访问时,读取assets下的index.html返回给浏览器。

    记得添加网络权限。

    好了,运行demo,测试一下。

    输入地址,你的手机的IP:端口号。

    注意电脑和手机在同一个网段!

    然后你应该看到如下效果图:

     

    完善Demo

    接下来,我们将手机上的mp4返回让其在浏览器上显示。

    很简单,既然我们可以监听/,返回一个index.html,我们就能监听另一个url,返回文件目录。

    server.get("/files", new HttpServerRequestCallback() {
        @Override
        public void onRequest(AsyncHttpServerRequest request, AsyncHttpServerResponse response) {
            JSONArray array = new JSONArray();
            File dir = new File(Environment.getExternalStorageDirectory().getPath());
            String[] fileNames = dir.list();
            if (fileNames != null) {
                for (String fileName : fileNames) {
                    File file = new File(dir, fileName);
                    if (file.exists() && file.isFile() && file.getName().endsWith(".mp4")) {
                        try {
                            JSONObject jsonObject = new JSONObject();
                            jsonObject.put("name", fileName);
                            jsonObject.put("path", file.getAbsolutePath());
                            array.put(jsonObject);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
            response.send(array.toString());
        }
    });

    我们监听/files这个Url,然后返回Sdcard根目录的视频文件,拼接成JSON返回。

    这里如果你重新启动,在浏览器上输入:

    http://192.168.1.100:54321/files

    会看到一堆JSON数据:

    但是我们需要在刚才的html上显示,所以这个请求应该是刚才的Html页面发起:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <script src="jquery-1.7.2.min.js" type="text/javascript"></script>
    
        <title>文档的标题</title>
        <script type="text/javascript">
            $(function() {
                var now = new Date();
                var url = 'files' + '?' + now.getTime();
                // 请求JSON数据
                $.getJSON(url, function(data) {
                    // 编辑JSON数组
                    for (var i = 0; i < data.length; i++) {
                        // 为每个对象生成一个li标签,添加到页面的ul中
                        var $li = $('<li>' + data[i].name + '</li>');
                        $li.attr("path", data[i].path);
                        $("#filelist").append($li);
    
                    }
                });
            });
    
        </script>
    </head>
    
    <body>
        <ul id="filelist" style="float:left;"></ul>
    
    </body>
    
    </html>

    可能很多朋友没了解过js,不过应该能看明白,$.getJSON获取返回的JSON数组,然后遍历为每个Json对象生成一个li标签,添加到页面上。

    这里用了jquery,对于js的也需要也请求处理,这里省略了,很简单,看源码即可。

    此时访问,已经可以显示出视频目录了:

     

    接下来就是点击播放了,在html里面有个标签叫video用于播放视频的,他有个src属性用于设置播放的视频路径。

    所以我们要做的仅为:

    • 点击名字,拿到该视频对应的url,然后设置给video的src属性即可。

    那么视频的url是什么?

    刚才我们返回了视频的路径,所以我们只要再监听一个url,将根据传入的视频路径,将视频文件流返回即可。

    server.get("/files/.*", new HttpServerRequestCallback() {
        @Override
        public void onRequest(AsyncHttpServerRequest request, AsyncHttpServerResponse response) {
            String path = request.getPath().replace("/files/", "");
            try {
                path = URLDecoder.decode(path, "utf-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            File file = new File(path);
            if (file.exists() && file.isFile()) {
                try {
                    FileInputStream fis = new FileInputStream(file);
                    response.sendStream(fis, fis.available());
                } catch (Exception e) {
                    e.printStackTrace();
                } 
                return;
            }
            response.code(404).send("Not found!");
        }
    });

    我们又监听了一个url为files/xxx.*,捕获到之后,拿到文件名,去SDCard找到该文件,返回文件流即可。

    html端的代码为:

    <script type="text/javascript">
        $(function() {
            var now = new Date();
            // 拿到video对象
            var $video = $("#videoplayer");
            var url = 'files' + '?' + now.getTime();
            $.getJSON(url, function(data) {
                for (var i = 0; i < data.length; i++) {
                    var $li = $('<li>' + data[i].name + '</li>');
                    $li.attr("path", data[i].path);
                    $("#filelist").append($li);
    
                    // 点击的时候,获取路径,设置给video的src属性
                    $li.click(function() {
                        var p = "/files/" + $(this).attr("path");
                        $video.attr("src", "/files/" + $(this).attr("path"));
                        $video[0].play();
                    });
                }
            });
        });
    
    </script>

    当然页面上body标签内部也多了一个video标签。

     <video id="videoplayer" controls="controls">
     </video>

    到这里,所以的代码就介绍完了~~

    小结

    回头看,其实就是app中启动服务器,监听一些url,然后针对性的返回文本、json、文件流等。

    当然了,可以做的时候也挺多的,甚至可以做个PC版本的文件浏览器。

    可能有很多人对html,js不太熟悉,不过还是建议简单了解下,或者敲一下本例,因为本例代码很少,值得作为上手教程。

    源码地址:https://github.com/suyimin/ShowPhoneMp4

     

    展开全文
  • Android连接服务器流程详解

    千次阅读 多人点赞 2020-02-17 19:52:55
    有同学在学习Android初级的时候需要连接服务器的数据库,但是可能不知道整个连接的流程,我认为需要掌握以下知识,才能在连接服务器的数据库时游刃有余。 1.服务器数据库和本地数据库的区别 2.什么是tomcat,它的作用...

    有同学在学习Android初级的时候需要连接服务器的数据库,但是可能不知道整个连接的流程,我认为需要掌握以下知识,才能在连接服务器的数据库时游刃有余。

    1.服务器数据库和本地数据库的区别
    2.什么是tomcat,它的作用是什么?
    3.什么是服务?
    4.客户端请求服务器数据库的时候发生了什么?怎么请求到数据的?

    下面简单的说说上面四个问题

    • 1.服务器数据库和本地数据库没有区别,只不过请求的时候需要填入的ip地址不同,本地的ip地址一般使用localhost即可,服务器ip是公网ip。开发时,我们一般先在本地开发,也就是在本地数据库做测试,等开发完成以后,再把本地数据库移动到服务器数据库。访问时只需要把ip地址更换一下就可以了。

    • 2.tomcat的作用就是监听8080端口,你安装在本地上,他就监听你本地电脑的8080端口,我们在浏览器里面输入网址如:www.baidu.com,一般默认访问的是80端口,由于是默认所以可以省略80不写。但是我们访问8080端口时,tomcat就监听到了,它会根据你请求的服务,将你的请求转发给你请求的服务进行处理。 我们需要知道,客户端程序和服务器端程序代码是分开的。服务器端程序负责处理如何根据用户请求的参数,把相应的数据返回给客户端。 所以我们应该写两个项目,一个是客户端,一个是服务器端,其中服务器端是一个Web项目。可以使用myeclipse进行编写。

    • 3.什么是服务? 服务可以理解为我们写的处理某个请求的接口,比如我们现在想要登录,Web端的项目名叫做WebService,在这个项目里面我们写一个Login接口,专门负责处理用户的登录请求。那么客户端端如何访问该请求服务呢?

    • 4.首先,客户端应该知道数据库所在服务器的ip地址,如果是本地就用localhost 知道了ip地址我们只是能够连接到服务器,并不能连接到数据库,当我们Web端项目写好了以后,运行在tomcat这个容器中,上面已经说过,tomcat监听8080端口,所以我们访问服务器时,指定端口号,比如
      localhost:8080,那么他就会访问到tomcat中,仅仅访问到tomcat还不够,更进一步,再指定我们访问的Web端项目的名称(web端项目是运行在tomcat中的),也就localhost:8080/WebService,这样就能访问到服务器端处理数据库的项目,此时我们想要登录,那就更进一步,指定localhost:8080/WebService/Login,这样就能访问到登录接口。我们知道登录的时候需要用户名和密码,用户名和密码又是如何传递到服务器端的呢?

      有两种常用的传递方式 get/post get方式,直接拼接在url里面即可,如下:

      localhost:8080/WebService/Login?UserName="test"&Password="123456" ```
    

    这样就指定了登录名是test和密码123456。

    Login接口收到这个请求以后,首先要把账号和密码取出来,然后用jdbc连接数据库的方法,指定数据库的名称,并指定用户数据所在的表,然后执行select方法,查询有无该用户,如果有就返回一个值,没有返回另外一个值,客户端根据返回的值,来决定登录成功还是失败。

    下面说说服务器客户端都需要用到什么技术。

    • 1.客户端如何发起请求? Android端发起请求,我们直接用第三方库Okhttp,Volley等就可以,如何使用看我其他的博客。
    • 2.客户端发出请求以后,服务器端怎么进行处理? 要想处理客户端发来的请求,我们需要创建一个web项目,建议使用新手建议使用Struts框架或者Servlet,这个也必须要学习,否则我们无法处理客户端发出的请求。只要登录注册成功以后,请求其他数据也是同样的道理,返回一条数据如何做?返回多条数据怎么做,都是要解决的问题。

    现在我们已经知道,客户端向服务器8080端口发出请求,服务器端tomcat捕获到我们的请求,根据我们想要访问的项目名称,把该请求交给该项目处理,进一步检测,该请求想要访问该项目中的哪一个服务,检测到是Login服务,该项目把请求交给Login服务进行处理,拿到账号和密码去数据库中进行查找,所以Login方法里面需要连接数据库,用jdbc连接数据库的步骤,大家应该都知道了。根据查询结果返回相应的值。





    下面附上要用到的软件的来百度云链接

    • myeclipse 开发软件(主要用来开发web项目)
      链接:https://pan.baidu.com/s/1lCx37vI-FE2Y8LzSqr7Z5Q 提取码:ts3b
    • 客户端就是用Android studio没什么可说的。
    • 必会用到数据库连接的jdbc,这里上传mysql的jdbc
      链接:https://pan.baidu.com/s/1CuN2UD0aS6WnGs3xWQMw4A 提取码:h6ft
    • tomcat可以去网上下载就可以。

    如果大家看了博客还不是很理解,可以联系我帮你解决。(100块一次包售后)。





    在这里插入图片描述

    展开全文
  • Android实现服务器登录

    千次阅读 2017-09-28 17:48:03
    Android实现服务器登录 一、使用MyEclipse创建一个servlet service project服务;( 在创建服务器时一定要创建servlet service project,不能创建servlet project)代码如下: package login; import java.io...

    Android实现服务器登录

    一、使用MyEclipse创建一个servlet service project服务;(

    在创建服务器时一定要创建servlet service project,不能创建servlet project)代码如下:

    package login;
    
    import java.io.IOException;
    
    import java.io.PrintWriter;
    
    import java.util.HashMap;
    
    import java.util.Map;
    
    import javax.servlet.ServletException;
    
    import javax.servlet.http.HttpServlet;
    
    import javax.servlet.http.HttpServletRequest;
    
    import javax.servlet.http.HttpServletResponse;
    
     
    
    public class AndroidLogin extends HttpServlet {
    
    public AndroidLogin() {
    
    super();
    
    }
    
    public void destroy() {
    
    super.destroy();
    
    }
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    
    throws ServletException, IOException {
    
    doPost(request, response);
    
    }
    
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    
    throws ServletException, IOException {
    
    response.setContentType("text/html");  
    
            PrintWriter out = response.getWriter();  
    
            Boolean flag =false;    
    
            String userName = request.getParameter("phone");  
    
            String password = request.getParameter("password");   
    
            if(userName.equals("123123")&&password.equals("123123"))   {
    
                flag =true;  }
    
            else {flag = false;}
    
            System.out.println("userName:"+userName+"password:"+password);
    
            out.print(flag);  
    
            out.flush();  
    
            out.close();
    
    }
    
    }

    二、修改WebRoot/WEB-INF/web.xml文件中的代码,加上如下代码:

    <servlet>
    
        <description>This is the description of my J2EE component</description>
    
        <display-name>This is the display name of my J2EE component</display-name>
    
        <servlet-name>AndroidLogin</servlet-name>
    
        <servlet-class>login.AndroidLogin</servlet-class>
    
      </servlet>
    
      <servlet-mapping>
    
        <servlet-name>AndroidLogin</servlet-name>
    
        <url-pattern>/login/AndroidLogin</url-pattern>
    
    </servlet-mapping>

    三、修改Android的Layout界面

    <?xml version="1.0"encoding="utf-8"?>
    <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="match_parent"
        android:layout_height="match_parent">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="phone"
            android:ems="10"
            android:id="@+id/editText3"/>
    
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword"
            android:ems="10"
            android:id="@+id/editText"/>
    
        <Button
            android:text="登录"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/button"/>
    </LinearLayout>

    四、修改LoginDemo代码(我自己建的Login Demo,默认为MainActivity)

    packagecom.example.jsondemo;
    
    importandroid.os.Bundle;
    importandroid.os.Handler;
    importandroid.os.Looper;
    importandroid.os.Message;
    importandroid.support.annotation.Nullable;
    importandroid.support.v7.app.AppCompatActivity;
    importandroid.view.View;
    importandroid.widget.Button;
    importandroid.widget.EditText;
    importandroid.widget.TextView;
    importandroid.widget.Toast;
    importorg.apache.http.HttpResponse;
    importorg.apache.http.client.HttpClient;
    importorg.apache.http.client.methods.HttpPost;
    importorg.apache.http.impl.client.DefaultHttpClient;
    importorg.apache.http.util.EntityUtils;
    importjava.io.ByteArrayOutputStream;
    importjava.io.InputStream;
    importjava.net.HttpURLConnection;
    importjava.net.URL;
    
    public classLoginDemoextendsAppCompatActivity {
        privateEditTextphone;
        privateEditTextpassword;
        privateButtonlogin;
        Handlerhandler=newHandler(){
            @Override
            public void handleMessage(Message msg) {
                switch(msg.what){
                    case1:
                        Toast.makeText(LoginDemo.this,"成功",Toast.LENGTH_SHORT).show();
                        break;
                    default:
                        Toast.makeText(LoginDemo.this,"失败",Toast.LENGTH_SHORT).show();
                        break;
                }    }  };
        @Override
        protected void onCreate(@NullableBundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.login_demo);
            password= (EditText) findViewById(R.id.editText);
            login= (Button) findViewById(R.id.button);
            phone= (EditText) findViewById(R.id.editText3);
            login.setOnClickListener(newView.OnClickListener() {
                @Override
                public void onClick(View v) {
                    xxx();   }    });   }
        private void xxx() {
            newThread(newRunnable() {
                @Override
                public void run() {
                    String msg ="";
                    try{
                        String phone1 =phone.getText().toString().trim();
                        String pw =password.getText().toString().trim();
                        String url ="http://10.0.2.2:8888/AndroidLogin/login/"+
                                "AndroidLogin?phone="+phone1+"&password="+pw+"";
                        HttpURLConnection conn = (HttpURLConnection)newURL(url).openConnection();
                        //设置请求方式,请求超时信息
                        conn.setRequestMethod("POST");
                        conn.setReadTimeout(5000);
                        conn.setConnectTimeout(5000);
                        //设置运行输入,输出:
                        conn.setDoOutput(true);
                        conn.setDoInput(true);
                        //Post方式不能缓存,需手动设置为false
                        conn.setUseCaches(false);
                        if(conn.getResponseCode() ==200) {
                            //使用httpClient发送post请求
                            HttpClient httpClient = newDefaultHttpClient();
                            HttpPost post =newHttpPost(url);
                            HttpResponse httpResponse = httpClient.execute(post);
                            String result = EntityUtils.toString(httpResponse.getEntity());
                            if(result.equals("true")){
                                Message message1 =newMessage();
                                message1.what=1;
                                handler.sendMessage(message1);
                            }else{
                                Message message1 =newMessage();
                                message1.what=0;
                                handler.sendMessage(message1);
                            }
                        }
                    }catch(Exception e) {
                        e.printStackTrace();   }    }    }).start();   }   }

    五、启动模拟器,分别输入123123/123123,点击“登录”按钮,效果,如图。

     

    展开全文
  • Android服务器——TomCat服务器的搭建

    万次阅读 多人点赞 2016-01-24 22:58:00
    Android服务器——TomCat服务器的搭建 作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实tomcat也是很简单的,接下来...

    Android服务器——TomCat服务器的搭建


    作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实tomcat也是很简单的,接下来,我们就一起来搭建一下吧

    1.官网

    http://tomcat.apache.org/

    这里写图片描述

    2.下载

    这里写图片描述

    这里我们需要知道一点,tomcat的版本是根据你安装的JDK版本来的,所以我们打开cmd,输入java -version来查看自己的jdk版本

    这里写图片描述

    这里写图片描述

    这里我是8,所以tomcat也是下载8

    3.安装

    直接解压就可以了,这里建议解压在C盘

    4.配置TomCat环境变量

    还是根据JDK的环境变量的配置方法,我们新建一个CATALINA_HOME,填上你的路径

    这里写图片描述

    5.测试

    我们进入C:\apache-tomcat-8.0.30\bin目录下,打开startup.bat

    这里写图片描述

    然后在浏览器输入http://localhost:8080/,只要看到下图就说没配置成功了

    这里写图片描述

    这里的localhost代表的是本机的IP,你也自己自己输入本机的ip,只要在输入框输入ipconfig就可以

    这里写图片描述

    6.存放数据

    我们这个时候只要进入C:\apache-tomcat-8.0.30\webapps,然后新建一个自己的文件夹,就可以存放图片或者其他的数据了,然后通过tomcat读取出来,这里我们新建一个lgl的文件夹,然后从C:\apache-tomcat-8.0.30\webapps\ROOT目录下拷贝一个WEB-INF文件夹放在里面就算是配置好了,拿我们怎么使用呢?直接在lgl文件夹下放一张图片

    这里写图片描述

    然后在浏览器中输入地址http://localhost:8080/lgl/photo.png就可以了

    这里写图片描述

    好的,服务器搭建完了,我们是不是要拿他来做点事情呢?肯定要的,我们后面会讲到,暂时闲到这里咯,觉得好的点个赞哟!

    展开全文
  • Android的连接服务器

    千次阅读 2018-03-21 21:38:47
    网络地址的获取1. 创建方法, 网络地址的获取开发步骤:3. 访问网络是一个敏感的操作 需要网络使用的权限java.net.SocketException:socket failed: EACCES (Permission denied)在AndroidManifest.xml文件中,配置使用...
  • Android程序员搭建一个属于自己的服务器

    万次阅读 多人点赞 2018-04-23 13:51:52
    搭建服务器需要些什么工作 本文所介绍的服务器都是入门级别的,适合移动端同学自己搭建玩玩,还没有达到商业开发水平,大牛请莫见怪。 我们搭建服务器主要有以下几个步骤: 1.搭建开发环境,Intellig + spring-...
  • AndServer,一个Android端的web服务器

    千次阅读 2019-06-15 07:34:56
    大家好,今天跟大家介绍一个让原生Android也可以做Web...AndServer是一个Android端的Web服务器,类似Apache或者Tomcat,但又有不同,它是一个普通的Android Library,Android项目Gradle远程依赖或者添加Jar包皆可...
  • Android服务器

    2020-06-23 14:18:48
    Android作为web服务器前言新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants...
  • 所以在学习了这部分内容后,就将其以最常见的登录过程为例整理出来,也方便跟我一样的新手能迅速学习上手。...博客分一二两篇,第一篇是服务器端,第二篇是Android客户端 而服务器端分为User model、Use
  • Android服务器端开发

    千次阅读 2016-09-16 16:00:14
    Android服务器端开发 html/css:制作静态页面 servlet:动态页面 看界面与服务器之间有没有数据的交互 Web开发里面的模式 C/S:客服端/服务器端 优点:安全性高,客户端是可以分担服务器端的一些功能模块 ...
  • Android 服务器消息推送技术

    千次阅读 2012-05-14 17:09:44
    在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的...
  • Android服务器时间校准

    千次阅读 2014-03-03 13:31:23
    Android服务器时间与客户端时间的校准 由于Android的时间可以由用户调整,然后有时候时间的同步的需求,所以如何进行时间与服 务器的校准可能就是一个比较恶心的问题。 之前想到的比较简单(单位为毫秒),大概...
  • Android服务器环境apk打包shell脚本

    千次阅读 2019-03-16 10:02:38
    背景:18年底入职一家创业4年的公司,除去丢弃的一款购物类...从开发手里接过测试环境,连终端App打包服务器,都可以自己打包,即使开发在jenkins集成自动打包发包,android打包工具gradlew: #!/bin/sh read -p...
  • Android开发者如何搭建服务器

    万次阅读 多人点赞 2017-09-01 11:19:21
    Android 开发者有时也可以通过开发javaweb项目写接口然后供APP 调用,这时候你就需要一个服务器去发布接口项目,那么Android 开发者如何搭建自己的服务器?首先你需要选择一个服务器提供商,现在市面上有很多云端...
  • 1.已经安装JDK环境 2.tomcat下载安装(windows为例,根据系统选择位数) ... 本例解压到G盘,注意目录...3.双击startup.bat后,本地服务器已经搭建起来,浏览器中输入http://localhost:8080/,如果出现以下界面说明安装成功
  • 使用Eclipse搭建简易Android服务器

    万次阅读 2015-07-31 12:14:49
    一直都想做一些自己的app奈何多数功能都需要借助于服务器才能实现,... 这篇文章只是简单介绍下如何使用Java搭建Android服务器,刚学习不久,有不足之处欢迎指出,共同进步!  一、环境搭建  1、 所需软件列表  
  • 自己动手——快速搭建前后端分离应用服务器

    万次阅读 多人点赞 2017-05-08 11:33:17
    Motivation 我写这套帖子的目的,是在自己学会、实现...我在学习编写自己的Android应用程序服务器的时候遇到过以下的问题: 1.我需要准备什么? 2.我该选择哪一套实现方案? …… 这些问题的搜索和查证都...
  • Android 连接服务器 获取数据

    千次阅读 2019-06-04 22:30:33
    作为Android初学者,在做这个小项目时着实是费了许多的力气,开始学习Android仅仅是因为有点兴趣,觉得挺有意思的。这篇博客主要是说说 我做这个app的心路历程和一些实现的过程,如有错误,还请多多指正。现在步入...
  • android简单服务器的搭建

    千次阅读 2017-02-08 08:31:58
    以前一直以为做android只需要写好app就可以,这次发行可以尝试服务器的编写,也让我学会了做android开发不仅要写好客户端,服务器最好也要会一点。由于此次博客会比较难懂,有问题的人可以给我留言,我看到后会恢复...
  • 这段时间自己写的一段代码,是安卓中最常见的操作:客户端向服务器发出请求,服务器根据请求信息,将数据库中的数据封装发往客户端,客户端将数据解析,显示在listview中。我的本意是仿照网易新闻客户端做成他那样...

空空如也

1 2 3 4 5 ... 20
收藏数 241,362
精华内容 96,544
关键字:

android服务器