在实际项目中,一般很少直接访问MySQL数据库,一般情况下会通过http请求将数据传送到服务端,然后在服务端连接mysql数据库。

在android 中,会通过使用Jdbc 连接MySQL 服务器

public class MySqlHelp {
public static boolean InsertSql(String Bc,String lr,String rr,String TestDate)
{
com.yy.eye.lib.DB.MySqlSetting mySqlSetting=mDBUtil.queryFirstOrDefault();
String url_1="jdbc:mysql://127.0.0.1:3306/dbName";
String UserName_1="abc";
String pass_1="abc";
try {
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection cn= DriverManager.getConnection(url_1,UserName_1,pass_1);
String sql = "INSERT INTO checkresult(bc,lf,ft,td,)Values("+Bc+","+lr+","+rr+","+TestDate")" ;
Statement st=(Statement)cn.createStatement();
result=st.execute(sql);
result=true;
cn.close();
st.close();
} catch (ClassNotFoundException e) {
result=false;
// e.printStackTrace();
} catch (SQLException e) {
//e.printStackTrace();
result=false;
}
return result;
}
}

需要注意的是使用jdbc需要赋予项目权限

在AndroidManifest.xml 中,添加

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

在调用Mysql时,需要使用线程

new Thread(new Runnable() {             @Override             public void run() {      flag1= MySqlHelp.InsertSql(bc,lR,rR,dt);                     Message msg = Message.obtain();                     msg.what = 0;                     Handler.sendMessage(msg);             }         }).start();

线程执行后,可以使用handle作信息处理

private Handler Handler = new Handler() {         public void handleMessage(android.os.Message msg) {             if (msg.what == 0 ) {                 Toast.makeText(ViewTest.this, "提交成功", Toast.LENGTH_SHORT).show();                 InitEye();             }         }     };

在build.gradle 的dependencies中添加


compile files('libs/mysql-connector-java-5.0.8-bin.jar')


程序包需要手动下载

其它参考:

Android 连接MySQL数据库并进行增删改查操作


1.Android 连接MySQL数据库

