昨天,组长让我试着搭一个服务器,用于做客户端app的登录与注册功能。以前一直以为做android只需要写好app就可以,这次发行可以尝试服务器的编写,也让我学会了做android开发不仅要写好客户端,服务器最好也要会一点。由于此次博客会比较难懂,有问题的人可以给我留言,我看到后会恢复,记得点赞。

1.首先,在网上下载eclipse,这是我的下载eclipse的地址:

http://download.csdn.net/download/varyall/9485315

2,下载Tomcat,这是我的下载eclipse的地址:

http://download.csdn.net/detail/u010329101/7816333

3,在eclipse配置Tomcat,具体比较麻烦,只是新建一个web工程,在点击new Running 按钮后把自己Tomcat的路径关联上,具体可以参考这个博客。

http://blog.csdn.net/jiuqiyuliang/article/details/48120725

4,新建一个测试的代码,在scr包下写入服务器代码。

package com;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class Test {
 public static void main(String[] args) throws SQLException {
//  Scanner sc=new Scanner(System.in);
//  System.out.println("请输入姓名");
//  String name=sc.next();
//  System.out.println("请输入性别");
//  String sex=sc.next();
//  System.out.println("请输入年龄");
//  int age=sc.nextInt();
  
  JDBCUtil j=new JDBCUtil();
//  String sql="insert into student values(null,?,?,?,now())";
//  Object[] obj={name,sex,age};

//  String sql="update student set age=age+1 where id=4";
//  Object[] obj=null;
  
//  String sql="delete from student";
//  Object[] obj=null;
  
  String  sql="select * from student";
  ResultSet rs=j.query(sql);
  while(rs.next()){
   int id=rs.getInt(1);
   String n=rs.getString(2);
   String s=rs.getString(3);
   int a=rs.getInt(4);
   String tdate=rs.getString(5);
   System.out.println(id+"\t"+n+"\t"+s+"\t"+a+"\t"+tdate);
   
  }
  
  
//  int k=j.update(sql, obj);
//  if(k!=0){
//   System.out.println("添加成功!");
//  }else{
//   System.out.println("添加失败!");
//  }
  
  
  
 }

}

5,编写android客户端代码。

package com.zviewtech.videonetclient.mclient;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

public class MainActivity extends ActionBarActivity {
private TextView myTextView;
    private Button mBtnConnect;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        myTextView = (TextView) findViewById(R.id.tv_info);
        mBtnConnect=(Button)findViewById(R.id.btn_connect);
        mBtnConnect.setOnClickListener(new View.OnClickListener() {
@Override
            public void onClick(View v) {
new Thread(new Runnable() {
@Override
                    public void run() {
Socket socket = null;
                        try {
//创建一个流套接字并将其连接到指定主机上的指定端口号
                            socket = new Socket("192.168.1.190", 8888);

                            //读取服务器端数据
                            DataInputStream input = new DataInputStream(socket.getInputStream());
                            //向服务器端发送数据
                            DataOutputStream out = new DataOutputStream(socket.getOutputStream());
                            String str = "I am Client";
                            out.writeUTF(str);

                            final String ret = input.readUTF();
                            runOnUiThread(new Runnable() {
@Override
                                public void run() {
myTextView.setText(ret);
                                    Toast.makeText(MainActivity.this,ret,Toast.LENGTH_SHORT).show();
                                }
});
                            System.out.println("服务器端返回过来的是: " + ret);

                            out.close();
                            input.close();
                        } catch (Exception e) {
System.out.println("客户端异常:" + e.getMessage());
                        } finally {
if (socket != null) {
try {
socket.close();
                                } catch (IOException e) {
socket = null;
                                    System.out.println("客户端 finally 异常:" + e.getMessage());
                                }
}
}
}
}).start();

            }
});
    }
}

6,编写布局界面的代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<TextView
    android:id="@+id/tv_info"
    android:text="hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
<Button
    android:layout_below="@+id/tv_info"
    android:text="Connect"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/btn_connect"/>
</RelativeLayout>

由于需要访问网络,注意在manifest文件中加入网络权限

<uses-permission android:name="android.permission.INTERNET"/>

这样,先运行服务器的程序,然后运行android客户端,就可以实现简单的通讯了。

