Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.63
NapalmRain
38 / 38 / 3
Регистрация: 18.05.2010
Сообщений: 631
#1

Работа с MySQL - Программирование Android

14.04.2013, 20:00. Просмотров 3993. Ответов 35
Метки нет (Все метки)

Доброго всем времени суток!

На мобильные системы не программировал никогда.
Есть большой опыт программирования на Delphi и С++, но сейчас возникла необходимость написать программу пом смартфон. Смысл программки достаточно прост, нужно просто обратиться к удалённому MySQL серверу, получить с него данные и отобразить. В качестве среды разработки буду использовать SDK гугловкий.

Прошу подсказать либо литературу по этому вопросу, либо может кусочек кода, что бы было понятно, куда вообще нужно копать.

Заранее благодарю за любой совет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 20:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с MySQL (Программирование Android):

Работа с БД MySQL (MySQL + BCB 6) - C++ Builder БД
Почитал все что нашел в поиске... все сделал, как писали умные люди.. все заработало, но есть проблемка: При активировании SQLConnection...

Работа с MySql - Delphi БД
Всем привет! Прошу помощи. Попробовал перейти с акцеса на MySql, но появился вопрос как в MySql связать таблица между собой и нужно ли...

Работа с MySQL - Visual C++ БД
Как соединиться с MySQL через ODBC и OLE DB - есть у кого нибудь пример или дайте ссылку на конкретную литературу для Visual C++ пожалуйста

Работа с MySQL - SQL Server
Получил БД, а не знаю как к ней подключиться. Есть SQL сервер, Порт SQL, База SQL, SQL логин и SQL пароль.

C# и работа с MySQL 5 - C#
Добрый вечер уважаемые форумчане! Я редко завожу тему, но сейчас действительно не нашел никакой информации, пожалуйста, помогите...

Работа с MySQL - C#
Привет, народ! Помогите побороть барьер в виде "работы с БД", никак не могу сделать все корректно. Решил разложить все по полочкам и...

35
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.04.2013, 21:51 #16
запустил ваш проект, первое что увидел - NetworkOnMainThreadException
выносите подключение в отдельный поток, дальше посмотрим.
0
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
18.04.2013, 21:57 #17
NapalmRain, Все таки думаю тебе стоит задуматься а том что мы тебе в начале советовали а не о коннекторе.

Добавлено через 59 секунд
V0v1k, но как у него в манифесте

XML
1
2
3
<uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="10" />
У меня не было этой ошибки ты наверно обновил target.

Добавлено через 2 минуты
Да же если он это исправит там помоему что-то не так именно с коннектором.

Добавлено через 1 минуту
Ну и у него не было там

XML
1
<uses-permission android:name="android.permission.INTERNET"/>
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.04.2013, 22:09 #18
Цитата Сообщение от c4sp3r Посмотреть сообщение
У меня не было этой ошибки ты наверно обновил target.
нет, у меня просто смартфон с андроидом выше API 11.

Цитата Сообщение от c4sp3r Посмотреть сообщение
Да же если он это исправит там помоему что-то не так именно с коннектором.
ну там для некоторых методов вроде нужно Java 7, но не факт что он их затронет.
0
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
18.04.2013, 22:18 #19
NapalmRain, ты можешь дать доступ к БД для проверки, просто мне лень MySQL ставить?
0
NapalmRain
38 / 38 / 3
Регистрация: 18.05.2010
Сообщений: 631
18.04.2013, 22:24  [ТС] #20
c4sp3r, увы, сейчас нет возможности.
Удалённый доступ к серверу временно закрыт, я тестирую на localhost'e
0
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
18.04.2013, 22:29 #21
NapalmRain, ты в проекте который тестируешь в манифесте прописал права на интернет?
Просто у меня сейчас кроме UnknownHostException больше нечего вот и хотел проверить.
0
NapalmRain
38 / 38 / 3
Регистрация: 18.05.2010
Сообщений: 631
18.04.2013, 22:38  [ТС] #22
c4sp3r, можно немного поподробнее про манифест? Я в этом, мягко говоря, плохо понимаю.
0
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
18.04.2013, 22:42 #23
NapalmRain, у тебя в корне проекта есть AndroidManifest.xml добавь туда права на интернет:

XML
1
<uses-permission android:name="android.permission.INTERNET"/>
пример:

AndroidManifest.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.example.rainsystem"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="10" />
    
    <uses-permission android:name="android.permission.INTERNET"/>
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="ru.example.rainsystem.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>


