Android и MySQL

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Android и MySQL

Сообщение mozilalvfg » 11 сен 2013, 23:32

Самостоятельно перевожу свой клиент-серверный проект с делфи на андроид там уж без MySql никак
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Android и MySQL

Сообщение Isaev » 16 сен 2013, 09:27

Foenix писал(а):Странно звучит, чтоб сервер ставить на андроид, когда у андроида есть своя база данных хорошая, простая и быстрая. Смысл? Да скачайте вы данные с удаленного сервера в базу sqlite и работайте с ней - удобно, быстро.
Так именно это и требуется
Не конектится почему-то к серверу, и как я понял, mozilalvfg пытается донести, что и не будет конектиться, пока не установишь MySQL server на устройство
Хотя я зависимости не вижу в теории... если мы подключаемся к удалённому серверу, какая разница стоит ли сервер у нас?
mozilalvfg писал(а):Самостоятельно перевожу свой клиент-серверный проект с делфи на андроид там уж без MySql никак
они же в последней версии добавили работу с андроидом в RAD Studio — XE5, т.ч. теперь можно весь проект на delphi оставить)

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android и MySQL

Сообщение Foenix » 16 сен 2013, 09:37

Я с SQL server-а данные беру, с какой стати мне его на устройство ставить, это же смешно
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Android и MySQL

Сообщение Isaev » 16 сен 2013, 10:07

Foenix, так что же у меня не так то? может где-то что-то в манифестах ещё надо?
могу залить полностью проект

http://rghost.net/48777209

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android и MySQL

Сообщение Foenix » 16 сен 2013, 12:03

на каком ты вообще этапе? что выдается? Пробовал разные варианты библиотеки (не совсем новую ставить?). Запускаешься с устройства или с эмулятора?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Android и MySQL

Сообщение mozilalvfg » 16 сен 2013, 12:16

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
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android и MySQL

Сообщение Foenix » 16 сен 2013, 12:21

mozilalvfg, вы его своим 4-м пунктом сбиваете, наверное.
Не нужно тогда писать локалхост, нужно просто адрес сервера указать правильно. Локалхост можно писать, когда с эмулятора подсоединяешься к серверу, допустим, установленному на компе. Виртуальную машину, по-моему не обязательно для этого устанавливать, по кр. мере я не ставила.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Android и MySQL

Сообщение mozilalvfg » 16 сен 2013, 12:29

Isaev логика Вашего кода.

1. загружаю драйвер - Андроид ищет драйвер У СЕБЯ находит и загружает.
2. создаю коннект "localhost:3306" - Андроид ищет У СЕБЯ "localhost:3306" НЕ НАХОДИТ (Вы же запускаете на эмуляторе) И ВЫДАЁТ ОШИБКУ
Андроид не знает что он эмулятор и типа стоит на компьютере!!!

Из выше сказанного выходит для "localhost:3306" нужно установить MySql сервер на устройство (или эмулятор) а для "х.х.х.х:3306" устанавливать MySql сервер ненужно так как Андроид подключается к удалённому серверу MySql.
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Android и MySQL

Сообщение mozilalvfg » 16 сен 2013, 12:32

Foenix практическим опытом проверил что с эмулятора к локальному Mysql серверу не подключиться
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android и MySQL

Сообщение Foenix » 16 сен 2013, 12:34

mozilalvfg писал(а):Foenix практическим опытом проверил что с эмулятора к локальному Mysql серверу не подключиться
нужно знать один маленький секрет :) Я-то подключаюсь
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Android и MySQL

Сообщение mozilalvfg » 16 сен 2013, 12:35

поделитесь пожалуйста :)
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Android и MySQL

Сообщение Isaev » 16 сен 2013, 12:42

Foenix писал(а):на каком ты вообще этапе? что выдается? Пробовал разные варианты библиотеки (не совсем новую ставить?). Запускаешься с устройства или с эмулятора?
на том самом, когда пишет, что нет коннекта к серверу
пробовал последнюю и 5.0 (её в других форумах рекомендовали, многие ошибки с ней пропадали у людей)
с эмулятора
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
1. заменил, появился варнинг: " Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure"
2. заменил, хотя в документации написано, что надо, но работает одинаково
3. добавил
4. хорошо, как его туда установаить тогда?
5. не выйдет, т.к. доступа к базе не имею, доступ только по умолчанию с root и пустым паролем (что не должно создават проблемы, могу написать скрипт на пхп, который успешно работает с базой при данных условиях)
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)
Последний раз редактировалось Isaev 16 сен 2013, 12:47, всего редактировалось 2 раза.

