Необходимо подключиться к внешней БД MySQL в Android приложении, которое бы использовало ресурсы готового сервиса, но без API. Знаю, что это нехорошо, но просто стоит такая задача.
Как это можно сделать?
1 ответ 1
Для того что бы подключится к БД Вам потребуется:
1.Подключить к проекту JDBC Driver для MySQL . Если пользуетесь AS то в зависимостях укажите следующую строку:
2.Перед первым обращением к базе необходимо зарегистрировать драйвер:
Строка com.mysql.jdbc.Driver зависит от подключенного драйвера.
3.Получаем соединение с базой так:
Естественно заменяем hostname, port, dbname, username и password на свои.
PS: и да, не забываем производить соединение и всяческие манипуляции с базой не в UI потоке. Про разрешения в манифесте так же забывать не стоит.
Здравствуйте!
Я пытаюсь вставить данные в таблицу БД MS SQL через андроид, есть вот такой код:
БД и эмулятор андроида находится на одном пк. При вызове метода onClick_Store, блок try catch ловит овт такое исключение: No suitable driver found for jdbc:sqlserver://192.168.1.100SQLEXPRESS;databaseName=Computer;user=Admin;password=Admin;
А вот что в логах:
W/Run:: Connection open!
W/SQLException error:: No suitable driver found for jdbc:sqlserver://192.168.1.100SQLEXPRESS;databaseName=Computer;user=Admin;password=Admin;
Сам модуль у меня в проекте есть:
В Android Studio я недавно, так что может быть я что то где то недоподключил.
В чем моя ошибка?
На днях мне пришлось подключится к внешней БД MySQL в Android приложении, которое бы использовало ресурсы готового сервиса, так вот в данном уроке я покажу как я это сделал.
В данном уроке мы с вами сделаем простое Android-приложения, который будет вызывать PHP скрипт для выполнения основных CRUD (Create, Read, Update, Delete) операций.
Android приложение будет вызывать PHP скрипт, который будет подключается к базе данных MySQL и выполнить какие то операции.
Что вам потребуется?
1) WEB-сервер для PHP. Будем использовать сборку DenWer.
2) MySQL база данных.
3) Android Emulator.
Шаг 1. Установка WEB-сервера.
Так как мы будем работать со сборкой Denwer, то для начала скачиваем её тут http://www.denwer.ru/
После того как вы его установили и проверили, что он работает, переходим к следующему шагу.
Шаг 2. Создание БД
Так как мы подняли WebServer Denwer в нем уже вшита MySQL база данных, давайте создадим базу и таблицу (products) в ней.
Создание таблиц в БД:
В конце видео создания БД я не зря показал локальный IP, так как я использую виртуальную ОС для удобства. В вашем случае вы будите обращаться к localhost или же 127.0.0.1 .
Шаг 3. Подключение к MySQL базе с помощью PHP
Давайте создадим PHP класс, который будет отвечать за подключение к БД. Основная цель этого класса – открытие и закрытие соединения с БД.
Но, для того что бы подключатся к БД нам нужно где то хранить требуемые параметры для подключения к БД для этого создадим [C:WebServershomedevserver.comwwwdb_config.php] со следующим содержимым:
А теперь создадим в той же директории файл [C:WebServershomedevserver.comwwwdb_connect.php] со следующим содержимым:
Шаг 4. Базовые CRUD операции в PHP
В этом уроке я покрываю основные CRUD (Create, Read, Update, Delete) операций для MySQL с помощью PHP.
Запись строки в БД
Создадим в нашем PHP проекте новый файл create_product.php который будет обеспечивать возможность записи продукта в БД.
Для приведенного выше кода JSON ответ будет примерно таким:
Когда POST параметр(ы) отсутствует:
Когда продукт успешно добавлен:
Когда ошибка при добавлении данных в БД:
Чтение строки с БД
Создадим новый PHP файл в нашем проекте и назовем его get_product_details.php со следующим содержанием:
Ответ JSON для вышеупомянутого файла будет следующим.
При успешном получении продукта:
Когда продукт не найден:
Получение всех продуктов с БД
Для того чтобы вывести весь список продуктов на устройство нам нужно получить все продукты с БД.
Создадим get_all_products.php со следующим содержимым:
JSON ответ выше приведенного кода будет таким:
Когда продукт не найден:
Обновление продукта в БД
Создайте файл с именем update_product.php со следующим содержимым:
Ответ JSON выше кода, когда продукт успешно обновлены будет следующим:
Удаление продукта с БД
Последняя операция удаления из базы данных. Создайте новый файл назовите delete_product.php и вставьте следующий код:
Когда продукт удачно будет удален то JSON ответ будет таким:
Когда продукт не найден, то таким:
Теперь наконец-то мы можем приступить к программированию на Android. То что мы описали выше на PHP будем использовать как API слой. И наше приложение будет общаться с MySQL сервером по средством JSON формата и GET, POST запросов.