android简单服务器的搭建相关推荐

  1. Android开发服务器的搭建

    原文链接  http://blog.csdn.net/chwenj/article/details/11906491 第一部分,选取交叉编译的硬件平台 Android的SDK包很大,源码至少3.5G以 ...

  2. Tomact和MySql搭建android简单服务器

    之前已经写了怎么搭建eclipse加tomcat整合成服务器环境,如果有人不知道怎么配置,可以看我的那篇博客. 现在环境搭配好的情况下,在eclipse里新建一个Web工程,在src包下新建一个ser ...

  3. android 自动更新 服务端,搭建android版本更新服务器使用android系统自带的DownloadManager下载文件...

    这几天想自己做一个文件更新的功能,但是由于不知道怎样写服务端,所以一直没有去做,后来发现原来服务端编写简直是太简单了,所以今天就实现了 版本更新的这样一个功能. 一搭建版本更新服务器: 搭建这个一个服 ...

  4. Android系统开发篇(四) —— Samba服务器的搭建和相关配置

    书接上文,上文中我们说到了Android源码的下载和编译,那么为了高效率的操作和便于在Windows系统中去读取和修改源码:我们采用了Samba文件服务器,这个在linux行业里可以必备的技能.当然S ...

  5. Android服务器——TomCat服务器的搭建 配置TomCat环境变量

    Android服务器--TomCat服务器的搭建 作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实t ...

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

    Android服务器--TomCat服务器的搭建 作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实t ...

  7. svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器

    前提:系统安装nodejs 搭建步骤 使用nodejs搭建服务器,简单的来说可以分为三步: require相应的模块 创建服务器 配置端口 启动服务器 必要的nodejs模块 以下模块都是以 var ...

  8. android studio开发环境搭建,国内服务器代理下载android sdk

    android studio开发环境搭建 1,百度android studio,下载安装: 2,启动Fetching Android SDK component information http:// ...

  9. 【Android RTMP】RTMP 直播推流 ( 阿里云服务器购买 | 远程服务器控制 | 搭建 RTMP 服务器 | 服务器配置 | 推流软件配置 | 直播软件配置 | 推流直播效果展示 )

    文章目录 安卓直播推流专栏博客总结 一. 阿里云服务器购买 二. 远程服务器控制软件 三. 配置 Ubuntu 服务器 1 . 更新 apt 源 2 . 安装 pcre.OpenSSL.zlib 库 ...

最新文章

  1. 系统集成项目管理工程师软考辅导——3年真题透解与全真模拟
  2. bzoj3289 mato的文件管理
  3. 【Tools】CMAKE的使用
  4. Android Service Security
  5. 词嵌入 网络嵌入_词嵌入简介
  6. eslint检测时报错
  7. WebService、RMI、RPC、XML-RPC、JSON-RPC、SOAP、REST(rest-api、restful)等web服务实现方案概念...
  8. 2017-2018-1 20155213 20155303 实验二 固件程序设计
  9. HTML,模仿网易登陆界面
  10. PySide2 QCheckBox控件应用
  11. python将word文档转图片_如何将word文档转换为图片
  12. 【CLion】新手使用之编译运行单个文件
  13. P3537 [POI2012]SZA-Cloakroom
  14. 小程序swiper制作分门别类的轮播
  15. SQL 登录注入脚本_vBulletin再修复高危RCE和SQL注入漏洞
  16. 图文详情展示html,图文展示新闻网站模板
  17. redhat 下 oracle 10G RAC 集群 详细安装
  18. java毕设答辩老师的问题_毕设答辩常见问题(1)
  19. Verilog转电路图
  20. DataFountain-图书推荐系统

热门文章

  1. springmvc参数绑定
  2. [USACO12FEB]牛的IDCow IDs
  3. 十个书写Node.js REST API的最佳实践(上)
  4. Microsoft.XMLHTTP 使用方式
  5. DB2数据库性能调整和优化(第2版)
  6. @codeforces - 1106F@ Lunar New Year and a Recursive Sequence
  7. 结对项目-WordCount
  8. 各大网站CSS代码初始化集合
  9. 201621123021《JAVA程序设计》第五周学习总结
  10. Eming cup Problem D. Game of numbers