2017-09-05 150 views
0

我想連接到wampserver並通過按按鈕(btnget)在android應用程序中爲網頁內容吐司,但是當我點擊按鈕時,它不會吐司。問題出在哪裏? 我在本地主機頁是 「ss.php」無法從本地主機讀取

這是連接類:

public class Connect extends AsyncTask { 

public String link=""; 

public Connect(String link){ 

    this.link=link; 
    } 
    @Override 
    protected Object doInBackground(Object[] params) { 
    try{ 
     URL url=new URL(link); 
     URLConnection connection=url.openConnection(); 
     BufferedReader reader=new BufferedReader(new 
    InputStreamReader(connection.getInputStream())); 
     StringBuilder builder=new StringBuilder(); 
     String line=null; 
     while((line=reader.readLine())!=null){ 
      builder.append(line); 
     } 
     MainActivity.data=builder.toString(); 
    }catch (Exception e){ 
    } 
    return ""; 

}} 

這是主要活動類:

public class MainActivity extends AppCompatActivity { 

public static String data=""; 
Button getData; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    /*address of the webpage on localhost:http://IP/path */ 

    new Connect("http://192.168.56.1/localhost/shop/ss.php").execute(); 

    getData=(Button)findViewById(R.id.btnGet); 
    getData.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 


      Toast.makeText(MainActivity.this,data, Toast.LENGTH_SHORT).show(); 
     }}); 
}; 

}

+0

這取決於你如何配置Apache服務器。但是這個'http:// 192.168.56.1/localhost/shop/ss.php'應該是'http:// 192.168.56.1/shop/ss.php' – RiggsFolly

+0

你確定'192.168.56.1'是ip運行Apache的PC的地址而不是路由器的IP地址? – RiggsFolly

+0

我該如何找到運行Apache的PC的IP地址? – Ayoub

回答

0

如果我m不會誤認爲WAMP實例本地託管的站點鏈接應如下所示:http://LocalHost:8080/shop/ss.php(或您在wamp設置中配置的另一個端口號)

+0

但是,如果你在電話代碼中使用'localhost',它會認爲你正在尋找一個網站'在電話上' – RiggsFolly

+0

是真的。我錯過了(你用WAMP在機器外部運行它)。可能問題在於你沒有指定港口。 –

+0

OP沒有建議他們改變了端口,如果他們使用的是默認端口80,那麼不需要 – RiggsFolly