2017-09-05 17 views
0

私はwampserverに接続し、ボタン(btnget)を押してアンドロイドアプリでウェブページのコンテンツを焼きたいですが、ボタンをクリックしてもトーストできません。どこに問題がありますか?ローカルホストから読み取ることができません

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 ""; 

}} 

これはメインのActivityクラス:

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を実行しているルータのIPアドレスではないPCのアドレス? – RiggsFolly

+0

Apacheを実行しているPCのIPアドレスを知りたいのですが? – Ayoub

答えて

0

私は「場合 ローカルホスト上の自分のページには、 "ss.php"

これは接続クラスでありますWAMPインスタンス上でローカルにホストされているサイトへのリンクを間違えないでください:http://LocalHost:8080/shop/ss.php(またはWAMP設定で設定した別のポート番号)

+0

しかし、電話コードで 'localhost'を使うと、'電話で 'ウェブサイトを探していると仮定します。 – RiggsFolly

+0

真です。私はそれを逃しました(あなたはWAMPでマシンの外で走っています)。おそらく問題はあなたがポートを指定していないということです。 –

+0

OPは彼らがポートを変更したことを示唆しておらず、デフォルトポート80を使用している場合は必要ありません – RiggsFolly

関連する問題