gpt4 book ai didi

android - 在不使用webservice的情况下在android中连接外部数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:42:07 25 4
gpt4 key购买 nike

我知道之前也有人问过这个问题,但我想知道我们是否可以在不使用网络服务的情况下从 Android 设备连接到外部数据库(例如 mySQL)

  1. 我已经使用 webservice 构建了应用程序,但现在他们要求我们在不使用 webservice 的情况下构建它。

  2. 任何人都可以知道或提供任何引用吗?

  3. 我有关于数据库位置的所有必需数据,即服务器名称、数据库名称等。

实际上,根据我的要求,我正在下载 xml 并使用 web 服务,该服务将包含连接字符串、数据库名称、服务器名称、用户名、密码等所有详细信息,但连接将在运行时完成。

最佳答案

是的,您可以直接连接到远程数据库。不过我不确定它的安全性。

试试这个:

  1. 下载MySQL JDBC

  2. 将 .jar 文件添加到您的 Android 项目中并将其添加为库。

  3. 创建一个扩展 AsyncTask 的类并执行其中的方法。

public class connectToServer extends AsyncTask<String, String, String>{

@Override
protected String doInBackground(String... args) {

try {
connect();
} catch (Exception e) {
Log.e("Error", e.toString());
}
return null;
}

@Override
protected void onPostExecute(String file_url)
{

}
}

public void connect(){
Log.e("Android", "SQL Connection start");

Connection conn = null;

try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();

String ip = "[your host server]";
String dbName = "[your dbName]";
String user = "[your userName]";
String password = "[your password]";

String connString = "jdbc:mysql://" + ip + "/" + dbName +
"";

conn = DriverManager.getConnection(connString, user, password);

Log.e("Connection", "Open");
Statement statement = conn.createStatement();
ResultSet set = statement.executeQuery("Select * from [table]");
statement.setQueryTimeout(0);

while(set.next())
{
Log.e("Data:", set.getString("[column_name]"));
}
}catch(Exception e)
{
Log.e("Error connection", e.toString());
}

}//end method

关于android - 在不使用webservice的情况下在android中连接外部数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15127788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com