当试图在Android物理设备上访问本地主机文件时出现java.io.FileNotFoundException
我是新来的android和java。我正在尝试开发一个测试应用程序,它将数据存储在本地数据库中。我正在使用WAMPP。在仿真器中,我可以完美地访问它,但是当我尝试在我的物理设备(Micromax A311)中访问它时,我得到了java.io.FileNotFoundException。我看过很多问题,但没有人为我工作。当试图在Android物理设备上访问本地主机文件时出现java.io.FileNotFoundException
在我AndroidManifesti添加以下代码
<uses-permission android:name="android.permission.INTERNET"/>
网址
String url="http://192.168.0.104/selectQuery.php";
这是我的IP4(无线局域网适配器的Wi-Fi)的地址。
我与
http://10.0.2.2/....
/10.0.2.2:80/....
/192.168.0.104:80/
试了一下,我可以用
/192.168.0.104/ and /192.168.0.104:80/
我通过USB连接物理设备的笔记本电脑访问保存在我的数据库中的浏览器数据。在我的tethering设置中,我开启了USB绑定。
我与连接到笔记本电脑的相同WiFi连接。
我的笔记本电脑代理设置也关闭。
谁能帮我摆脱这个问题..我打这个从过去几天的..
谢谢
如果selectQuery.php文件是一个文件夹,您的网址是像:
String url ="http://192.168.0.104/name_folder/selectQuery.php";
所以,如果有./myFolder/selectQuery.php的网址是:
String url = "http://192.168.0.104/myFolder/selectQuery.php";
没有它不在任何文件夹内......顺便说它在模拟器中工作正常... –
谢谢您回复...我自己找到了解决方案。我下载https://ngrok.com/download,然后用它的CMD和复制粘贴
ngrok http -bind-tls=false site.dev:80
我在https://ngrok.com/docs#bind-tls下发现了隧道仅HTTP或HTTPS。然后我用转发地址在我的url string。
它工作得很好..我现在很开心..
localhost,表示当前运行的机器。在模拟器中它是你的电脑。在你的android设备上它是设备itselfe,没有WAMPP正在运行.https://en.wikipedia.org/wiki/Localhost – Fusselchen
好的!我如何从Android设备访问数据库? –
http://192.168.0.104/selectQuery.php应该工作,如果你没有阻止你的WAMPP的远程访问(防火墙,Apache设置)。尝试从远程设备(可能是手机中的浏览器)访问此网址。验证它是否存在您的应用程序或您的设置问题。数据库连接是由您的PHP脚本完成的,所以不应该有任何必要的更改 – Fusselchen