Как подключить базу данных SQLITE3?
Создал бота с базой данных для заказов. А для выполнение заказов Андроид приложение. Вопрос: Как сделать так чтобы заказы с базы данных можно было получать в Андроид приложение и обратно С приложении записать данные о выполнении? Как работать с одной базой с телеграмм бота и с Андроид приложении? Или это мои фантазии))
Ответы (1 шт):
Если говорить о ТЗ, то примерно так
Выбор базы данных
SQLite
– для простых задач, но сложно работать из нескольких источников.
PostgreSQL
/MySQL
– для более серьезных проектов с поддержкой многопользовательских операций.
API
Создать сервер (backend), который будет посредником между базой данных, Telegram-ботом и Android-приложением. Сервер будет принимать запросы от приложений, обрабатывать их и передавать данные.
Flask
– легковесный и удобный.FastAPI
– современный и быстрый.Django REST Framework
– мощный, но немного сложнее.Node.js
– если хотите попробоватьJavaScript
.
Разработайте REST API
:
GET
запросы для получения заказов.
POST/PUT
запросы для обновления информации о выполнении заказов.
Настройте роутинг:
Например, /orders
для списка заказов.
/orders/{id}
для получения информации о конкретном заказе.
Пример простого REST API
на Flask
:
from flask import Flask, jsonify, request
app = Flask(__name__)
orders = [
{"id": 1, "item": "Телевизор", "status": "new"},
{"id": 2, "item": "Холодильник", "status": "in progress"},
]
# Получение всех заказов
@app.route('/orders', methods=['GET'])
def get_orders():
return jsonify(orders)
# Обновление статуса заказа
@app.route('/orders/<int:order_id>', methods=['PUT'])
def update_order(order_id):
data = request.get_json()
for order in orders:
if order["id"] == order_id:
order["status"] = data.get("status", order["status"])
return jsonify(order)
return jsonify({"error": "Order not found"}), 404
if __name__ == '__main__':
app.run(debug=True)
Ну а в телеграм-боте примерно так
API_URL = "http://localhost:5000/orders"
# Получение всех заказов
response = requests.get(API_URL)
if response.status_code == 200:
orders = response.json()
for order in orders:
print(order["item"])
c android-приложением не помогу, не имею понятия что к чему там.