Аватара пользователя
Isaev
Сообщения: 145
Зарегистрирован: 03 сен 2013, 09:39
Откуда: Германия
Контактная информация:

Re: Android и MySQL

Сообщение Isaev » 16 сен 2013, 12:44

Foenix писал(а):
mozilalvfg писал(а):Foenix практическим опытом проверил что с эмулятора к локальному Mysql серверу не подключиться
нужно знать один маленький секрет :) Я-то подключаюсь
мы вот его уже 3 страницы пытаемся выпросить... партизанка)

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android и MySQL

Сообщение Foenix » 16 сен 2013, 12:45

Я не напрашивалась, я просто ходила посмотреть что я там делаю)
Поэтому я у всех спрашиваю в самом начале - вы с эмулятора подключаетесь или нет.
Если с эмулятора, а сервер на компе, то делаем так:
1. Подготавливаем файл hosts, чтоб подменить его на эмуляторе, пишем в нем следующее.

Код: Выделить всё

10.0.2.2		    localhost
кладем его куда-нибудь
2. Запускаем эмулятор, немного увеличив ему партишнсайз

Код: Выделить всё

emulator -avd ИМЯ_ЭМУЛЯТОРА -partition-size 512 
3. Подменяем его на эмуляторе на тот, что подготовили:

Код: Выделить всё

adb remount
adb pull /system/etc/hosts c:\hosts
xcopy "e:\Android\android-sdk\hosts" "c:\"
adb push c:\hosts /system/etc
ну соответственно для автоматизации у меня есть бат-файлы, когда отрабатывает второй - нужно смотреть, чтоб ремаунт успешно произошел (иногда эмулятор не подхватывается adb, нужно будет перезапустить эмулятор снова), именно затем, чтоб задержать выполнение и окно не закрывалось сразу, там нужно нажать Y для копирования.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Android и MySQL

Сообщение mozilalvfg » 16 сен 2013, 12:46

mozilalvfg писал(а):Самостоятельно перевожу свой клиент-серверный проект с делфи на андроид там уж без MySql никак
они же в последней версии добавили работу с андроидом в RAD Studio — XE5, т.ч. теперь можно весь проект на delphi оставить)[/quote]

RAD Studio XE5 уже смотрел ужжжаааааааааззззззззз! багов столько что просто волосы дыбом. XE5 все спецы сходятся во мнении что нормальный кодинг будет где то в XE7-XE8.
Да и я IntelliJ IDEA 12 купил официально а 1300$ со всеми модулями отдать за незаконченный XE5 совесть не позволяет.
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android и MySQL

Сообщение Foenix » 16 сен 2013, 12:46

ах да, если айпи 10.0.2.2 не срабатывает (т.е. подключения все еще нету) то можно попробовать 10.0.2.1 или 10.0.1.2 - ну как-то так поизменять.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Android и MySQL

Сообщение mozilalvfg » 16 сен 2013, 12:50

по 4 пункту можно поставить https://play.google.com/store/apps/deta ... sweb&hl=ru
но лутьше будет настроить удалённый сервер на любом хостинге.
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android и MySQL

Сообщение Foenix » 16 сен 2013, 12:51

Виртуальную машину я не делала, я просто на стороне сервера сделала все что необходимо, чтоб он слушал http и так далее (ну, в общем, чтоб он позволял соединиться). Если сервер не позволяет соединиться, там другие ошибки будут - типа Connection refused или что-нибудь про пароли.., тогда если это получишь то можно уже почти танцевать.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Android и MySQL

Сообщение mozilalvfg » 16 сен 2013, 13:42

Для всех новичков решил создать виртуальною машину для изучения работы с MySql сервером + Eclipse + инсталлировавшим драйвером Jdbc. Подскажите на каком ресурсе лутьше выложить, чюствую архив получится 10G точно.
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Android и MySQL

Сообщение rezak90 » 16 сен 2013, 13:53

mozilalvfg писал(а):Для всех новичков решил создать виртуальною машину для изучения работы с MySql сервером + Eclipse + инсталлировавшим драйвером Jdbc. Подскажите на каком ресурсе лутьше выложить, чюствую архив получится 10G точно.
rutracker
thepiratebay
R.id.team
Политика на форуме запрещена

Ответить