当试图在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连接。

我的笔记本电脑代理设置也关闭。

谁能帮我摆脱这个问题..我打这个从过去几天的..

谢谢

+0

localhost,表示当前运行的机器。在模拟器中它是你的电脑。在你的android设备上它是设备itselfe,没有WAMPP正在运行.https://en.wikipedia.org/wiki/Localhost – Fusselchen

+0

好的!我如何从Android设备访问数据库? –

+0

http://192.168.0.104/selectQuery.php应该工作,如果你没有阻止你的WAMPP的远程访问(防火墙,Apache设置)。尝试从远程设备(可能是手机中的浏览器)访问此网址。验证它是否存在您的应用程序或您的设置问题。数据库连接是由您的PHP脚本完成的,所以不应该有任何必要的更改 – Fusselchen

如果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"; 
+0

没有它不在任何文件夹内......顺便说它在模拟器中工作正常... –

谢谢您回复...我自己找到了解决方案。我下载https://ngrok.com/download,然后用它的CMD和复制粘贴

ngrok http -bind-tls=false site.dev:80 

我在https://ngrok.com/docs#bind-tls下发现了隧道仅HTTP或HTTPS。然后我用转发地址在我的url string。

它工作得很好..我现在很开心..