Android移动应用程序和Desktop Html站点之间的连接

时间:2015-03-15 07:07:01

标签: android html connection

你好,我正在研究车辆追踪项目我想把浮动lang-latte从手机传递到静态html网站我应该怎么做?

3 个答案:

答案 0 :(得分:1)

以下是用例: 拨打发送Lat-Long的Web服务电话,您可以随时将其保存在后端并更新HTML页面

答案 1 :(得分:1)

您可以使用Webservices .. Google for webservices示例for android,您可以找到如何做到这一点。

W3Schools有一个用ASP编写的示例Web服务。Here是不是..

通过该示例webservice,我刚刚制作了一个示例android程序,将摄氏度转换为farenheit。

以下是示例代码

import org.ksoap2.SoapEnvelope;
import android.util.Log;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

String UserFahrenheit;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button b=(Button) findViewById(R.id.button);
final EditText Med=(EditText) findViewById(R.id.MedServTextView);
final TextView Test=(TextView) findViewById(R.id.TestTextView);

b.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        //try{
            UserFahrenheit=Med.getText().toString();

            //String mobile=getData(UserMRN.trim());
             String NAMESPACE = "http://tempuri.org/";
                String METHOD_NAME = "FahrenheitToCelsius";
                String SOAP_ACTION = "http://tempuri.org/FahrenheitToCelsius";
                String URL = "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL";

                SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);

                Request.addProperty("Fahrenheit",UserFahrenheit.trim());

                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                        SoapEnvelope.VER11);
                envelope.dotNet = true;
                envelope.setOutputSoapObject(Request);

                HttpTransportSE androidHttpTransport = new HttpTransportSE(
                        URL);
    try{
                androidHttpTransport.call(SOAP_ACTION, envelope);

                SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
                String Celsius;
                Celsius= String.valueOf(response.toString());
               Test.setText(Celsius);

    }catch(Exception e){
        e.getMessage();
    }



    //  }catch(Exception e){
    //      e.getMessage();
    //  }


    }
});

    }



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

}

我在这里使用了一个名为kSoap2的库。您可以从互联网上轻松下载。

我在这里所做的是,我将从android获取摄氏值,并通过使用SOAP调用webservice将其发送到服务器。然后,服务器在执行计算后返回farenheit值。

同样,对于您的情况,您需要从android获取经纬度值并使用webservice将其发送到服务器,并在服务器中使用发送的值并相应地操作html页面...

试试..

以下是一些例子......亲自阅读它们以便更好地理解它......

http://androidexample.com/Dot_Net_Webservice_Call_-_Android_Example/index.php?view=article_discription&aid=100&aaid=122

http://code.tutsplus.com/tutorials/consuming-web-services-with-ksoap--mobile-21242

答案 2 :(得分:0)

您可以向网站发送JSON发送消息。

例如

private static final String url_update_product ="http://10.0.2.2/get_latlong.php";
private static final String TAG_SUCCESS = "success";

class SaveProductDetails extends AsyncTask<String, String, String> 
{

    @Override
    protected void onPreExecute() 
    {
        super.onPreExecute();
    }

    protected String doInBackground(String... args) 
    {
String message ='your message here';

        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair(TAG_NAME, message));

        final JSONObject json = jsonParser.makeHttpRequest(url_update_product,"POST", params);

        try 
        {
            int success = json.getInt(TAG_SUCCESS);

            if (success == 1) 
            {
                status=1;
            }
            else 
            {
                status=0;
            }
        } 
        catch (JSONException e) 
        {
            e.printStackTrace();
        }

        return mesage;
    }

    /**
     * After completing background task Dismiss the progress dialog
     * **/
    @Override
    protected void onPostExecute(String result) 
    {
        super.onPostExecute(result);
        //pDialog.dismiss();

        if(status == 1)
        {
            // success
        }
        else
        {
            //failed
        }
    }
}

PHP

<?php
$response = array();
if (isset($_POST['virus_file'])) 
{
    $message = $_POST['virus_file'];
} 
else 
{
    $response["success"] = 0;
    $response["message"] = $message;
    echo json_encode($response);
}
?>