и попробуй не забудь только указать логин и пароль а также хост в MainActivity.java.
1
NapalmRain
38 / 38 / 3
Регистрация: 18.05.2010
Сообщений: 631
18.04.2013, 23:05  [ТС] #24
Добавил в манифест доступ к интернету, ситуация, увы, не изменилась.
0
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
18.04.2013, 23:10 #25
NapalmRain, в логах тоже самое?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.04.2013, 23:11 #26
Логи нужно смотреть в вкладке LogCat если что.
0
NapalmRain
38 / 38 / 3
Регистрация: 18.05.2010
Сообщений: 631
18.04.2013, 23:55  [ТС] #27
V0v1k, да, я знаю.
Да, там тоже самое. тот же набор системных ошибок.
log
04-18 19:54:09.895: W/dalvikvm(329): VFY: unable to find class referenced in signature (Ljavax/naming/Reference
04-18 19:54:09.895: I/dalvikvm(329): Could not find method javax.naming.Reference.get, referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.initializeFrom
04-18 19:54:09.905: W/dalvikvm(329): VFY: unable to resolve virtual method 11693: Ljavax/naming/Reference;.get (Ljava/lang/StringLjavax/naming/RefAddr;
04-18 19:54:09.905: D/dalvikvm(329): VFY: replacing opcode 0x6e at 0x0004
04-18 19:54:09.956: D/dalvikvm(329): VFY: dead code 0x0007-0013 in Lcom/mysql/jdbc/ConnectionPropertiesImpl$ConnectionProperty;.initializeFrom (Ljavax/naming/ReferenceV
04-18 19:54:09.956: W/dalvikvm(329): VFY: unable to find class referenced in signature (Ljavax/naming/Reference
04-18 19:54:09.975: E/dalvikvm(329): Could not find class 'javax.naming.StringRefAddr', referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.storeTo
04-18 19:54:09.975: W/dalvikvm(329): VFY: unable to resolve new-instance 982 (Ljavax/naming/StringRefAddr in Lcom/mysql/jdbc/ConnectionPropertiesImpl$ConnectionProperty;
04-18 19:54:09.975: D/dalvikvm(329): VFY: replacing opcode 0x22 at 0x0006
04-18 19:54:09.975: D/dalvikvm(329): VFY: dead code 0x0008-0019 in Lcom/mysql/jdbc/ConnectionPropertiesImpl$ConnectionProperty;.storeTo (Ljavax/naming/ReferenceV
04-18 19:54:10.135: D/dalvikvm(329): GC_CONCURRENT freed 275K, 50% free 2960K/5831K, external 731K/1038K, paused 11ms+9ms
04-18 19:54:10.895: I/dalvikvm(329): Could not find method java.lang.management.ManagementFactory.getThreadMXBean, referenced from method com.mysql.jdbc.MysqlIO.appendDeadlockStatusInformation
04-18 19:54:10.895: W/dalvikvm(329): VFY: unable to resolve static method 11033: Ljava/lang/management/ManagementFactory;.getThreadMXBean ()Ljava/lang/management/ThreadMXBean;
04-18 19:54:10.895: D/dalvikvm(329): VFY: replacing opcode 0x71 at 0x0079
04-18 19:54:10.895: D/dalvikvm(329): VFY: dead code 0x007c-00a9 in Lcom/mysql/jdbc/MysqlIO;.appendDeadlockStatusInformation (Ljava/lang/String;Ljava/lang/StringBufferV
04-18 19:54:10.916: D/dalvikvm(329): VFY: dead code 0x00ea-020a in Lcom/mysql/jdbc/MysqlIO;.appendDeadlockStatusInformation (Ljava/lang/String;Ljava/lang/StringBufferV
04-18 19:54:11.405: W/System.err(329): com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
04-18 19:54:11.405: W/System.err(329): The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
04-18 19:54:11.414: W/System.err(329): at java.lang.reflect.Constructor.constructNative(Native Method)
04-18 19:54:11.425: W/System.err(329): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
04-18 19:54:11.465: W/System.err(329): at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
04-18 19:54:11.465: W/System.err(329): at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
04-18 19:54:11.465: W/System.err(329): at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:355)
04-18 19:54:11.465: W/System.err(329): at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2479)
04-18 19:54:11.465: W/System.err(329): at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516)
04-18 19:54:11.475: W/System.err(329): at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301)
04-18 19:54:11.475: W/System.err(329): at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
04-18 19:54:11.475: W/System.err(329): at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
04-18 19:54:11.475: W/System.err(329): at java.lang.reflect.Constructor.constructNative(Native Method)
04-18 19:54:11.475: W/System.err(329): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
04-18 19:54:11.485: W/System.err(329): at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
04-18 19:54:11.485: W/System.err(329): at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
04-18 19:54:11.485: W/System.err(329): at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
04-18 19:54:11.485: W/System.err(329): at java.sql.DriverManager.getConnection(DriverManager.java:180)
04-18 19:54:11.494: W/System.err(329): at java.sql.DriverManager.getConnection(DriverManager.java:214)
04-18 19:54:11.504: W/System.err(329): at ru.example.rainsystem.MainActivity.mylogin(MainActivity.java:58)
04-18 19:54:11.504: W/System.err(329): at ru.example.rainsystem.MainActivity.onClick(MainActivity.java:42)
04-18 19:54:11.504: W/System.err(329): at android.view.View.performClick(View.java:2485)
04-18 19:54:11.504: W/System.err(329): at android.view.View$PerformClick.run(View.java:9080)
04-18 19:54:11.515: W/System.err(329): at android.os.Handler.handleCallback(Handler.java:587)
04-18 19:54:11.525: W/System.err(329): at android.os.Handler.dispatchMessage(Handler.java:92)
04-18 19:54:11.525: W/System.err(329): at android.os.Looper.loop(Looper.java:123)
04-18 19:54:11.525: W/System.err(329): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-18 19:54:11.525: W/System.err(329): at java.lang.reflect.Method.invokeNative(Native Method)
04-18 19:54:11.525: W/System.err(329): at java.lang.reflect.Method.invoke(Method.java:507)
04-18 19:54:11.525: W/System.err(329): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-18 19:54:11.535: W/System.err(329): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-18 19:54:11.535: W/System.err(329): at dalvik.system.NativeStart.main(Native Method)
04-18 19:54:11.545: W/System.err(329): Caused by: java.net.ConnectException: localhost/127.0.0.1:3306 - Connection refused
04-18 19:54:11.575: W/System.err(329): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207)
04-18 19:54:11.575: W/System.err(329): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
04-18 19:54:11.575: W/System.err(329): at java.net.Socket.startupSocket(Socket.java:705)
04-18 19:54:11.585: W/System.err(329): at java.net.Socket.<init>(Socket.java:263)
04-18 19:54:11.595: W/System.err(329): at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
04-18 19:54:11.615: W/System.err(329): at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:305)
04-18 19:54:11.615: W/System.err(329): ... 25 more
04-18 19:54:11.935: D/dalvikvm(329): GC_CONCURRENT freed 215K, 48% free 3155K/6023K, external 731K/1038K, paused 6ms+17ms
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.04.2013, 00:26 #28
Цитата Сообщение от NapalmRain Посмотреть сообщение
Caused by: java.net.ConnectException: localhost/127.0.0.1:3306 - Connection refused
сервер отклонил конекшен.
1
NapalmRain
38 / 38 / 3
Регистрация: 18.05.2010
Сообщений: 631
19.04.2013, 20:58  [ТС] #29
Возвращаюсь к вопросу о том, что я что-то не правильно подключаю...

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
try {
  Log.d("My Logs", "Подключаем драйвер");
  Class.forName("com.mysql.jdbc.Driver").newInstance();
  Log.d("My Logs", "Подключили");                  
} catch (InstantiationException e) {
  Log.d("My Logs", "не подключили");
  e.printStackTrace();
} catch (IllegalAccessException e) {
  Log.d("My Logs", "Не подключили, правов маловато");
  e.printStackTrace();
} catch (ClassNotFoundException e) {
  Log.d("My Logs", "Не подключили класс не найден");
  e.printStackTrace();
}
04-19 16:17:48.274: D/My Logs(470): Запускаем поток
04-19 16:17:48.305: D/My Logs(470): Подключаем драйвер
04-19 16:17:48.324: D/My Logs(470): Не подключили класс не найден
Подключал так
import>file system>указал jar файл библиотеки
Java
1
2
3
4
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.04.2013, 21:10 #30
Цитата Сообщение от c4sp3r Посмотреть сообщение
тебе нужно просто скопировать его в папку libs
...

Добавлено через 3 минуты
в том проекте, что вы выкладывали, не было такой проблемы.
0
19.04.2013, 21:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2013, 21:10
Привет! Вот еще темы с ответами:

C++ работа с mysql - C++
По информатике задали РГР: написать программу с БД ( можно выбрать любую ). Т.к. я имею опыт работы с mysql, решил использовать его....

Работа с БД MYSQL - MySQL
Никак не могу понять как работать с mysql. Есть форма: &lt;FORM action=&quot;1.php&quot; method=&quot;post&quot;&gt; &lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt; ...

Работа из C++ с MySQL - Visual C++ БД
Здравствуйте дорогие! Подскажите пожалуйста хорошую литературу по работе с MySQL, чтоб не изобретать колеса, чтоб сразу с &quot;продвинутых&quot;...

Работа с mysql - PHP БД
Здравствуйте есть у меня 5 столбцов Name Size Sace Count Buy Как с пшп записывать данные в эти столбцы и как выводить данные на страницу?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru