提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
这个学期开了Android App开发的课程,下下周就要做课程设计了。
因为想做一个在线的App,所以想连接云服务器上的数据库;上网找了好久,终于找到一篇文章并实现了此功能,特此记录一下。
参考文章:lhttps://www.jianshu.com/p/681dfc6d113f.
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境准备
1. JDK.
2. Android Studio.
3. java连接mysql.jar包.
二、项目代码
1.创建工程
2.导入jar包
build.gradle:
dependencies {
...
implementation files('libs/mysql-connector-java-5.1.47.jar')
}
3.配置网络权限
src/main/AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.cmysql">
<uses-permission android:name="android.permission.INTERNET" />
<application>
...
</application>
</manifest>
4.页面布局文件
src/main/res/layout/activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/tv_hello" />
</LinearLayout>
5.Activity代码
src/main/res/layout/activity_main.xml:
package com.example.cmysql
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import kotlinx.android.synthetic.main.activity_main.*
import java.sql.Connection
import java.sql.DriverManager
import java.sql.SQLException
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
tv_hello.setOnClickListener {
Thread(Runnable {
val sql = "SELECT * FROM users"
mysqlConnection(sql)
}).start()
}
}
/**
* 连接数据库
*/
fun mysqlConnection(sql:String) {
var cn: Connection
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver")
//建立连接
cn = DriverManager.getConnection("jdbc:mysql://39.99.141.184:3306/jdbc",
"ccsu", "123456")
val ps = cn.createStatement()
val resultSet = ps!!.executeQuery(sql)
while (resultSet.next()) {
Log.d("mysqlConnection: " , resultSet.getString("id") +
resultSet.getString("name") +
resultSet.getString("password")+resultSet.getString("email"))
}
if (ps != null) {
ps!!.close()
}
if (cn != null) {
cn.close()
}
} catch (e: ClassNotFoundException) {
e.printStackTrace()
} catch (e: SQLException) {
e.printStackTrace()
}
}
}
总结
这个项目仅实现了访问mysql数据库并查询数据,其他更多功能可以根据自我需求进行代码实现。