Re: Android и MySQL
Добавлено: 11 сен 2013, 23:32
Самостоятельно перевожу свой клиент-серверный проект с делфи на андроид там уж без MySql никак
Добро пожаловать на форум сайта
http://forum.startandroid.ru/
Так именно это и требуетсяFoenix писал(а):Странно звучит, чтоб сервер ставить на андроид, когда у андроида есть своя база данных хорошая, простая и быстрая. Смысл? Да скачайте вы данные с удаленного сервера в базу sqlite и работайте с ней - удобно, быстро.
они же в последней версии добавили работу с андроидом в RAD Studio — XE5, т.ч. теперь можно весь проект на delphi оставить)mozilalvfg писал(а):Самостоятельно перевожу свой клиент-серверный проект с делфи на андроид там уж без MySql никак
нужно знать один маленький секрет Я-то подключаюсьmozilalvfg писал(а):Foenix практическим опытом проверил что с эмулятора к локальному Mysql серверу не подключиться
на том самом, когда пишет, что нет коннекта к серверуFoenix писал(а):на каком ты вообще этапе? что выдается? Пробовал разные варианты библиотеки (не совсем новую ставить?). Запускаешься с устройства или с эмулятора?
1. заменил, появился варнинг: " Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure"mozilalvfg писал(а):Isaev
1. Замените "import java.sql.Connection;" на "import com.mysql.jdbc.Connection;"
2. Замените "Class.forName("com.mysql.jdbc.Driver").newInstance();" на "Class.forName("com.mysql.jdbc.Driver")"
3. в IntelliJ IDEA в папке "libs" правой кнопкой мишки "Add as library"
4. ещё раз напомню для "localhost:3306" сервер MySql должен быть установлен на устройство!
подключайтесь к удалённому серверу MySql "45.128.78.1:3306"
5. на удалённом сервере MySql должен быть пользователь к примеру (не root) adminprog@% для подключения с любого хоста.
6. если у Вас нет доступа до удалённого сервера MySql, создайте виртуальную машину на своём компьютере.
P.S. Могу подключиться к Вам по удалёнке (типа http://www.ammyy.com/ru/ ) и помочь удалённо но должен сперва выполнен обязательно пункт 4 или 6
Код: Выделить всё
09-16 09:31:26.652: INFO/MyActivity(434): === Logging Anfang ===
09-16 09:31:26.672: INFO/MyActivity(434): >>> Thread is created
09-16 09:31:26.712: INFO/MyActivity(434): >>> jdbc.Driver: instance successful
09-16 09:31:26.912: INFO/ActivityManager(59): Displayed activity com.example.Todo_List/.MyActivity: 1195 ms (total 1195 ms)
09-16 09:31:27.542: DEBUG/dalvikvm(434): GC_FOR_MALLOC freed 3358 objects / 198232 bytes in 43ms
09-16 09:31:27.772: WARN/dalvikvm(434): VFY: unable to find class referenced in signature (Ljavax/naming/Reference;)
09-16 09:31:27.772: INFO/dalvikvm(434): Could not find method javax.naming.Reference.get, referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.initializeFrom
09-16 09:31:27.772: WARN/dalvikvm(434): VFY: unable to resolve virtual method 8306: Ljavax/naming/Reference;.get (Ljava/lang/String;)Ljavax/naming/RefAddr;
09-16 09:31:27.782: DEBUG/dalvikvm(434): VFY: replacing opcode 0x6e at 0x0004
09-16 09:31:27.782: DEBUG/dalvikvm(434): VFY: dead code 0x0007-0013 in Lcom/mysql/jdbc/ConnectionPropertiesImpl$ConnectionProperty;.initializeFrom (Ljavax/naming/Reference;Lcom/mysql/jdbc/ExceptionInterceptor;)V
09-16 09:31:27.782: WARN/dalvikvm(434): VFY: unable to find class referenced in signature (Ljavax/naming/Reference;)
09-16 09:31:27.782: ERROR/dalvikvm(434): Could not find class 'javax.naming.StringRefAddr', referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.storeTo
09-16 09:31:27.782: WARN/dalvikvm(434): VFY: unable to resolve new-instance 521 (Ljavax/naming/StringRefAddr;) in Lcom/mysql/jdbc/ConnectionPropertiesImpl$ConnectionProperty;
09-16 09:31:27.782: DEBUG/dalvikvm(434): VFY: replacing opcode 0x22 at 0x0006
09-16 09:31:27.782: DEBUG/dalvikvm(434): VFY: dead code 0x0008-0019 in Lcom/mysql/jdbc/ConnectionPropertiesImpl$ConnectionProperty;.storeTo (Ljavax/naming/Reference;)V
09-16 09:31:27.922: INFO/dalvikvm(434): Could not find method java.lang.management.ManagementFactory.getThreadMXBean, referenced from method com.mysql.jdbc.MysqlIO.appendDeadlockStatusInformation
09-16 09:31:27.922: WARN/dalvikvm(434): VFY: unable to resolve static method 7676: Ljava/lang/management/ManagementFactory;.getThreadMXBean ()Ljava/lang/management/ThreadMXBean;
09-16 09:31:27.922: DEBUG/dalvikvm(434): VFY: replacing opcode 0x71 at 0x0079
09-16 09:31:27.922: DEBUG/dalvikvm(434): VFY: dead code 0x007c-00a9 in Lcom/mysql/jdbc/MysqlIO;.appendDeadlockStatusInformation (Ljava/lang/String;Ljava/lang/StringBuffer;)V
09-16 09:31:27.922: DEBUG/dalvikvm(434): VFY: dead code 0x00ea-020a in Lcom/mysql/jdbc/MysqlIO;.appendDeadlockStatusInformation (Ljava/lang/String;Ljava/lang/StringBuffer;)V
09-16 09:31:32.071: DEBUG/dalvikvm(110): GC_EXPLICIT freed 663 objects / 37224 bytes in 134ms
09-16 09:31:32.221: INFO/MyActivity(434): >>> jdbc.Driver: connect error
09-16 09:31:32.221: INFO/System.out(434): >SQLException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
09-16 09:31:32.221: INFO/System.out(434): >SQLState: 08001
09-16 09:31:32.221: INFO/System.out(434): >VendorError: 0
09-16 09:31:32.221: WARN/System.err(434): com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
09-16 09:31:32.231: WARN/System.err(434): at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1012)
09-16 09:31:32.231: WARN/System.err(434): at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
09-16 09:31:32.231: WARN/System.err(434): at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
09-16 09:31:32.231: WARN/System.err(434): at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
09-16 09:31:32.241: WARN/System.err(434): at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2388)
09-16 09:31:32.241: WARN/System.err(434): at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2309)
09-16 09:31:32.241: WARN/System.err(434): at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
09-16 09:31:32.241: WARN/System.err(434): at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:412)
09-16 09:31:32.241: WARN/System.err(434): at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
09-16 09:31:32.241: WARN/System.err(434): at java.sql.DriverManager.getConnection(DriverManager.java:191)
09-16 09:31:32.241: WARN/System.err(434): at com.example.Todo_List.MyActivity$1.run(MyActivity.java:49)
09-16 09:31:32.251: WARN/System.err(434): at java.lang.Thread.run(Thread.java:1096)
09-16 09:31:32.251: WARN/System.err(434): Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure
09-16 09:31:32.251: WARN/System.err(434): [ 09-16 09:31:32.251 434:0x1b9 W/System.err ]
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
09-16 09:31:32.261: WARN/System.err(434): at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
09-16 09:31:32.261: WARN/System.err(434): at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:357)
09-16 09:31:32.261: WARN/System.err(434): at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2482)
09-16 09:31:32.261: WARN/System.err(434): at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2327)
09-16 09:31:32.261: WARN/System.err(434): ... 7 more
09-16 09:31:32.261: WARN/System.err(434): Caused by: java.net.ConnectException: localhost/127.0.0.1:3306 - Connection refused
09-16 09:31:32.261: WARN/System.err(434): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254)
09-16 09:31:32.261: WARN/System.err(434): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:219)
09-16 09:31:32.261: WARN/System.err(434): at java.net.Socket.startupSocket(Socket.java:781)
09-16 09:31:32.271: WARN/System.err(434): at java.net.Socket.<init>(Socket.java:316)
09-16 09:31:32.271: WARN/System.err(434): at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
09-16 09:31:32.271: WARN/System.err(434): at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:307)
09-16 09:31:32.271: WARN/System.err(434): ... 9 more
09-16 09:31:32.271: INFO/MyActivity(434): >>> jdbc.Driver: close error (попытка закрытия не созданного соединения)
09-16 09:31:32.271: INFO/System.out(434): >NullPointerException: null
09-16 09:31:32.271: WARN/System.err(434): java.lang.NullPointerException
09-16 09:31:32.271: WARN/System.err(434): at com.example.Todo_List.MyActivity$1.run(MyActivity.java:62)
09-16 09:31:32.271: WARN/System.err(434): at java.lang.Thread.run(Thread.java:1096)
мы вот его уже 3 страницы пытаемся выпросить... партизанка)Foenix писал(а):нужно знать один маленький секрет Я-то подключаюсьmozilalvfg писал(а):Foenix практическим опытом проверил что с эмулятора к локальному Mysql серверу не подключиться
Код: Выделить всё
10.0.2.2 localhost
Код: Выделить всё
emulator -avd ИМЯ_ЭМУЛЯТОРА -partition-size 512
Код: Выделить всё
adb remount
adb pull /system/etc/hosts c:\hosts
xcopy "e:\Android\android-sdk\hosts" "c:\"
adb push c:\hosts /system/etc
они же в последней версии добавили работу с андроидом в RAD Studio — XE5, т.ч. теперь можно весь проект на delphi оставить)[/quote]mozilalvfg писал(а):Самостоятельно перевожу свой клиент-серверный проект с делфи на андроид там уж без MySql никак
rutrackermozilalvfg писал(а):Для всех новичков решил создать виртуальною машину для изучения работы с MySql сервером + Eclipse + инсталлировавшим драйвером Jdbc. Подскажите на каком ресурсе лутьше выложить, чюствую архив получится 10G точно.