Connessione App Android & Database MySQL AltervistaL | Forum Android | AndroidWorld

ATTENZIONE:
L’Utente assume la totale responsabilità anche giuridica per ogni attività da lui svolta e per ogni contenuto pubblicato e/o scambiato. (leggi le condizioni d’uso).

Si invitano gli Utenti a non pubblicare o scambiare alcuna informazione che permetta di risalire, anche indirettamente, alla propria identità o all’identità di terzi (nome, cognome, residenza, email…) e divulgare alcun tipo di dato sensibile proprio o di terzi.

X
  1. #1
    Baby Android
    Registrato dal
    Jul 2016
    Residenza
    Firenze
    Dispositivo
    Samsung Galaxy S4
    Operatore
    H3G
    Messaggi
    1
    Grazie!
    0
    Ringraziato 0 volte in 0 post

    Connessione App Android & Database MySQL AltervistaL

    Buongiorno,
    dopo aver cercato in lungo e in largo una procedura funzionante che mettesse in comunicazione la mia app Android con un database MySQL di Altervista, chiedo aiuto in questo Forum, perché non so più dove sbattere la testa.

    La mia app è molto semplice: si compone di un'interfaccia dove è presente una EditText per l'inserimento di una email e un'ImageView che simula un bottone di invio dati. Sull'OnClick dell'immagine si stabilisce una connessione che richiama una pagina PHP, a cui si passa il valore dell'EdidText come parametro GET. Tale pagina effettua a sua volta una connessione ad un database MySQL già esistente e recupera il dato inserito precedentemente nell'app, aggiungendolo al database con una query PHP.

    Ecco il codice:

    La classe che acquisisce il dato da inviare alla pagina PHP si chiama FollowUsActivity.java

    codice:
    package com.example.enchan.crazyup;import android.database.Cursor;
    import android.os.PersistableBundle;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.MenuItem;
    import android.widget.Button;
    import android.view.View;
    import android.content.Intent;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.net.URLEncoder;
    import java.util.List;
    
    import android.view.Menu;
    import android.app.Activity;
    import android.widget.Toast;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class FollowUsActivity extends AppCompatActivity {
    
        @Override
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_follow_us);
    
            findViewById(R.id.subscribe).setOnClickListener(new View.OnClickListener() {
    
                @Override
    public void onClick(View arg0) {
                    EditText email = (EditText) findViewById(R.id.email);
                    String pkg = getPackageName();
    
    
                    URL url_page = null;
    
                    try {
                       url_page = new URL("http://crazyup.altervista.org/select_email.php?email==" + email.getText().toString());
                    } catch (MalformedURLException e) {
                       e.printStackTrace();
                    }
    
                    try {
                       HttpURLConnection client = (HttpURLConnection) url_page.openConnection();
                    } catch (IOException e) {
                       e.printStackTrace();
                    }                Intent OpenNewEmailActivity = new Intent(FollowUsActivity.this, NewEmailActivity.class);
                    Intent intent = OpenNewEmailActivity.putExtra(pkg + "Test", email.getText().toString());
                    startActivity(OpenNewEmailActivity);
                }
            });
        }
    }
    E la corrispondente interfaccia si chiama activity_follow_us.xml

    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:background="@drawable/bg_follow_us"
    tools:context="com.example.enchan.crazyup.FollowUsActivity">
    
        <ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/subscribe"
    android:src="@drawable/iscriviti"
    android:layout_marginBottom="41dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true" />
    
        <EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textEmailAddress"
    android:ems="10"
    android:id="@+id/email"
    android:layout_above="@+id/subscribe"
    android:layout_centerHorizontal="true" />
    
        <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Indirizzo Email"
    android:id="@+id/email_title"
    android:layout_above="@+id/email"
    android:layout_centerHorizontal="true" />
    </RelativeLayout>
    La pagina PHP si chiama invece select_email.php

    codice:
    <?php
    
    
    mysql_connect("localhost","crazyup","");
    mysql_select_db("my_crazyup");
    
    
    $s_email = $_GET['email'];
    $string = "INSERT INTO email (content) VALUES ('".$s_email."')";
    $q = mysql_query($string);
    
    
    if (!$q) {
        die("Errore nella query: " . mysql_error());
    }
    
    
    mysql_close();
    
    
    ?>
    Come vedete le istruzioni sono semplici, tuttavia esiste un problema che non riesco a risolvere. Di seguito vi posto il logcat, premettendo che nel Manifest ho inserito i permessi necessari:

    codice:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    logcat:

    codice:
    07-30 13:15:12.101 2786-2786/com.example.enchan.crazyup E/libprocessgroup: failed to make and chown /acct/uid_10058: Read-only file system
    07-30 13:15:12.101 2786-2786/com.example.enchan.crazyup W/Zygote: createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?
    07-30 13:15:12.102 2786-2786/com.example.enchan.crazyup I/art: Not late-enabling -Xcheck:jni (already on)
    07-30 13:15:18.863 2786-2794/com.example.enchan.crazyup W/art: Suspending all threads took: 300.581ms
    07-30 13:15:24.070 2786-2786/com.example.enchan.crazyup W/art: Failed to find OatDexFile for DexFile /data/data/com.example.enchan.crazyup/files/instant-run/dex/slice-slice_6-classes.dex ( canonical path /data/data/com.example.enchan.crazyup/files/instant-run/dex/slice-slice_6-classes.dex) with checksum 0x31fdc0bb in OatFile /data/data/com.example.enchan.crazyup/cache/slice-slice_6-classes.dex
    07-30 13:15:27.892 2786-2799/com.example.enchan.crazyup I/art: Background sticky concurrent mark sweep GC freed 2084(710KB) AllocSpace objects, 0(0B) LOS objects, 21% free, 1265KB/1601KB, paused 1.590ms total 163.237ms
    07-30 13:15:28.121 2786-2799/com.example.enchan.crazyup W/art: Suspending all threads took: 44.066ms
    07-30 13:15:28.123 2786-2799/com.example.enchan.crazyup I/art: Background partial concurrent mark sweep GC freed 149(25KB) AllocSpace objects, 0(0B) LOS objects, 40% free, 5MB/8MB, paused 45.024ms total 67.165ms
    07-30 13:15:28.189 2786-2786/com.example.enchan.crazyup W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
    07-30 13:15:28.233 2786-2899/com.example.enchan.crazyup D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
                                                                              
                                                                              [ 07-30 13:15:28.240  2786: 2786 D/         ]
                                                                              HostConnection::get() New Host Connection established 0xb3e9b460, tid 2786
    07-30 13:15:28.243 2786-2786/com.example.enchan.crazyup D/Atlas: Validating map...
    07-30 13:15:28.376 2786-2899/com.example.enchan.crazyup I/OpenGLRenderer: Initialized EGL, version 1.4
    07-30 13:15:28.416 2786-2899/com.example.enchan.crazyup D/OpenGLRenderer: Enabling debug mode 0
    07-30 13:15:28.493 2786-2899/com.example.enchan.crazyup W/EGL_emulation: eglSurfaceAttrib not implemented
    07-30 13:15:28.493 2786-2899/com.example.enchan.crazyup W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xb3f09020, error=EGL_SUCCESS
    07-30 13:16:35.975 2786-2899/com.example.enchan.crazyup W/EGL_emulation: eglSurfaceAttrib not implemented
    07-30 13:16:35.975 2786-2899/com.example.enchan.crazyup W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xb3f090a0, error=EGL_SUCCESS
    07-30 13:16:41.941 2786-2794/com.example.enchan.crazyup W/art: Suspending all threads took: 8.573ms
    07-30 13:16:42.874 2786-2899/com.example.enchan.crazyup W/EGL_emulation: eglSurfaceAttrib not implemented
    07-30 13:16:42.874 2786-2899/com.example.enchan.crazyup W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xb3ee77a0, error=EGL_SUCCESS
    07-30 13:16:48.087 2786-2899/com.example.enchan.crazyup W/EGL_emulation: eglSurfaceAttrib not implemented
    07-30 13:16:48.087 2786-2899/com.example.enchan.crazyup W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xb3f090a0, error=EGL_SUCCESS
    07-30 13:16:51.821 2786-2899/com.example.enchan.crazyup W/EGL_emulation: eglSurfaceAttrib not implemented
    07-30 13:16:51.822 2786-2899/com.example.enchan.crazyup W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xb3ee7120, error=EGL_SUCCESS
    07-30 13:16:54.302 2786-2899/com.example.enchan.crazyup W/EGL_emulation: eglSurfaceAttrib not implemented
    07-30 13:16:54.303 2786-2899/com.example.enchan.crazyup W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xb3f090a0, error=EGL_SUCCESS
    E che per l'emulatore ho provato sia con Marshmallow che con Lollipop (avevo letto in giro che poteva essere un errore di Marshmallow).

    Attendo notizie, nel frattempo GRAZIE per l'attenzione !
    Ultima modifica di Enchan; 30-07-2016 a 15: 24

  2. #2
    Baby Android
    Registrato dal
    Oct 2016
    Residenza
    Cotignola
    Dispositivo
    Motorola
    Operatore
    Vodafone
    Messaggi
    2
    Grazie!
    0
    Ringraziato 0 volte in 0 post
    Ciao Enchan, poi hai risolto?
    Necessiterei della stessa funzionalità!

Discussioni simili

  1. Interrogazionedi un DB MySql da client android tramite server php
    Da jonnyilbello nel forum Sviluppo e Programmazione
    25-09-2015
    3Risposte
  2. Facebook login - memorizzazione su mysql
    Da scibilo nel forum Sviluppo e Programmazione
    09-06-2014
    0Risposte
  3. Collegarsi a db esterno (mysql)
    Da Antonio78 nel forum App Inventor
    26-01-2014
    7Risposte
  4. [ROM] A8 (.32&oldBB) & F3 (.35&oldBB) & N2 (.35&newBB) CM7.2 based | progetto chiuso
    Da salemt87 nel forum Modding e Firmware (LG Optimus One)
    04-08-2012
    974Risposte
  5. App Inventor e Database
    Da bezier nel forum App Inventor
    02-04-2011
    0Risposte

Segnalibri

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  

Search Engine Friendly URLs by vBSEO 3.6.1