发布数据,Android应用程序到本地主机应用程序、主机、数据、Android

由网友(梦带我旅行i)分享简介:我是新来的Andr​​oid和正在试图发布数据从我的Andr​​oid应用程序到本地主机。虽然它没有显示任何错误,并总是说命令发送的,它不写入文件或者它没有公布任何数据。任何人都可以发现问题,或者告诉我怎样才能解决这个问题? MainActivity.java 包com.example.register;进口ja...

我是新来的Andr​​oid和正在试图发布数据从我的Andr​​oid应用程序到本地主机。虽然它没有显示任何错误,并总是说命令发送的,它不写入文件或者它没有公布任何数据。任何人都可以发现问题,或者告诉我怎样才能解决这个问题?

MainActivity.java

 包com.example.register;进口java.io.IOException异常;进口的java.util.ArrayList;进口的java.util.List;进口org.apache.http.Htt presponse;进口org.apache.http.NameValuePair;进口org.apache.http.client.ClientProtocolException;进口org.apache.http.client.HttpClient;进口org.apache.http.client.entity.UrlEn codedFormEntity;进口org.apache.http.client.methods.HttpPost;进口org.apache.http.impl.client.DefaultHttpClient;进口org.apache.http.message.BasicNameValuePair;进口android.app.Activity;进口android.opengl.Visibility;进口android.os.AsyncTask;进口android.os.Bundle;进口android.view.Menu;进口android.view.View;进口android.view.View.OnClickListener;进口android.widget.Button;进口android.widget.EditText;进口android.widget.ProgressBar;进口android.widget.TextView;进口android.widget.Toast;公共类MainActivity扩展活动实现OnClickListener {私人的EditText值;私人按钮BTN;私人进度PB;@覆盖公共无效的onCreate(捆绑savedInstanceState){super.onCreate(savedInstanceState);的setContentView(R.layout.activity_main);值=(EditText上)findViewById(R.id.editText1);BTN =(按钮)findViewById(R.id.button1);PB =(进度)findViewById(R.id.progressBar1);pb.setVisibility(View.GONE);btn.setOnClickListener(本);}@覆盖公共布尔onCreateOptionsMenu(菜单菜单){。getMenuInflater()膨胀(R.menu.main,菜单);返回true;}公共无效的onClick(视图v){// TODO自动生成方法存根如果(。value.getText()的toString()长()。1){// 超出范围Toast.makeText(这一点,请输入的东西,Toast.LENGTH_LONG).show();}其他{pb.setVisibility(View.VISIBLE);新MyAsyncTask()执行。(value.getText()的toString());}}私有类MyAsyncTask扩展的AsyncTask<字符串,整数,双> {@覆盖保护双doInBackground(字符串... PARAMS){// TODO自动生成方法存根POSTDATA(PARAMS [0]);返回null;}保护无效onPostExecute(双人间结果){pb.setVisibility(View.GONE);Toast.makeText(getApplicationContext(),命令发送,Toast.LENGTH_LONG).show();}保护无效onProgressUpdate(整数...进度){pb.setProgress(进展[0]);}公共无效POSTDATA(字符串valueIWantToSend){//创建一个新的HttpClient和邮政头HttpClient的HttpClient的=新DefaultHttpClient();HttpPost httppost =新HttpPost(HTTP://localhost/text.php);尝试{//添加你的数据清单<&的NameValuePair GT; namevaluepairs中=新的ArrayList<&的NameValuePair GT;();nameValuePairs.add(新BasicNameValuePair(myHttpData,valueIWantToSend));httppost.setEntity(新UrlEn codedFormEntity(namevaluepairs中));//执行HTTP POST请求HTT presponse响应= httpclient.execute(httppost);}赶上(ClientProtocolException E){// TODO自动生成catch块}赶上(IOException异常五){// TODO自动生成catch块}}}} 

activity_main.xml中

 <的RelativeLayout的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android的xmlns:工具=htt​​p://schemas.android.com/tool​​s机器人:layout_width =match_parent机器人:layout_height =match_parent><的TextView机器人:ID =@ + ID / textView1机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT机器人:layout_alignParentTop =真机器人:layout_centerHorizo​​ntal =真机器人:layout_marginTop =20dp机器人:文字=请在下面输入一句:机器人:textAppearance =:/>中的Andr​​oid ATTR / textAppearanceLarge?<的EditText机器人:ID =@ + ID / editText1机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT机器人:layout_below =@ + ID / textView1机器人:layout_centerHorizo​​ntal =真机器人:layout_marginTop =30dp机器人:EMS =10机器人:提示=>< requestFocus的/>< /&的EditText GT;<进度机器人:ID =@ + ID / progressBar1风格=机器人:ATTR / progressBarStyleLarge机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT机器人:layout_below =@ + ID / editText1机器人:layout_centerHorizo​​ntal =真机器人:layout_marginTop =24dp/><按钮机器人:ID =@ + ID /按钮1机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT机器人:layout_alignLeft =@ + ID / textView1机器人:layout_alignRight =@ + ID / editText1机器人:layout_below =@ + ID / progressBar1机器人:layout_marginTop =24dp机器人:文字=提交/>< / RelativeLayout的> 

解决方案 安卓应用爆发手游仍是重心 结合生活需求或成突破点

您必须使用 10.0.2.2 IP地址与本地主机系统连接。

  HttpPost httppost =新HttpPost(HTTP://localhost/text.php); 

  HttpPost httppost =新HttpPost(http://10.0.2.2/text.php); 

I am new to android and am trying to post data to localhost from my android app. While it is not showing any errors, and always say command sent, it is not writing the file or perhaps it is not posting any data. Can anyone spot the problem, or tell me how can I fix it?

MainActivity.java

package com.example.register;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.opengl.Visibility;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{

private EditText value;
private Button btn;
private ProgressBar pb;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
value=(EditText)findViewById(R.id.editText1);
btn=(Button)findViewById(R.id.button1);
pb=(ProgressBar)findViewById(R.id.progressBar1);
pb.setVisibility(View.GONE);
btn.setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

public void onClick(View v) {
// TODO Auto-generated method stub
if(value.getText().toString().length()<1){
// out of range
Toast.makeText(this, "please enter something", Toast.LENGTH_LONG).show();
}else{
pb.setVisibility(View.VISIBLE);
new MyAsyncTask().execute(value.getText().toString());  
}

}

private class MyAsyncTask extends AsyncTask<String, Integer, Double>{

@Override
protected Double doInBackground(String... params) {
// TODO Auto-generated method stub
postData(params[0]);
return null;
}

protected void onPostExecute(Double result){
pb.setVisibility(View.GONE);
Toast.makeText(getApplicationContext(), "command sent", Toast.LENGTH_LONG).show();
}
protected void onProgressUpdate(Integer... progress){
pb.setProgress(progress[0]);
}

public void postData(String valueIWantToSend) {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://localhost/text.php");

try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("myHttpData", valueIWantToSend));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}

}
}

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="Enter Something Below:"
android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:ems="10"
android:hint=""
>

<requestFocus />
</EditText>

<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_alignRight="@+id/editText1"
android:layout_below="@+id/progressBar1"
android:layout_marginTop="24dp"
android:text="Submit" />

</RelativeLayout>

解决方案

You have to use 10.0.2.2 IP address to connect with localhost system.

HttpPost httppost = new HttpPost("http://localhost/text.php");

Should be

HttpPost httppost = new HttpPost("http://10.0.2.2/text.php");

阅读全文

相关推荐

最新文章