Android 中调用 url。无需等待任何回应
Posted
技术标签:
【中文标题】Android 中调用 url。无需等待任何回应【英文标题】:Call url in Android. No need to wait for any response 【发布时间】:2017-10-18 01:30:05 【问题描述】:在我的项目中,我需要调用一个 URL。
这个网址,看起来像:http://myip:80/increaseCounter.php
我有一个带有 mysql 的 Xampp (MAC)。 increaseCounter.php 的功能是从表中检索值,将其增加 1,然后更新它。 我在 localhost 中测试的 url,通过 Chrome 从另一台设备指向,并且运行良好。
但是知道我只是想在 android 中调用这个链接,我不需要恢复任何数据或类似的东西,只需调用它。
我尝试过:
private void trackUrl(String href)
HttpURLConnection con = null;
try
URL url = new URL(href);
con = (HttpURLConnection) url.openConnection();
con.connect();
catch (Exception e)
Log.d("APP", e.getMessage());
finally
if (con != null)
con.disconnect();
但是不行。xampp中没有连接日志,mysql中的数据也没有更新。
=======
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="my.aswsome.app"
android:versionCode="15">
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
.....
【问题讨论】:
共享清单。并分享错误信息。 @AhmadAghazadeh Manifest 具有 Internet 连接权限,因为这个应用程序很久以前就在使用它。并且没有错误日志。 :// 如果你用int code = urlConnection.getResponseCode(); if(code==200) Log.i("TAG","success")
而不是con.connect();
会怎样
@Denny 和 urlConnection.getResponseCode();
工作得很好。我仍然不明白到底发生了什么,但工作。如果你愿意,请回答,我会接受。谢谢!
把它作为一个小解释的答案发布
【参考方案1】:
试试
int code = urlConnection.getResponseCode();
if(code==200)
Log.i("TAG","success");
而不是con.connect();
https://developer.android.com/reference/java/net/URLConnection.html#connect().connect();
only 打开连接,但之后什么也不做。所以通过.getResponseCode()
你实际上是在做一个请求。
【讨论】:
【参考方案2】: you can put url directly that type
URL url = new URL("http://myip:80/increaseCounter.php");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
readStream(in);
finally
urlConnection.disconnect();
【讨论】:
以上是关于Android 中调用 url。无需等待任何回应的主要内容,如果未能解决你的问题,请参考以下文章
无需在 Android Studio 中打开浏览器即可点击 URL