问题标签 [android-networking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1003 浏览

android - 如何使android服务将数据传递给url

我已经完成了将数据传递给 url 的代码,并且成功了。但是现在我需要在后台执行此操作,因此即使应用程序结束,我也会提供服务来执行此操作。我的问题是当我启动服务时它传递一次数据,但我需要每隔一段时间传递一次数据,所以该怎么做?

这是我的代码

在活动中我写了这个

我已经在清单文件中写了权限

0 投票
1 回答
1604 浏览

php - Android 无法正确连接 MySQL 数据库

我正在尝试了解从 MySQL 服务器发送和接收数据的 Android 应用程序的基础知识(我的实现与这个学习示例无关)。这是到目前为止的代码:

这是 XML 文件“chartfragment”的代码:

以下是我遇到的 LogCat 问题:

很明显,主线程问题上的网络连接意味着我需要将其移至 Asynctask 中,对吗?但是有这么多错误,我想知道我是否遗漏了其他东西,这很明显吗?我最终希望能够将用户/密码注册到数据库中,然后获取查询并发送响应,所以这基本上只是一个热身。如果您访问 http://www.davidjkelley.net/city.php,您可以看到数据库确实正确响应了我在 Android 代码中链接的查询 PHP 文件,所以这不是问题所在。

编辑〜我应该注意我的活动以前扩展列表活动,遵循本教程:http: //blog.sptechnolab.com/2011/02/10/android/android-connecting-to-mysql-using-php/这就是为什么我的 XML 目前只是一个 ListView,因为这有助于清除一个错误,即我需要一个 ID 为“list”的 ListView 组件。

编辑~我的php代码:

显然,星星的集合是正确的信息,当您访问上面发布的链接时,SQL 读数正​​确显示。

0 投票
1 回答
4209 浏览

android - GeoCoder getFromLocation 方法会导致抛出 NetworkOnMainThreadException 吗?

我有一个经过彻底测试的应用程序,并且在 Android Gingerbread(和较旧的 Android 版本)上运行良好。我从用户报告的崩溃错误中注意到,运行更高版本的 Android 操作系统的手机正在抛出NetworkOnMainThreadException.

我正在尝试处理我的代码并消除/修复所有罪魁祸首。GeoCoder getFromLocation和方法会getFromLocationName抛出一个NetworkOnMainThreadExceptionif 从 main/ui 线程调用吗?

0 投票
1 回答
475 浏览

php - 重写代码以避免 NetworkonMainThreadException

我终于让我的登录应用程序与我的在线数据库一起运行。我按照教程进行操作。在调试它并让它与我的在线 SQL dB 一起运行时,我通过将 minSDK 设置为“3”来避免 NetworkonMainThreadException 的问题。显然,当我将其恢复到 13+ 时,我再次收到错误消息。那么我怎样才能去修改这些类以避免异常呢?看来我需要修改的不仅仅是一两个简单的方法,对吗?

除了 LoginActivity,还有 RegisterActivity 和 DashboardActivity,但它们与 LoginActivity 非常相似。

登录活动:

用户功能:

数据库处理器:

JSON解析器:

0 投票
2 回答
7649 浏览

android - 如何在android中检查服务器连接是否可用

网络连接测试可以通过以下方法进行:

但我不知道如何检查服务器连接。我遵循了这个方法

}

它不起作用....任何想法伙计们!

0 投票
1 回答
4923 浏览

android - EntityUtils.toString() 会导致 NetworkOnMainThreadException 吗?

我有一个设置,我以如下doInBackground()方法执行我的 http 请求:AsyncTask

然后将此HttpResponse对象传递给onPostExecute()my 的方法AsyncTask以传递给处理程序(http 请求的原始调用者)并根据需要进行处理,如下所示:

  • httpResponse.getStatusLine().getStatusCode()使用;检查响应代码
  • 使用 ) 获取响应内容EntityUtils.toString(httpResponse.getEntity())

此设置在运行旧版 Android 的手机上运行良好。

