当前位置: 首页 > 面试题库 >

使用JDBC从Android连接到MySQL

司寇季
2023-03-14
问题内容

我用下面的代码连接MySQLlocalhost从Android系统。它仅显示catch部分中给出的操作。我不知道这是否是连接问题。

package com.test1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Test1Activity extends Activity {
    /** Called when the activity is first created. */
    String str="new";
    static ResultSet rs;
    static PreparedStatement st;
    static Connection con;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final   TextView tv=(TextView)findViewById(R.id.user);

        try
        {
            Class.forName("com.mysql.jdbc.Driver");
              con=DriverManager.getConnection("jdbc:mysql://10.0.2.2:8080/example","root","");
            st=con.prepareStatement("select * from country where id=1");
            rs=st.executeQuery();
             while(rs.next())
             {
             str=rs.getString(2);


             }


            tv.setText(str);
            setContentView(tv);
        }
        catch(Exception e)
        {
            tv.setText(str);
        }
    }
}

执行此代码后,它将在avd中显示“新”。

java.lang.management.ManagementFactory.getThreadMXBean, referenced from method com.mysql.jdbc.MysqlIO.appendDeadlockStatusInformation
Could not find class 'javax.naming.StringRefAddr', referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.storeTo
Could not find method javax.naming.Reference.get, referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.initializeFrom

谁能提出一些解决方案?并预先感谢


问题答案:

您无法从本机访问MySQL数据库。编辑:实际上,您也许可以使用JDBC,但不建议使用(或可能不起作用?)…请参阅Android
JDBC不起作用:驱动程序上的ClassNotFoundException

看到

http://www.helloandroid.com/tutorials/connecting-mysql-
database

http://www.basic4ppc.com/forum/basic4android-getting-started-
tutorials/8339-connect-android-mysql-database-
tutorial.html

Android无法直接连接到数据库服务器。因此,我们需要创建一个简单的Web服务,它将请求传递给数据库并返回响应。

http://codeoncloud.blogspot.com/2012/03/android-mysql-
client.html

对于大多数[好]用户来说,这可能很好。但是,想象一下您拥有一个掌握了程序的黑客。我已经对自己的应用程序进行了反编译,并且看到的结果令人恐惧。如果他们将您的用户名/密码发送到数据库并造成严重破坏该怎么办?坏。



 类似资料:
  • 问题内容: 我正在尝试从Java连接到Hive服务器1。很久以前我在这个论坛上发现了一个问题,但这对我不起作用。我正在使用此代码: 这就是指南中显示的代码。我已经在.java的同一路径中复制了hive- metastore,service,jdbc,exec,core和更多.jar。当我编译它时,我得到以下消息: 有人知道这里发生了什么吗? 问题答案: 尝试 代替 希望您在代码中添加了语句

  • 问题内容: 我正在尝试使用JDBC连接到SQL Server 2008。我的SQL Server 2008带有Windows身份验证。 我的代码是 我最终得到ClassNotFoundException。 堆栈跟踪为 问题答案: ClassNotFoundException可能意味着您的类路径中没有可用的SQL * Server驱动程序

  • 我们所面临的问题已在许多文件中得到充分证明https://stackoverflow.com/questions/34189756/warning-about-ssl-connection-when-connecting-to-mysql-database. 从过渡到时,我们就开始面临这个问题。建议的修复方法对我们有效,但我们有一个问题,我们不想更新Java源文件以进行更改,例如从 到 正如在ht

  • 这是我的实体 这是我的主课 这就是我的persistence.xml 堆栈跟踪:

  • 我试着用这个代码, 也许是错误的语法? 它总是得到SQLException并且不会写入日志中的任何内容... 不知道为什么会这样? 原木 03-05 14:18:33.862 8177-8177/com示例。myapplication E/YOUR_APP_LOG_TAG:我收到一个错误java.lang.ClassNotFoundException:com.mysql.jdbc。java.lan

  • 我将DataGrip配置为使用spark安装文件夹中的JDBC库。