Pereiti prie turinio

Dėl android apsso kūrimo


Rekomenduojami pranešimai

Vis iškyla problemų su tuo Android :( Gal turite kas veikiančių pavyzdžių kaip bendrauja Android apssas su php failu kuris įkelia info į duomenų bazę (mysql). Kiek randu internete vis kasnors neveikia tai arba aš visiskai nesigaudau arba ten daug klaidingų pavyzdžių :(

Redagavo DJManas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šiaip į PHP skriptą iš Android įrenginio kreipiamasi naudojant POST/GET metodus. PHP skriptas atrodo paprastai - kaip ir naršyklei būtų pritaikytas.

 

Esu padaręs registraciją-prisijungimą su PHP androidiniam projektui. Galėsiu pasidalinti, kuomet būsiu prie kito kompiuterio.

 

Pavyzdys čia

Redagavo Weed
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šiaip į PHP skriptą iš Android įrenginio kreipiamasi naudojant POST/GET metodus. PHP skriptas atrodo paprastai - kaip ir naršyklei būtų pritaikytas.

Tiesa :) Žiūrint paprastai/bukai, tai yra tiesiog paprastas HTTP requestas. Aišku, neparsinamas HTML, JS, ir t.t., jei grąžini, bet tiesiog darai per Javos HTTP klientą requestą, o PHP vis tiek vykdysis, net jei tai – ne naršyklė (PHP'ui nerūpi, nebent pats pradėsi rūpintis).

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jei kam bus įdomu tai pasidariau taip (čia vartotojo registracija):

 

package com.example.xxx;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class registration extends Activity {

private String url = "http://10.0.2.2/xxx/xxx.php";
JSONParser jsonParser = new JSONParser();
private ProgressDialog pDialog;
private EditText newUsername;
private EditText newEmail;
private TextView ermsg;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.registration);

	  final Button button1 = (Button) findViewById(R.id.button1);
	  button1.setOnClickListener(new View.OnClickListener() {
	      public void onClick(View v) {

	    	  new createUser().execute();

	      }
	  });

}

private class createUser extends AsyncTask<String, String, String> {

     /**
      * Before starting background thread Show Progress Dialog
      * */
     @Override
     protected void onPreExecute() {
         super.onPreExecute();
         pDialog = new ProgressDialog(registration.this);
         pDialog.setMessage("Creating..");
         pDialog.setIndeterminate(false);
         pDialog.setCancelable(true);
         pDialog.show();

 	    newUsername = (EditText) findViewById(R.id.editText1);
	    newEmail = (EditText) findViewById(R.id.editText2);
	    ermsg = (TextView) findViewById(R.id.textView2);

     }

     /**
      * Creating user
      * */
     protected String doInBackground(String... args) {
		String username = newUsername.getText().toString();
		String email = newEmail.getText().toString();

         // Building Parameters
         List<NameValuePair> params = new ArrayList<NameValuePair>();
         params.add(new BasicNameValuePair("username", username));
         params.add(new BasicNameValuePair("email", email));

         // getting JSON Object
         // Note that create product url accepts POST method
         JSONObject json = jsonParser.makeHttpRequest(url,
                 "POST", params);

         // check log cat fro response
         Log.d("Create Response", json.toString());

         // check for success tag
         try {
             final int success = json.getInt("success");

             if (success == 1) {

                  runOnUiThread(new Runnable() {

                     @Override
                         public void run() {
                    	 ermsg.setText("");
                     }
                  });

                 Intent i = new Intent(getApplicationContext(), payment.class);
                 startActivity(i);
                 finish();

            	 pDialog.dismiss();
             } else if(success == 2){

                 runOnUiThread(new Runnable() {

                     @Override
                         public void run() {
                    	 ermsg.setText("Username or E-mail already exist. "+success);
                     }
                  });

            	 pDialog.dismiss();

             } else {
                 // failed to create user

                 runOnUiThread(new Runnable() {

                     @Override
                         public void run() {
                    	 ermsg.setText("Something wrong please try again later. "+success);
                     }
                  });

            	 pDialog.dismiss();
             }
         } catch (JSONException e) {
             e.printStackTrace();
         }

         return null;
     }

 }

}

Redagavo DJManas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...