在整个Android应用程序生活中只有单个数据库连接的最佳方法是什么?

时间:2016-07-03 02:39:34

标签: php android mysql database-connection

我对android很新,我有一些新手问题。我有一个交互式应用程序,在其中一个活动中我有“自动填充”,在每次文本更改时,我从DB(PHP和MYSQL连接)加载一些JSON并在列表视图中显示它。现在,为了使速度更快,我猜我需要一个单独的连接,当用户打开应用程序并打开它直到他关闭,因为直觉上如果我每次进入角色时连接并断开连接数据库,它就会成功甚至在localhost中也很慢。我想过使用单身,但我已经读到使用静态不是最好的选择,还有其他方法(不幸的是没有解释)。所以我该怎么做?我是否还应该在单个连接点中包含缓冲区和流?任何帮助表示赞赏。这是我的一些连接代码..

 HttpURLConnection connection = (HttpURLConnection) qurl.openConnection();
                connection.setRequestMethod("POST");
                connection.setDoInput(true);
                connection.setDoOutput(true);
                OutputStream OS = connection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(OS,"UTF-8"));

1 个答案:

答案 0 :(得分:0)

这是不可能的,不是你怎么做的。您正在为每个请求建立单独的HTTP连接。除非您的网络服务器仅维护所有请求的单个数据库连接实例,否则它将为每个请求创建新的实例(这也意味着您的网站只有一个服务器 - 换句话说,对于任何非平凡的应用程序都不是这样)

我的建议是重新设计您的功能,这样您就不会为每个字符发出HTTP请求。这意味着要么删除自动填充,要么发送每个请求的更多数据,并处理客户端以过滤掉可能性。或接受自动填充响应将会很慢,并且可能在它们返回时过时。