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开发图片的压缩处理

2020-3-13 17:28:27

Android文章

android 屏幕切换监听

2020-3-13 17:44:05

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索