Saya menggunakan server apache xampp untuk melayani sumber daya ke aplikasi dari mesin saya. Tetapi saya mendapatkan kesalahan di atas.
Saya punya sesuatu di google. menunjukkan solusi yang mungkin di sini http://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a
Apa solusi untuk masalah di atas?
Jawaban:
Karena Anda belum menentukan Anda terhubung ke server dari perangkat atau emulator jadi saya kira Anda menggunakan aplikasi Anda di emulator.
Jika Anda merujuk localhost Anda di sistem Anda dari emulator Android maka Anda harus menggunakan
http://10.0.2.2:8080/
Karena emulator Android berjalan di Mesin Virtual, oleh karena itu di sini127.0.0.1
ataulocalhost
akan menjadi alamat loopback emulator itu sendiri.Lihat: Jaringan Emulator
sumber
http://localhost:8080/Getdata.php
atauhttp://127.0.0.1:8080/Getdata.php
kemudian Anda harus mengubahnya saat digunakanhttp://10.0.2.2:8080/Getdata.php
10.0.2.2
dengan10.0.3.2
jika Anda menjalankan Genymotion.di android
Menggantikan:
String webServiceUrl = "http://localhost:8080/Service1.asmx"
Dengan:
String webServiceUrl = "http://10.0.2.2:8080/Service1.asmx"
Semoga berhasil!
sumber
localhost dan 127.0.0.1 adalah dua cara untuk mengatakan 'mesin saat ini'. Jadi localhost di PC Anda adalah PC dan localhost di android adalah ponsel. Karena ponsel Anda tidak menjalankan server web, tentu saja itu akan menolak koneksi.
Anda perlu mendapatkan alamat IP mesin Anda (gunakan ipconfig di windows untuk mengetahuinya) dan gunakan itu sebagai pengganti 127.0.0.1. Ini mungkin masih tidak berfungsi tergantung pada bagaimana jaringan / firewall Anda diatur. Tapi itu topik yang sama sekali berbeda.
sumber
sumber
Anda hanya perlu menggunakan alamat IP lokal (tapi asli) dan nomor port seperti ini:
String webServiceUrl = "http://192.168.X.X:your_virtual_server_port/your_service.php"
Dan pastikan Anda mengatur izin internet dalam manifes
<uses-permission android:name="android.permission.INTERNET" />
sumber
Jika Anda menggunakan localhost di url Anda dan menguji aplikasi Anda di emulator, cukup Anda dapat mengganti alamat ip sistem untuk localhost di URL. Atau Anda dapat menggunakan 10.0.2.2 daripada localhost.
http: //localhost/webservice.php ke http://10.218.28.19/webservice.php
Dimana 10.218.28.19 -> Alamat IP Sistem.
atau
http: //localhost/webservice.php ke http://10.0.2.2/webservice.php
sumber
Anda hanya perlu menggunakan alamat IP lokal Anda: menggunakan perintah cmd "ipconfig" dan nomor port server Anda seperti ini:
String webServiceUrl = " http: //192.168.XX: your_local_server_port / your_web_service_name.php "
Dan pastikan Anda memang menyetel izin internet di manifes proyek Anda
Ini bekerja dengan sempurna untuk saya
Semoga berhasil
sumber
itu bekerja untuk saya. Saya menggunakan genymotion untuk Run App.
1. Pertama saya diperiksa ip lokal saya. goto mode perintah >> Dan tulis ipconfig. Contoh: Windows 10 >> cari cmd >> lalu Tulis ipconfig. 2. Kemudian dapatkan informasi ip lokal Anda >>> 3.Gunakan berikan ip localhost Anda dan ip kotak virtual. Anda perlu menggunakan ip kotak virtual untuk genymotion. Lihat gambar di bawah ini. Anda dapat Anda di bawah ip manapun di bawah jaringan host virtualbox
sumber
Mengganti localhost dengan 10.0.2.2 sudah benar, tetapi Anda juga dapat mengganti localhost dengan ip mesin fisik Anda (lebih baik untuk tujuan debug). Tentu, jika ip disediakan oleh dhcp Anda harus mengubahnya setiap kali ...
Semoga berhasil!
sumber
Solusinya sangat sederhana.
1 Tambahkan izin Internet di file Androidmanifest.xml
[2] Ubah file httpd.config Anda
[3] Dan langkah paling impoten. Jadikan JARINGAN ANDA SEBAGAI JARINGAN RUMAH
Buka Panel Kontrol> Jaringan dan Internet> Jaringan dan Pusat Berbagi
sumber