我有连接到MongoDb的node.js服务器,是否可以将它连接到android studio中的搜索选项?我的意思是搜索的结果(在搜索视图中)将显示在连接到我的node.js服务器的db中。
我担心没有简单的方法可以将SearchView直接连接到远程服务器的数据库。您必须通过Web服务公开要搜索的数据。
我不是NodeJs专家,但您可以使用Express或任何其他Web服务库来实现此目的。
让我们假设你想根据数据库中的title
列搜索数据。对于服务器端,请执行以下步骤:
客户可以使用以下URL调用此Web服务:https://mynodeserver.com/data?title=some+title
。
title
匹配searchedTitle
的MongoDB数据库中读取所有数据。以下是ExpressJs的示例服务器端代码:
app.get('/data', function (req, res) {
let searchedTitle = req.query.title
let searchResults = searchMongoDb(searchedTitle)
res.send(searchResults)
})
然后,只要SearchView的内容发生变化,就可以通过Android调用您的网络服务,并在您的网址中传递搜索查询。你可以使用:
Android客户端的步骤:
SearchView.OnQueryTextListener
。根据您的使用情况,您可以在onQueryTextChanged
或onQueryTextSubmit
中编写代码。希望能帮助到你 !