SearchView Android- 与服务器端
SearchView Android- with server side
我有 node.js 服务器连接到 MongoDb,是否可以将它连接到 android studio 中的搜索选项?我的意思是搜索结果(在搜索视图中)将从连接到我的 node.js 服务器的数据库中显示。
恐怕没有简单的方法可以将 SearchView 直接连接到远程服务器的数据库。
您必须通过网络服务公开要搜索的数据。
我不是 NodeJs 专家,但您可以为此目的使用 Express 或任何其他 Web 服务库。
假设您要根据数据库中的 title
列搜索数据。针对服务器端执行以下步骤:
- 定义 Web 服务入口点以允许远程客户端执行搜索。
客户可以使用以下 URL 调用此 Web 服务:
https://mynodeserver.com/data?title=some+title
.
现在您有了查询字符串,从 MongoDB 数据库中读取所有 title
匹配 searchedTitle
.
[=52 的数据=]
Return 从我们之前定义的 WebService 向客户端发送的结果为 JSON。
这是一个使用 ExpressJs 的示例服务器端代码:
app.get('/data', function (req, res) {
let searchedTitle = req.query.title
let searchResults = searchMongoDb(searchedTitle)
res.send(searchResults)
})
然后,只要 SearchView 的内容发生变化,就会从 Android 调用您的 Web 服务,并在 URL 中传递搜索查询。
您可以使用:
- Android HTTP 客户端,例如 Volley 或 OkHttp
- JSON Java 的解析库,例如 GSON 或 Jackson。
Android客户端的步骤:
- 定义一个
SearchView.OnQueryTextListener
。根据您的用例,您可以在 onQueryTextChanged
或 onQueryTextSubmit
. 中编写代码
- 使用 Volley/OkHttp 调用您的 Web 服务,根据我之前定义的模板在 URL 中指定搜索查询。
- 将收到的JSON解析为数据列表
- 对搜索结果做您想做的事:将它们显示为建议,或启动一个新的 Activity 以在 ListView 中显示结果。
希望对您有所帮助!
我有 node.js 服务器连接到 MongoDb,是否可以将它连接到 android studio 中的搜索选项?我的意思是搜索结果(在搜索视图中)将从连接到我的 node.js 服务器的数据库中显示。
恐怕没有简单的方法可以将 SearchView 直接连接到远程服务器的数据库。 您必须通过网络服务公开要搜索的数据。
我不是 NodeJs 专家,但您可以为此目的使用 Express 或任何其他 Web 服务库。
假设您要根据数据库中的 title
列搜索数据。针对服务器端执行以下步骤:
- 定义 Web 服务入口点以允许远程客户端执行搜索。
客户可以使用以下 URL 调用此 Web 服务:
https://mynodeserver.com/data?title=some+title
.
现在您有了查询字符串,从 MongoDB 数据库中读取所有
[=52 的数据=]title
匹配searchedTitle
.Return 从我们之前定义的 WebService 向客户端发送的结果为 JSON。
这是一个使用 ExpressJs 的示例服务器端代码:
app.get('/data', function (req, res) {
let searchedTitle = req.query.title
let searchResults = searchMongoDb(searchedTitle)
res.send(searchResults)
})
然后,只要 SearchView 的内容发生变化,就会从 Android 调用您的 Web 服务,并在 URL 中传递搜索查询。 您可以使用:
- Android HTTP 客户端,例如 Volley 或 OkHttp
- JSON Java 的解析库,例如 GSON 或 Jackson。
Android客户端的步骤:
- 定义一个
SearchView.OnQueryTextListener
。根据您的用例,您可以在onQueryTextChanged
或onQueryTextSubmit
. 中编写代码
- 使用 Volley/OkHttp 调用您的 Web 服务,根据我之前定义的模板在 URL 中指定搜索查询。
- 将收到的JSON解析为数据列表
- 对搜索结果做您想做的事:将它们显示为建议,或启动一个新的 Activity 以在 ListView 中显示结果。
希望对您有所帮助!