现在在 Ice Cream Sandwich (Galaxy Nexus) 上运行我的应用程序我发现我的应用程序中的前几个 http 请求如上所述工作正常,但随后有一个 http 请求始终抛出异常,堆栈跟踪如下(略微修剪可读性):

……

在 org.apache.http.util.EntityUtils.toString(EntityUtils.java:139)

在 java.io.InputStreamReader.close(InputStreamReader.java:145)

在 org.apache.http.conn.EofSensorInputStream.close(EofSensorInputStream.java:213)

...

在 libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:151)

在 android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1084)

android.os.NetworkOnMainThreadException

我很困惑。那么这是否意味着该EntityUtils.toString(HttpEntity)方法是抛出新的(而且非常烦人)的潜在罪魁祸首NetworkOnMainThreadException?如果是这样,关于修改我的设置以在单独的线程中发出 http 请求以便可以在主线程上处理响应的任何建议?

0 投票
0 回答
3759 浏览

java - 如何检查 Android 中可用/连接的服务器或 IP 地址

如何知道服务器/IP 地址在 android 中可用/已连接。我试试这段代码

它总是拒绝连接,除了 127.0.0.1

如何检查请指导我..

0 投票
1 回答
1250 浏览

android - Android HTTP 连接性能

我有一个基于 php 的 Web 服务,它可以生成大量 JSON 数据。为了便于讨论,我在这里指的是一个 65KB 的数据样本。65KB 应该不需要太多下载。我在 JavaScript(通过 AJAX 调用它)上对此进行了测试,获取数据包需要几毫秒。我在服务器端和 android 客户端添加了代码,这些代码将标记发送和接收数据的时间戳。 令我恐惧的是,即使在 localhost 上,Android 模拟器也需要 2 分钟才能获取 65KB

这是我用来获取数据的方法。两个类,一个用于排队 HTTP 连接并使用线程一一运行它们,另一个用于实际发送和接收数据以及触发处理程序的方法。

HTTPConnection.java:

ConnectionManager.java:

这些代码被称为:

0 投票
0 回答
323 浏览

android - 在设备长时间不活动后建立 Android 网络连接

我的应用程序将 SMS 转发到一个电子邮件地址。一个大问题是当天的第一条消息。设备(Attrix 设置为最大省电模式)处于深度睡眠状态。短信正常接收,但是没有网络/数据连接,直到我手动唤醒手机,非常不雅。

我想请求/强制/欺骗 Android 唤醒它的网络,并允许连接。我有一个 CONNECTIVITY_CHANGE 侦听器,因此应用程序可以检测到这种情况何时异步发生。

目前, HttpClient.execute() 表示“与http://xxx.yyy.com的连接被拒绝”。在收到 SMS 后立即调用。这是在没有任何 isConnected() 检查的情况下尝试的,这些检查确实说“假”。我希望这个请求会引发网络唤醒。

我也试过(注意 - 没有这种方法的经验)

连接管理器.startUsingNetworkFeature(连接管理器.TYPE_MOBILE, "enableHIPRI");

但代码只是......停止......在那里。没有错误、异常、日志,它只是停止。我什至无法检查返回值。

我没有尝试过唤醒锁,因为它们似乎是关于唤醒 CPU(CPU 看起来不错)和屏幕(不在乎)。

在我的应用程序的早期版本中,我走了一条不同的路线。我有一个 TimerTask 每 5 分钟尝试一次,直到成功发送消息(即 Javax Mail transport.send() 不会抛出 MessagingException)。它完全无视有关当前网络状态的任何信息。这似乎非常可靠。但这是在黑暗中投掷飞镖,我相信它可以改进。

谢谢!

PVS

0 投票
4 回答
17272 浏览

android - 更改移动网络模式(gsm、wcdma、auto)

我想更改首选网络模式,即。gsm 或 wcdma 或 auto,以编程方式,从代码,在 Android 上。

这可能吗,如果可以,怎么办?