Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/27: Рейтинг темы: голосов - 27, средняя оценка - 4.85
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
1

Работа с MySQL

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

Author24 — интернет-сервис помощи студентам
Доброго всем времени суток!

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

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

Заранее благодарю за любой совет
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2013, 20:00
Ответы с готовыми решениями:

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

Работа с mySQL
Есть бд в ней 100-1000 аккаунтов.И каждый аккаунт должен выполнить какое то действия. <?php...

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

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

35
0x5B4C322291BD52AE
96 / 96 / 0
Регистрация: 04.03.2013
Сообщений: 295
18.04.2013, 22:29 21
Author24 — интернет-сервис помощи студентам
NapalmRain, ты в проекте который тестируешь в манифесте прописал права на интернет?
Просто у меня сейчас кроме UnknownHostException больше нечего вот и хотел проверить.
0
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
18.04.2013, 22:38  [ТС] 22
c4sp3r, можно немного поподробнее про манифест? Я в этом, мягко говоря, плохо понимаю.
0
0x5B4C322291BD52AE
96 / 96 / 0
Регистрация: 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
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
18.04.2013, 23:05  [ТС] 24
Добавил в манифест доступ к интернету, ситуация, увы, не изменилась.
0
0x5B4C322291BD52AE
96 / 96 / 0
Регистрация: 04.03.2013
Сообщений: 295
18.04.2013, 23:10 25
NapalmRain, в логах тоже самое?
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.04.2013, 23:11 26
Логи нужно смотреть в вкладке LogCat если что.
0
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
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
1162 / 986 / 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
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
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
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.04.2013, 21:10 30
Цитата Сообщение от c4sp3r Посмотреть сообщение
тебе нужно просто скопировать его в папку libs
...

Добавлено через 3 минуты
в том проекте, что вы выкладывали, не было такой проблемы.
0
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
19.04.2013, 22:00  [ТС] 31
А, понял, косяк в коннекторе, видимо, Ставил другую версию, а в ней класс называется иначе, подключил последнюю версию, эта ошибка исчезла.
Всё приятно преобразилось...
Код:
Java
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
30
31
32
33
34
35
36
37
38
39
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();
}
try {
  Log.d("My Logs", "Подключаемся");                    
  conn = DriverManager.getConnection(url, userName, password);
  Log.d("MyLog", "Подключилось");
  Statement s = null;
  s = conn.createStatement();
  Log.d("MyLog", "Отправляем запрос");
  s.executeQuery("Select from users");
  Log.d("MyLog", "Отправили");
  ResultSet rs = null;
  Log.d("MyLog", "Получаем ответ");
  rs = s.getResultSet();
  Log.d("MyLog", "Получили");
  while (rs.next()) {
    int idVal = rs.getInt("id");
    String passN = rs.getString("pass");
    String loginN = rs.getString("login");
    Log.d("MyLog", "логин"+loginN);
  }
  rs.close();
  s.close();
} catch (SQLException e) {
  Log.d("My Logs", "Не получилось");
  e.printStackTrace();
}
И лог:
04-19 17:45:08.264: D/My Logs(372): Подключаем драйвер
04-19 17:45:08.344: D/My Logs(372): Подключили
04-19 17:45:08.344: D/My Logs(372): Подключаемся
04-19 17:45:15.196: D/MyLog(372): Подключилось
04-19 17:45:15.196: D/MyLog(372): Отправляем запрос
04-19 17:45:15.317: D/My Logs(372): Не получилось
Мы уже пробились до сервера,
хотелось бы понять, почему не получается отправить запрос на сервер
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.04.2013, 22:07 32
а какой екзепшен?
0
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
19.04.2013, 22:11  [ТС] 33
Всё, я его победил!

Я просто криворучка, в запросе вместо SELECT * FROM написал SELECT FROM, вот и вся беда.

Получил информацию, вывел её в логи. Теперь надо дальше разрабатывать дальше идею.

Огромное всем спасибо за помощь!
0
Zevill
24.04.2013, 18:14 34
Если не жалко, выложи получившийся проект.
Или скинь на мыло evil070@mail.ru
Буду очень признателен!
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
25.04.2013, 15:35  [ТС] 35
Zevill, хорошо. Постараюсь выложить сегодня-завтра
1
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
06.05.2013, 09:44  [ТС] 36
Вот мой тестовый проект, если кому пригодится
http://yadi.sk/d/-OL7nnqU4a2em
1
06.05.2013, 09:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2013, 09:44
Помогаю со студенческими работами здесь

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

Работа с mysql
Здравствуйте, возникла небольшая проблема с работой mysql. Нужно реализовать проверку, но не знаю...

работа с Mysql
Зравствуйте, господа! Интересует как настроить lotus на работу с MySQL. Что для этого нужно?...

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


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru