android - Python - MySQL 数据库更改后向 Android 应用程序发送通知

标签 android python mysql firebase push-notification

我正在 pythonanywhere.com 上开展一个项目,我的 Python 代码(使用 Flask 框架)管理一个 Android 应用程序想要访问 MySQL 数据库的请求。

重点是,当向数据库表中添加一行时,我希望在 Android 智能手机上收到通知。

如果我理解正确,从 Python 到 Android 我可以使用 Firebase 云消息传递,但我不确定从 MySQL 到 Python 使用什么:调用脚本发送通知的触发器?或者 Python 监听数据库?或者还有什么?

请记住,我使用的不是个人服务器和数据库,而是上述域提供的服务器和数据库,因此我不确定我是否可以使用我想要的一切(例如,如果我没记错的话,我不可能请求一个 UDF)。

提前致谢!

最佳答案

如果您使用 SQLAlchemy,最好的方法是事件。所以你可以这样做:

class Post(db.Model):
     id = db.Column('id', db.Integer, primary_key=True)
     title = db.Column(db.String)
     text = db.Column(db.String)

@db.event.listens_for(Post, "after_insert")
def send_notification(mapper, connection, target):
     push_firebase_notification()

在此处阅读有关 SQLAlchemy 事件的更多详细信息 http://docs.sqlalchemy.org/en/latest/orm/events.html#orm-events

如 Beq 所述,另一种方法是在模型中使用信号。

from blinker import Namespace

awesome_signals = Namespace()
model_saved = awesome_signals.signal('model-saved')

class Post(object):
    ...

    def save(self):
        model_saved.send(self)

关于android - Python - MySQL 数据库更改后向 Android 应用程序发送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49833921/

相关文章:

MySQL如何查询复杂的关系表

php - 当有其他占位符时,如何在 IN() 子句中使用占位符?

python - 使用 Limits 获取索引名称 pandas dataframe python

android - getActionBar 返回 null

android - 如何通过类中的方法通过 FirebaseFirestore 查询检索数据列表?

java - 在 Android Activity 中使用 Kotlin 模型类的 getter 和 setter

python - 使用python和re库读取vcf文件数据

python - 使用 PYMC3/Theano 广播数学运算

mysql - 将分区从第一个数据库移动到第二个数据库

java - 如何缩短 Android Studio 3.0 的构建时间?