使用HTTP发布方法将数据从android应用发送到phpMyAdmin服务器

萨利尔·维什努·卡普尔

我是Android应用程序开发的新手,我想通过互联网向phpMyAdmin服务器发送三个参数Latitude,Longitude和Bimari(我在下面的代码中提到)。问题是这两个参数被错误地发送到服务器端,即纬度= 0.0,经度= 0.0,而只有Bimari被正确显示。任何人都可以告诉我为什么在服务器上未正确发送纬度和经度吗?我已经搜索了很多,发现了有关AsyncTask的信息,但不了解如何在我的情况下实现。非常感谢您的阅读!

MainActivity.java如下:

public final static String EXTRA_MESSAGE = "com.example.sushma.myfirstapp.MESSAGE";


String nn, nn1, nn2, nn3, nn4, nn5, nnf;
String sss1, sss2;
String s;

double lat, lng;
LocationManager lm;
TextView lt, ln;
String provider;
Location l;
private View view;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    setContentView(R.layout.activity_main);

    lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
    Criteria c = new Criteria();



    provider = lm.getBestProvider(c, false);
    l = lm.getLastKnownLocation(provider);

    if (l != null) {

        lng = l.getLongitude();
        lat = l.getLatitude();


    } else {

        System.out.println("No lat/long");

    }

    {


        LinearLayout l1 = new LinearLayout(this);
        l1.setBackgroundResource(R.drawable.ambulance);
        setContentView(R.layout.activity_main);
    }
}


public void ongobuttonclick(View view) {
    this.view = view;

    Spinner sp = (Spinner) findViewById(R.id.problems);

    s = sp.getSelectedItem().toString();
    sss1 = String.valueOf(lng);
    sss2 = String.valueOf(lat);



    nn = "http://192.168.2.8/tech/new_predict.php?Latitude=";
    nn1 = sss2;
    nn2 = "&Longitude=";
    nn3 = sss1;
    nn4 = "&Bimari=";
    nn5 = s;

    nnf = nn + nn1 + nn2 + nn3 + nn4 + nn5;


    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httPost = new HttpPost(nnf);
    try
    {
        httpclient.execute(httPost);
    } catch (IOException e)
    {
        e.printStackTrace();
    }

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

我的服务器上的输出:-

纬度经度Bimari 0.0 0.0肺(bimari由微调器选择)

我手机上的Android版本是2.3.6。

如果您愿意,我也可以添加我的logcat。

空中编程

您的代码存在两个问题:

  1. 检查是否实际设置了lat和lng。仅当您的设备检测到gps信号时才设置这些值,这在室内自然是有问题的。否则,它们将保留为初始值-0.0。

  2. 确保使用适当的HTTP方法。您的代码建议使用httpget,您应该像这样将参数放在post中:

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); nameValuePairs.add(new BasicNameValuePair("latitude", lat); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Volley Android将发布数据发送到服务器

使用HTTP Post将机密数据发送到服务器的安全方法

将信息从服务器发送到android应用

Android不使用不推荐使用的方法将https发布请求发送到服务器

Android将数据发送到服务器问题

将数据从服务器发送到Android设备

将数据从android studio应用发送到服务器

如何在 post 方法中将数据从 android 应用程序发送到服务器?

无法使用angularjs $ http请求将参数发送到服务器操作方法

使用WebClient将图像数据发送到服务器的最佳方法

需要一个使用http发布请求将xml数据从Salesforce发送到外部服务器/另一个Salesforce组织的示例

使用POST方法和HttpURLConnection将Android的JSON对象发送到PHP服务器

使用$ .ajax发布将数据发送到node.js服务器不起作用

如何将String数组作为发布数据发送到Web服务器?

如何通过HttpsURLConnection将发布数据发送到https服务器

在将发布数据发送到服务器时出错

将事件从服务器发送到ios应用

我应该使用服务器密钥还是旧版服务器密钥通过HTTP1.1将发布请求发送到FCM Api?

Android应用程序:使用该应用程序将文件发送到服务器

使用提取将发布请求发送到Golang服务器

使用codeigniter将发布请求发送到xmlrpc服务器

在服务器中的数据更新后将推送通知发送到Android应用,并打开自定义活动

如何获得分块的响应在HTTP / 1.1而在Java / Android的同时将数据发送到服务器

如何使用React Native应用程序将数据发送到服务器并获取响应?

无法将数据发送到libwebsocket服务器

齐射无法将数据发送到服务器

将大型画布数据发送到服务器

将JSON数据发送到Laravel服务器

如何触发应用程序将数据发送到我的服务器?