- Andorid Studio
- MySql8
- JDBC依赖mysql-connector-java-5.1.49.jar
项目的构造截图
2、简单安卓页面编写
由于我们连接数据库,需要对数据库进行增删改查等 *** 作,所以需要编写一个简单的页面
3、编写一个连接数据库的类
我们需要编写一个连接数据库的类,可以通过Url、Driver、User、Password进行连接
package com.example.chi;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
public class DBUtils {
private static Connection conn=null;
private static final String TAG = "DBUtils";
public static int getConnection(){
String url="jdbc:mysql://192.168.137.43:3306/zxcfruiter?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";
/*电脑的IP地址*/
/*数据库名字*/
String user="root1";/*数据库用户名*/
String password="123456789";/*进入数据库的密码*/
int count = 0;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,password);
String sql = "select count(*) as sl from user";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
count = rs.getInt("sl");
}
}catch (Exception e){
e.printStackTrace();
}
return count;
}
}
4、编写主程序
package com.example.chi;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button btu_query_count;
private TextView tv_user_count;
private Handler handler = new Handler(){
@Override
public void handleMessage(@NonNull Message msg){
if(msg.what == 0){
int count = (Integer)msg.obj;
tv_user_count.setText("用户数据库中的用户数量为:"+count);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DBUtils.getConnection();
initView();
}
private void initView(){
btu_query_count = findViewById(R.id.but_query_count);
tv_user_count = findViewById(R.id.tv_user_count);
btu_query_count.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.but_query_count: //查询数量。执行查询
doQueryCount();
break;
}
}
//执行查询数量的方法
private void doQueryCount(){
new Thread(new Runnable() {
@Override
public void run() {
int count = DBUtils.getConnection();
Message msg = Message.obtain();
msg.what = 0;
msg.obj = count;
//向主线程发送数据
handler.sendMessage(msg);
}
}).start();
}
}
运行环境,可以直接进行查询
查询结果演示
在这里我们没有明确的抽取出某个类为连接数据库的类,某个类是编写SQL语句的类,如果有需要,后面可以通过这个项目进行修改,抽取即可。
如果报错,有可能是JAR包的版本与MySQL数据库的版本不符合引起的
注意
- 要注意数据库的密码与账号是正确
- 要注意数据库账号的权限是否有权限
- 要注意IP地址的设置,因为我们使用手机端运行程序,属于远程访问,所以不能使用127.0.0.1或localhost,需要使用具体的IP地址。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)