构建专属于自己的云图库

我的云图库

以下的基于安卓客户端和linux服务端,服务端将数据转化成json数据,在安卓端进行接受以及转化成我们需要的数据的类型。

前提

​ 1.一台装有tomcat(配置好远程部署)的服务器(本机也可以,访问的地址要改成 10.0.2.2,绝对不能是127.0.0.1或者localhost,如果处在局域网内要根据实际情况调整)。

​ 2.需要的jar包:谷歌公司提供的Gson.jar包,以及web服务端所会用到的common-io和common-fileupload架包。这不提供链接,自己去maven官网上面下载。

​ 3.会基础的Java和web知识。。。

正文

一,首先构建服务端的代码,将客户端要访问的数据转化为json数据类型。

1.首先构造两个类,class类和image类

class类:

package android.Bean;

public class ClassBean {
   
    private int ID;
    private String ClassName;

    public int getID() {
   
        return ID;
    }

    public String getClassName() {
   
        return ClassName;
    }

    public void setID(int ID) {
   
        this.ID = ID;
    }

    public void setClassName(String className) {
   
        ClassName = className;
    }
}

imagebean的类:byte数组是用来存放图片的二进制数据,在客户端进行转化

package android.Bean;


public class ImageBean {
   
	private int id;
	private String Imagename;
	private int classid;
	private String filepath;
	private byte[] data;

	public byte[] getData() {
   
		return data;
	}

	public void setData(byte[] data) {
   
		this.data = data;
	}

	public void setId(int id) {
   
		this.id = id;
	}

	public void setImagename(String imagename) {
   
		Imagename = imagename;
	}

	public void setClassid(int classid) {
   
		this.classid = classid;
	}

	

	public void setFilepath(String filepath) {
   
		this.filepath = filepath;
	}

	public int getId() {
   
		return id;
	}

	public String getImagename() {
   
		return Imagename;
	}

	public int getClassid() {
   
		return classid;
	}

	public String getFilepath() {
   
		return filepath;
	}
}

2,与数据库的交互的操作,数据库的连接的代码不予展示(Java基本功)

package servlet;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.util.List;
import java.util.Map;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import android.Bean.ClassBean;
import android.Bean.ImageBean;
import utils.jdbcutils;

public class ClassDao {
   
	public static List<ClassBean> getBigShopList() {
   
		String sql = "Select * From classinfo order by id asc";
		QueryRunner runner = new QueryRunner();
		Connection conn = null;
		List<ClassBean> userList = null;
		try {
   
			conn = jdbcutils.getConn();
			userList = runner.query(conn, sql, new BeanListHandler<ClassBean>(ClassBean.class));
		} catch (Exception e) {
   
			e.printStackTrace();
		} finally {
   
			jdbcutils.tryClose(null, conn);
		}
		return userList;
	}

	public static Boolean AddClass(String classname) {
   
		Statement stmt = null;
		Connection conn = null;
		int row = 0;
		String sql = "insert into classinfo(classname) values(?)";
		try {
   
			conn = jdbcutils.getConn();
			stmt = conn.createStatement();
			PreparedStatement ps = conn.prepareStatement(sql);
			// 对SQL语句中的第1个参数赋值 g
			ps.setString(1, classname);
			row = ps.executeUpdate();
			ps.close();
		} catch (Exception e) {
   
			e.printStackTrace();
		} finally {
   
			jdbcutils.tryClose(stmt, conn);
		}
		if (row > 0) {
   
			return true;
		} else {
   
			return false;
		}
	}

	public static List<ImageBean> getImage(String classid) {
   
		String sql = "Select * From image where classid="+classid;
		System.out.println(sql);
		QueryRunner runner = new QueryRunner();
		Connection conn = null;
		List<ImageBean> userList = null;
		try {
   
			conn = jdbcutils.getConn();
			userList = runner.query(conn, sql, new BeanListHandler<ImageBean>(ImageBean.class));
		} catch (Exception e) {
   
			e.printStackTrace();
		} finally {
   
			jdbcutils.tryClose(null, conn);
		}
		return userList;
	}

	public static ClassBean getCLass(String classid) {
   
		String sql = "Select * From classinfo where id=" + classid;
		QueryRunner runner = new QueryRunner();
		Connection conn = null;
		List<ClassBean> userList = null;
		try {
   
			conn = jdbcutils.getConn();
			userList = runner.query(conn, sql, new BeanListHandler<ClassBean>(ClassBean.class));
		} catch (Exception e) {
   
			e.printStackTrace();
		} finally {
   
			jdbcutils.tryClose(null, conn);
		}
		ClassBean bean = null;
		for (ClassBean item : userList) {
   
			bean = item;
		}
		return bean;
	}

	public static void SaveWork(Map<String, String> dataMap) {
   
		// TODO Auto-generated method stub
		Connection conn = null;
		PreparedStatement pstmt = null;
		String classid = String.valueOf(dataMap.get("classid"));
		String filename = String.valueOf(dataMap.get("filename"));
		String filepath = String.valueOf(dataMap.get("filepath"));
		StringBuffer insertSQL = new StringBuffer();

		insertSQL.append("Insert Into image(");
		insertSQL.append("classid,filepath,imagename");
		insertSQL.append(") values(");
		insertSQL.append("?,?,? ");
		insertSQL.append(")");

		try {
   
			conn = jdbcutils.getConn();
			pstmt = conn.prepareStatement(insertSQL.toString());

			// 为SQL语句?进行赋值的操作。
			pstmt.setString(1, classid);
			pstmt.setString(2, filepath);
			pstmt.setString(3, filename);
			
			// 执行SQL语句。
			pstmt.executeUpdate(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值