Cum se conectează la PHP și MySql dintr-o aplicație Android?

Vreau să fac o aplicație Android care poate prelua locația, trimite SMS către serverul Ozeki NG. După trimiterea mesajului, detaliile mesajului care pot fi salvate în MySQL și vizualizate din PHP. Oricine poate să mă învețe cum să conectați aplicația sms Android la MySQL și PHP?

Testez deja. Poate prelua Longitudinea și Latitudinea, dar apare harta Google din. Codul meu are probleme? Aceasta este prima dată când am creat aplicația Android, sunt foarte apreciat pentru a obține ajutor de la voi. Mulțumesc

ParkingPaymentLBSMapsActivity.java

package com.android.googlemap;

import com.google.android.maps.GeoPoint
import com.google.android.maps.GeoPoint;`
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class ParkingPaymentLBSMapsActivity extends MapActivity {

private static final long MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 1;//in Meters
private static final long MINIMUM_TIME_BETWEEN_UPDATES = 1000;//in Milliseconds

protected LocationManager locationManager;

protected Button retrieveLocationButton;



MapController mControl;
GeoPoint GeoP;
MapView mapV;
MyLocationOverlay compass;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mapV = (MapView) findViewById(R.id.mapView);
    mapV.displayZoomControls(true);
    mapV.setBuiltInZoomControls(true);

    double lat = 40.8;
    double longi = -96.666;

    GeoP = new GeoPoint ((int) (lat *1E6), (int) (longi *1E6) );

    mControl = mapV.getController();        
    mControl.animateTo(GeoP);
    mControl.setZoom(13);

    compass = new MyLocationOverlay(this, mapV);
    mapV.getOverlays().add(compass);

    Button next = (Button) findViewById(R.id.nextbtn);
    next.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent myIntent = new Intent(view.getContext(), SMS.class);
            startActivityForResult(myIntent, 0);
        }

       });

    retrieveLocationButton = (Button) findViewById(R.id.retrieve_location_button);
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

    locationManager.requestLocationUpdates(
            LocationManager.GPS_PROVIDER,
            MINIMUM_TIME_BETWEEN_UPDATES,
            MINIMUM_DISTANCE_CHANGE_FOR_UPDATES,
            new MyLocationListener()
            );


    retrieveLocationButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            showCurrentLocation();
        }

    });

}

protected void showCurrentLocation() {
    Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    if (location != null) {
        String message = String.format(
                "Current Location \n Longitude: %1$s \n Latitude: %2$s",
                location.getLongitude(), location.getLatitude()
        );
        Toast.makeText(ParkingPaymentLBSMapsActivity.this, message,
                Toast.LENGTH_LONG).show();                  
    }
}


private class MyLocationListener implements LocationListener {

        public void onLocationChanged(Location location) {
            String message = String.format(
                    "New Location \n Longitude: %1$s \n Latitude: %2$s",
                    location.getLongitude(), location.getLatitude()
            );
            Toast.makeText(ParkingPaymentLBSMapsActivity.this, message, Toast.LENGTH_LONG).show();
        }

        public void onStatusChanged(String s, int i, Bundle b) {
            Toast.makeText(ParkingPaymentLBSMapsActivity.this, "Provider status changed",
                    Toast.LENGTH_LONG).show();
        }

        public void onProviderDisabled(String s) {
            Toast.makeText(ParkingPaymentLBSMapsActivity.this,
                    "Provider disabled by the user. GPS turned off",
                    Toast.LENGTH_LONG).show();
        }

        public void onProviderEnabled(String s) {
            Toast.makeText(ParkingPaymentLBSMapsActivity.this,
                    "Provider enabled by the user. GPS turned on",
                    Toast.LENGTH_LONG).show();

}

        }


    @Override
    protected void onPause() {
       //TODO Auto-generated method stub
        super.onPause();
        compass.disableCompass();
    }

    @Override
    protected void onResume() {
       //TODO Auto-generated method stub
        super.onResume();
        compass.enableCompass();
    }

    @Override
    protected boolean isRouteDisplayed() {
       //TODO Auto-generated method stub
        return false;
    }
}

SMS.java

package com.android.googlemap;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.gsm.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class SMS extends Activity{

Button btnSendSMS;
EditText txtPhoneNo;
EditText txtMessage;

@Override
protected void onCreate(Bundle savedInstanceState) {
   //TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sms);        
    btnSendSMS = (Button) findViewById(R.id.btnSendSMS);
    txtPhoneNo = (EditText) findViewById(R.id.txtPhoneNo);
    txtMessage = (EditText) findViewById(R.id.txtMessage);

    Button next = (Button) findViewById(R.id.Button02);
    next.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent intent = new Intent();
            setResult(RESULT_OK, intent);
            finish();
        }

    });

    btnSendSMS.setOnClickListener(new View.OnClickListener() 
    {
        public void onClick(View v) 
        {               
            String phoneNo = txtPhoneNo.getText().toString();
            String message = txtMessage.getText().toString();               
            if (phoneNo.length()>0 && message.length()>0)                
                sendSMS(phoneNo, message);                
            else
                Toast.makeText(getBaseContext(), 
                    "Please enter both phone number and message.", 
                    Toast.LENGTH_SHORT).show();
        }
    });        
}

//---sends a SMS message to another device---
private void sendSMS(String phoneNumber, String message)
{      
    /*
    PendingIntent pi = PendingIntent.getActivity(this, 0,
            new Intent(this, test.class), 0);                
        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(phoneNumber, null, message, pi, null);        
    */

    String SENT = "SMS_SENT";
    String DELIVERED = "SMS_DELIVERED";

    PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
        new Intent(SENT), 0);

    PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
        new Intent(DELIVERED), 0);

    //---when the SMS has been sent---
    registerReceiver(new BroadcastReceiver(){
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            switch (getResultCode())
            {
                case Activity.RESULT_OK:
                    Toast.makeText(getBaseContext(), "SMS sent", 
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                    Toast.makeText(getBaseContext(), "Generic failure", 
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NO_SERVICE:
                    Toast.makeText(getBaseContext(), "No service", 
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NULL_PDU:
                    Toast.makeText(getBaseContext(), "Null PDU", 
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_RADIO_OFF:
                    Toast.makeText(getBaseContext(), "Radio off", 
                            Toast.LENGTH_SHORT).show();
                    break;
            }
        }
    }, new IntentFilter(SENT));

    //---when the SMS has been delivered---
    registerReceiver(new BroadcastReceiver(){
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            switch (getResultCode())
            {
                case Activity.RESULT_OK:
                    Toast.makeText(getBaseContext(), "SMS delivered", 
                            Toast.LENGTH_SHORT).show();
                    break;
                case Activity.RESULT_CANCELED:
                    Toast.makeText(getBaseContext(), "SMS not delivered", 
                            Toast.LENGTH_SHORT).show();
                    break;                      
            }
        }
    }, new IntentFilter(DELIVERED));        

    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);               
}    

}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>









    
        
            

            
        
    
















main.xml

<?xml version="1.0" encoding="utf-8"?>





<button
    android:id="@+id/retrieve_location_button"
    android:text="Retrieve Location"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />


<button
    android:id="@+id/nextbtn"
    android:layout_width="wrap_content"
    android:layout_height="55px"
    android:layout_alignParentLeft="true"
    android:layout_be
0
Ne pare rău, im încă confuz. Puteți să indicați ce trebuie să faceți? Am înțeles că trebuie să-mi cer PHP și MySQL, dar eclipsa trebuie, de asemenea, să adauge niște coduri pentru a le lega corect?
adăugat autor Rayminn, sursa
Trebuie să faceți o cerere (de preferință POST) la serviciul Web (PHP și MySQL unul), care la lucrurile pentru tine. Nu uitați să adăugați date la cerere. De exemplu, trebuie să trimiteți date către adresa URL astfel: sms.com/send
adăugat autor Andreyco, sursa

1 răspunsuri

Cel mai bun sfat este să căutați fie REST sau SOPA API. Setați-l cu PHP pentru a accesa MySQL-ul și căutați în Java cum să trimiteți cereri HTTP.

Aka, something like: How to send HTTP request in java?

0
adăugat
Nu doriți să distribuiți acreditările MySQL cu aplicația dvs. În schimb, folosiți PHP ca om de mijloc, deci vă autentificați cu PHP, iar apoi PHP poate autoriza cu serverul MySQL.
adăugat autor Ben, sursa
Mai mult sau mai puțin, în loc de adresa URL acolo (localhost/etc) ați plasat urlul în cadrul dvs. REST. Apoi POST sau GET variabilele peste, iar răspunsul (poate fi în orice, xml, json, etc) poate fi analizat de aplicația Java pe care o scrieți
adăugat autor Ben, sursa
PHP-ul meu se poate conecta la MySQL d, dar nu știu cum să mă conectez cu Androidul meu după ce am trimis mesajul.
adăugat autor Rayminn, sursa
import java.net. *; import java.io. *; clasa publică URLConnectionReader {public static void principal (String [] args) aruncă Excepție {URL localhost = adresa URL nouă ("http://localhost: 8080/MobileParkingPaymentWebpage /"); URLConnection yc = localhost.openConnecție (); BufferedReader în = BufferedReader nou (noul InputStreamReader (yc.getInputStream ())); String inputLine; în timp ce ((inputLine = in.readLine ())! = null) System.out.println (inputLine); in.close (); }}
adăugat autor Rayminn, sursa
deci este nevoie să adăugați acest URLConnectionReader.java în eclipsa mea?
adăugat autor Rayminn, sursa
PHP România, Moldova
PHP România, Moldova
173 participanți

Vorbim despre Yii, Laravel, Symphony, MySQL, PgSQL, WP, OpenCart... Pentru confort, opriți notificările. Parteneri: https://ciupacabra.com @js_ro @node_ro @python_ro @seo_ro @Romania_Bot Offtop: @holywars_ro Joburi: @php_job @Grupuri_IT

Android dezvoltatori, România — Moldova
Android dezvoltatori, România — Moldova
27 participanți

Parteneri: ciupacabra.com, @php_ro, @js_ro, @node_ro iOS: @ro_ios Reguli: https://github.com/js-ro/it-telegram/blob/master/RULES.md

MySQL - comunitatea Română
MySQL - comunitatea Română
19 participanți

Comunitatea română a programatorilor MySQL.