public class DBOpenHelper {


private static String driver = "com.mysql.jdbc.Driver";//MySQL 驱动

private static String url = "jdbc:mysql://IP:3306/数据库";//MYSQL数据库连接Url

private static String user = "root";//用户名

private static String password = "root";//密码


/**

* 连接数据库

* */


public static Connection getConn(){

Connection conn = null;

try {

Class.forName(driver);//获取MYSQL驱动

conn = (Connection) DriverManager.getConnection(url, user, password);//获取连接

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return conn;

}


/**

* 关闭数据库

* */


public static void closeAll(Connection conn, PreparedStatement ps){

if (conn != null) {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (ps != null) {

try {

ps.close();

} catch (SQLException e) {

e.printStackTrace();

}

}


}


/**

* 关闭数据库

* */


public static void closeAll(Connection conn, PreparedStatement ps, ResultSet rs){

if (conn != null) {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (ps != null) {

try {

ps.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (rs != null) {

try {

rs.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}


}

2.增删改查

public class DBService {


private Connection conn=null; //打开数据库对象

private PreparedStatement ps=null;//操作整合sql语句的对象

private ResultSet rs=null;//查询结果的集合


//DBService 对象

public static DBService dbService=null;


/**

* 构造方法 私有化

* */


private DBService(){


}


/**

* 获取MySQL数据库单例类对象

* */


public static DBService getDbService(){

if(dbService==null){

dbService=new DBService();

}

return dbService;

}



/**

* 获取要发送短信的患者信息 查

* */


public List<User> getUserData(){

//结果存放集合

List<User> list=new ArrayList<User>();

//MySQL 语句

String sql="select * from user";

//获取链接数据库对象

conn= DBOpenHelper.getConn();

try {

if(conn!=null&&(!conn.isClosed())){

ps= (PreparedStatement) conn.prepareStatement(sql);

if(ps!=null){

rs= ps.executeQuery();

if(rs!=null){

while(rs.next()){

User u=new User();

u.setId(rs.getString("id"));

u.setName(rs.getString("name"));

u.setPhone(rs.getString("phone"));

u.setContent(rs.getString("content"));

u.setState(rs.getString("state"));

list.add(u);

}

}

}

}

} catch (SQLException e) {

e.printStackTrace();

}

DBOpenHelper.closeAll(conn,ps,rs);//关闭相关操作

return list;

}


/**

* 修改数据库中某个对象的状态 改

* */


public int updateUserData(String phone){

int result=-1;

if(!StringUtils.isEmpty(phone)){

//获取链接数据库对象

conn= DBOpenHelper.getConn();

//MySQL 语句

String sql="update user set state=? where phone=?";

try {

boolean closed=conn.isClosed();

if(conn!=null&&(!closed)){

ps= (PreparedStatement) conn.prepareStatement(sql);

ps.setString(1,"1");//第一个参数state 一定要和上面SQL语句字段顺序一致

ps.setString(2,phone);//第二个参数 phone 一定要和上面SQL语句字段顺序一致

result=ps.executeUpdate();//返回1 执行成功

}

} catch (SQLException e) {

e.printStackTrace();

}

}

DBOpenHelper.closeAll(conn,ps);//关闭相关操作

return result;

}


/**

* 批量向数据库插入数据 增

* */


public int insertUserData(List<User> list){

int result=-1;

if((list!=null)&&(list.size()>0)){

//获取链接数据库对象

conn= DBOpenHelper.getConn();

//MySQL 语句

String sql="INSERT INTO user (name,phone,content,state) VALUES (?,?,?,?)";

try {

boolean closed=conn.isClosed();

if((conn!=null)&&(!closed)){

for(User user:list){

ps= (PreparedStatement) conn.prepareStatement(sql);

String name=user.getName();

String phone=user.getPhone();

String content=user.getContent();

String state=user.getState();

ps.setString(1,name);//第一个参数 name 规则同上

ps.setString(2,phone);//第二个参数 phone 规则同上

ps.setString(3,content);//第三个参数 content 规则同上

ps.setString(4,state);//第四个参数 state 规则同上

result=ps.executeUpdate();//返回1 执行成功

}

}

} catch (SQLException e) {

e.printStackTrace();

}

}

DBOpenHelper.closeAll(conn,ps);//关闭相关操作

return result;

}



/**

* 删除数据 删

* */


public int delUserData(String phone){

int result=-1;

if((!StringUtils.isEmpty(phone))&&(PhoneNumberUtils.isMobileNumber(phone))){

//获取链接数据库对象

conn= DBOpenHelper.getConn();

//MySQL 语句

String sql="delete from user where phone=?";

try {

boolean closed=conn.isClosed();

if((conn!=null)&&(!closed)){

ps= (PreparedStatement) conn.prepareStatement(sql);

ps.setString(1, phone);

result=ps.executeUpdate();//返回1 执行成功

}

} catch (SQLException e) {

e.printStackTrace();

}

}

DBOpenHelper.closeAll(conn,ps);//关闭相关操作

return result;

}


}

---------------------




Android Studio使用JDBC远程连接mysql的注意事项(附示例)


常用软件开发学习资料目录(详见我爱分享资源论坛):

1.经典编程电子书收藏

2.C&C++编程学习资料收藏

3.算法及数据结构(有关c,c++,java)

4.Java开发学习资料收藏

5.Android开发学习资料收藏

6.Python开发学习资料收藏

7.大数据,机器学习,人工智能资料收藏

8.Docker资料收藏







在实际项目中,一般很少直接访问MySQL数据库,一般情况下会通过http请求将数据传送到服务端,然后在服务端连接mysql数据库。

在android 中,会通过使用Jdbc 连接MySQL 服务器

public class MySqlHelp {
public static boolean InsertSql(String Bc,String lr,String rr,String TestDate)
{
com.yy.eye.lib.DB.MySqlSetting mySqlSetting=mDBUtil.queryFirstOrDefault();
String url_1="jdbc:mysql://127.0.0.1:3306/dbName";
String UserName_1="abc";
String pass_1="abc";
try {
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection cn= DriverManager.getConnection(url_1,UserName_1,pass_1);
String sql = "INSERT INTO checkresult(bc,lf,ft,td,)Values("+Bc+","+lr+","+rr+","+TestDate")" ;
Statement st=(Statement)cn.createStatement();
result=st.execute(sql);
result=true;
cn.close();
st.close();
} catch (ClassNotFoundException e) {
result=false;
// e.printStackTrace();
} catch (SQLException e) {
//e.printStackTrace();
result=false;
}
return result;
}
}

需要注意的是使用jdbc需要赋予项目权限

在AndroidManifest.xml 中,添加

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

在调用Mysql时,需要使用线程

new Thread(new Runnable() {             @Override             public void run() {      flag1= MySqlHelp.InsertSql(bc,lR,rR,dt);                     Message msg = Message.obtain();                     msg.what = 0;                     Handler.sendMessage(msg);             }         }).start();

线程执行后,可以使用handle作信息处理

private Handler Handler = new Handler() {         public void handleMessage(android.os.Message msg) {             if (msg.what == 0 ) {                 Toast.makeText(ViewTest.this, "提交成功", Toast.LENGTH_SHORT).show();                 InitEye();             }         }     };

在build.gradle 的dependencies中添加


compile files('libs/mysql-connector-java-5.0.8-bin.jar')


程序包需要手动下载

其它参考:

Android 连接MySQL数据库并进行增删改查操作


1.Android 连接MySQL数据库

public class DBOpenHelper {


private static String driver = "com.mysql.jdbc.Driver";//MySQL 驱动

private static String url = "jdbc:mysql://IP:3306/数据库";//MYSQL数据库连接Url

private static String user = "root";//用户名

private static String password = "root";//密码


/**

* 连接数据库

* */


public static Connection getConn(){

Connection conn = null;

try {

Class.forName(driver);//获取MYSQL驱动

conn = (Connection) DriverManager.getConnection(url, user, password);//获取连接

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return conn;

}


/**

* 关闭数据库

* */


public static void closeAll(Connection conn, PreparedStatement ps){

if (conn != null) {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (ps != null) {

try {

ps.close();

} catch (SQLException e) {

e.printStackTrace();

}

}


}


/**

* 关闭数据库

* */


public static void closeAll(Connection conn, PreparedStatement ps, ResultSet rs){

if (conn != null) {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (ps != null) {

try {

ps.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (rs != null) {

try {

rs.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}


}

2.增删改查

public class DBService {


private Connection conn=null; //打开数据库对象

private PreparedStatement ps=null;//操作整合sql语句的对象

private ResultSet rs=null;//查询结果的集合


//DBService 对象

public static DBService dbService=null;


/**

* 构造方法 私有化

* */


private DBService(){


}


/**

* 获取MySQL数据库单例类对象

* */


public static DBService getDbService(){

if(dbService==null){

dbService=new DBService();

}

return dbService;

}



/**

* 获取要发送短信的患者信息 查

* */


public List<User> getUserData(){

//结果存放集合

List<User> list=new ArrayList<User>();

//MySQL 语句

String sql="select * from user";

//获取链接数据库对象

conn= DBOpenHelper.getConn();

try {

if(conn!=null&&(!conn.isClosed())){

ps= (PreparedStatement) conn.prepareStatement(sql);

if(ps!=null){

rs= ps.executeQuery();

if(rs!=null){

while(rs.next()){

User u=new User();

u.setId(rs.getString("id"));

u.setName(rs.getString("name"));

u.setPhone(rs.getString("phone"));

u.setContent(rs.getString("content"));

u.setState(rs.getString("state"));

list.add(u);

}

}

}

}

} catch (SQLException e) {

e.printStackTrace();

}

DBOpenHelper.closeAll(conn,ps,rs);//关闭相关操作

return list;

}


/**

* 修改数据库中某个对象的状态 改

* */


public int updateUserData(String phone){

int result=-1;

if(!StringUtils.isEmpty(phone)){

//获取链接数据库对象

conn= DBOpenHelper.getConn();

//MySQL 语句

String sql="update user set state=? where phone=?";

try {

boolean closed=conn.isClosed();

if(conn!=null&&(!closed)){

ps= (PreparedStatement) conn.prepareStatement(sql);

ps.setString(1,"1");//第一个参数state 一定要和上面SQL语句字段顺序一致

ps.setString(2,phone);//第二个参数 phone 一定要和上面SQL语句字段顺序一致

result=ps.executeUpdate();//返回1 执行成功

}

} catch (SQLException e) {

e.printStackTrace();

}

}

DBOpenHelper.closeAll(conn,ps);//关闭相关操作

return result;

}


/**

* 批量向数据库插入数据 增

* */


public int insertUserData(List<User> list){

int result=-1;

if((list!=null)&&(list.size()>0)){

//获取链接数据库对象

conn= DBOpenHelper.getConn();

//MySQL 语句

String sql="INSERT INTO user (name,phone,content,state) VALUES (?,?,?,?)";

try {

boolean closed=conn.isClosed();

if((conn!=null)&&(!closed)){

for(User user:list){

ps= (PreparedStatement) conn.prepareStatement(sql);

String name=user.getName();

String phone=user.getPhone();

String content=user.getContent();

String state=user.getState();

ps.setString(1,name);//第一个参数 name 规则同上

ps.setString(2,phone);//第二个参数 phone 规则同上

ps.setString(3,content);//第三个参数 content 规则同上

ps.setString(4,state);//第四个参数 state 规则同上

result=ps.executeUpdate();//返回1 执行成功

}

}

} catch (SQLException e) {

e.printStackTrace();

}

}

DBOpenHelper.closeAll(conn,ps);//关闭相关操作

return result;

}



/**

* 删除数据 删

* */


public int delUserData(String phone){

int result=-1;

if((!StringUtils.isEmpty(phone))&&(PhoneNumberUtils.isMobileNumber(phone))){

//获取链接数据库对象

conn= DBOpenHelper.getConn();

//MySQL 语句

String sql="delete from user where phone=?";

try {

boolean closed=conn.isClosed();

if((conn!=null)&&(!closed)){

ps= (PreparedStatement) conn.prepareStatement(sql);

ps.setString(1, phone);

result=ps.executeUpdate();//返回1 执行成功

}

} catch (SQLException e) {

e.printStackTrace();

}

}

DBOpenHelper.closeAll(conn,ps);//关闭相关操作

return result;

}


}

---------------------



Android Studio使用JDBC远程连接mysql的注意事项(附示例)


常用软件开发学习资料目录(详见我爱分享资源论坛):

1.经典编程电子书收藏

2.C&C++编程学习资料收藏

3.算法及数据结构(有关c,c++,java)

4.Java开发学习资料收藏

5.Android开发学习资料收藏

6.Python开发学习资料收藏

7.大数据,机器学习,人工智能资料收藏

8.Docker资料收藏