【问题标题】:android making a mysql connection and getting some data backandroid建立一个mysql连接并取回一些数据
【发布时间】:2011-07-09 14:46:51
【问题描述】:

我需要建立一个 mysql 连接并取回一些数据。我可以使用这段代码在 Java 中做到这一点

        try{
                     String username;
                      String password;
                      username = tf.getText();
                      password = tf2.getText();
                    Class.forName("com.mysql.jdbc.Driver").newInstance();
                    Connection con = DriverManager.getConnection("jdbc:mysql://188.181.248.30:3306/test","simon","123");
                    int counter = 0;
                    try{
                      Statement st = con.createStatement();
                      ResultSet res = st.executeQuery("SELECT * FROM  KUNDER");
                   //  System.out.println("NAVN: " + "\t" + "KREDIT: ");
                      while (res.next() && counter ==0) {
                        String i = res.getString("NAVN");
                        String s = res.getString("KREDIT");
                        System.out.println(i + "\t\t" + s);
                        if(username.equals(i)){
                            //stf3.setText("login true");
                    //      System.out.println("username og navn passer sammen et sted");
                            if(password.equals(s)){
                                tf3.setText("login true1");
                    //      System.out.println("pass og navn passer sammen");   
                            counter=10;
                            }else{
                                    tf3.setText("login fail");
                                    counter =10;

                            }
                            }else{
                                //tf3.setText("login fail");
                            }
                      }
                      con.close();
                    }
                    catch (SQLException s){
                        tf3.setText("sql fail");
                      System.out.println("SQL code does not execute.");
                    }    

但是当我尝试在 Android 中执行此操作时,我在尝试启动应用程序时收到错误消息:

[2011-03-06 00:30:04 - sqlLite] 转换为 Dalvik 格式失败,出现错误 1

我现在不知道该怎么办。我一直在网上阅读,但找不到任何可以工作的东西。

【问题讨论】:

  • 能否请您准确粘贴您正在使用的整个代码,并使用更好的缩进?在这段代码中,第一个 try {... 永远不会关闭。

标签: android mysql jdbc webserver driver


【解决方案1】:

不要通过 JDBC 从 Android 访问 MySQL。将您的 MySQL 数据库包装在 Web 服务中,并从 Android 访问该 Web 服务。

【讨论】:

  • 好吧,我不太擅长数据库等等,所以你说我没有理由像我在普通 java 中那样访问我的 mysql 数据库真正的 android ???
  • @simonid:Knego 先生的链接到答案是一个很好的总结。除了他列举的问题之外,JDBC 并非设计用于不稳定的网络连接,例如 3G。我什至会犹豫是否将 JDBC over WiFi 与高度移动的客户端(例如大多数 Android 设备)一起使用。
  • 在我无法忍受的情况下,你们这些家伙说我这一切都是因为 g3 网络的安全性是正确的
【解决方案2】:

【讨论】:

  • 所以我忘记了建立 mysql 连接以检索数据和旋转数据的想法??
  • 是的。正如 CommonsWare 所指出的,您应该通过 WebService(最好是 REST)公开您的数据库。
猜你喜欢
  • 1970-01-01
  • 2015-10-01
  • 2018-01-31
  • 2013-06-12
  • 2021-02-23
  • 1970-01-01
  • 2017-01-05
  • 2016-12-15
  • 2012-07-13
相关资源
最近更新 更多