android简单服务器的搭建
昨天,组长让我试着搭一个服务器,用于做客户端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简单服务器的搭建相关推荐
- Android开发服务器的搭建
原文链接 http://blog.csdn.net/chwenj/article/details/11906491 第一部分,选取交叉编译的硬件平台 Android的SDK包很大,源码至少3.5G以 ...
- Tomact和MySql搭建android简单服务器
之前已经写了怎么搭建eclipse加tomcat整合成服务器环境,如果有人不知道怎么配置,可以看我的那篇博客. 现在环境搭配好的情况下,在eclipse里新建一个Web工程,在src包下新建一个ser ...
- android 自动更新 服务端,搭建android版本更新服务器使用android系统自带的DownloadManager下载文件...
这几天想自己做一个文件更新的功能,但是由于不知道怎样写服务端,所以一直没有去做,后来发现原来服务端编写简直是太简单了,所以今天就实现了 版本更新的这样一个功能. 一搭建版本更新服务器: 搭建这个一个服 ...
- Android系统开发篇(四) —— Samba服务器的搭建和相关配置
书接上文,上文中我们说到了Android源码的下载和编译,那么为了高效率的操作和便于在Windows系统中去读取和修改源码:我们采用了Samba文件服务器,这个在linux行业里可以必备的技能.当然S ...
- Android服务器——TomCat服务器的搭建 配置TomCat环境变量
Android服务器--TomCat服务器的搭建 作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实t ...
- Android服务器——TomCat服务器的搭建
Android服务器--TomCat服务器的搭建 作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实t ...
- svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器
前提:系统安装nodejs 搭建步骤 使用nodejs搭建服务器,简单的来说可以分为三步: require相应的模块 创建服务器 配置端口 启动服务器 必要的nodejs模块 以下模块都是以 var ...
- android studio开发环境搭建,国内服务器代理下载android sdk
android studio开发环境搭建 1,百度android studio,下载安装: 2,启动Fetching Android SDK component information http:// ...
- 【Android RTMP】RTMP 直播推流 ( 阿里云服务器购买 | 远程服务器控制 | 搭建 RTMP 服务器 | 服务器配置 | 推流软件配置 | 直播软件配置 | 推流直播效果展示 )
文章目录 安卓直播推流专栏博客总结 一. 阿里云服务器购买 二. 远程服务器控制软件 三. 配置 Ubuntu 服务器 1 . 更新 apt 源 2 . 安装 pcre.OpenSSL.zlib 库 ...
最新文章
- 系统集成项目管理工程师软考辅导——3年真题透解与全真模拟
- bzoj3289 mato的文件管理
- 【Tools】CMAKE的使用
- Android Service Security
- 词嵌入 网络嵌入_词嵌入简介
- eslint检测时报错
- WebService、RMI、RPC、XML-RPC、JSON-RPC、SOAP、REST(rest-api、restful)等web服务实现方案概念...
- 2017-2018-1 20155213 20155303 实验二 固件程序设计
- HTML,模仿网易登陆界面
- PySide2 QCheckBox控件应用
- python将word文档转图片_如何将word文档转换为图片
- 【CLion】新手使用之编译运行单个文件
- P3537 [POI2012]SZA-Cloakroom
- 小程序swiper制作分门别类的轮播
- SQL 登录注入脚本_vBulletin再修复高危RCE和SQL注入漏洞
- 图文详情展示html,图文展示新闻网站模板
- redhat 下 oracle 10G RAC 集群 详细安装
- java毕设答辩老师的问题_毕设答辩常见问题(1)
- Verilog转电路图
- DataFountain-图书推荐系统
热门文章
- springmvc参数绑定
- [USACO12FEB]牛的IDCow IDs
- 十个书写Node.js REST API的最佳实践(上)
- Microsoft.XMLHTTP 使用方式
- DB2数据库性能调整和优化(第2版)
- @codeforces - 1106F@ Lunar New Year and a Recursive Sequence
- 结对项目-WordCount
- 各大网站CSS代码初始化集合
- 201621123021《JAVA程序设计》第五周学习总结
- Eming cup Problem D. Game of numbers