I'm trying to send a GET request from an Android app to a web server, so the server will store the information in a database.
Here is the Android Application:
public class Final extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_final);
        Button btnSend = (Button)findViewById(R.id.BtnSend);
        btnSend.setOnClickListener(new OnClickListener(){
        public void onClick(View arg0){
                TestReceiver();
            }
        });
    void TestReceiver()
    {
            //ALERT MESSAGE
            Toast.makeText(getBaseContext(),"Please wait, connecting to server.",Toast.LENGTH_LONG).show();
            HttpClient Client = new DefaultHttpClient();
            try
            {
                Client.getConnectionManager().getSchemeRegistry().register(getMockedScheme());
            } catch (Exception e) {
                System.out.println("Error con no se que");
            }
            String Value="Kevin";
            String URL = "http://echogame24.comli.com/Receiver.php?action="+Value;
            try
            {
                          String SetServerString = "";
                        // Create Request to server and get response
                         HttpGet httpget = new HttpGet(URL);
                         ResponseHandler<String> responseHandler = new BasicResponseHandler();
                         SetServerString = Client.execute(httpget, responseHandler);
             }
           catch(Exception ex)
           {
                    System.out.println("Fail!");
           }
    }
   //** I added all this following the advise in the link below
    public Scheme getMockedScheme() throws Exception {
        MySSLSocketFactory mySSLSocketFactory = new MySSLSocketFactory();
        return new Scheme("https", (SocketFactory) mySSLSocketFactory, 443);
    }
    class MySSLSocketFactory extends SSLSocketFactory {
        javax.net.ssl.SSLSocketFactory socketFactory = null;
        public MySSLSocketFactory(KeyStore truststore) throws Exception {
            super(truststore);
            socketFactory = getSSLSocketFactory();
        }
        public MySSLSocketFactory() throws Exception {
            this(null);
        }
        @Override
        public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException,
                UnknownHostException {
            return socketFactory.createSocket(socket, host, port, autoClose);
        }
        @Override
        public Socket createSocket() throws IOException {
            return socketFactory.createSocket();
        }
        javax.net.ssl.SSLSocketFactory getSSLSocketFactory() throws Exception {
            SSLContext sslContext = SSLContext.getInstance("TLS");
            TrustManager tm = new X509TrustManager() {
                public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                }
                public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                }
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
            };
            sslContext.init(null, new TrustManager[] { tm }, null);
            return sslContext.getSocketFactory();
        }
    }
}
In the accepted answer of this link:
They recommend to use the last methods so the application can send request to any server.
I also include the code of the PHP server that will accept the request:
 <?php
$name="A_".$_GET["action"] ;
    require_once('mysql_conexion.php');
    //Here we set the variables
    $country = "Prueba"; 
    $score = 200;
    //Here we create the sql sentence we will need to insert information in the Data base   
    $q="INSERT INTO PLAYERS(NAME, COUNTRY, SCORE) VALUES ('$name', '$country', '$score')";
    $r=@mysqli_query($dbc, $q);
    //Now we check if we succed or failed
    if($r){
    //This means we did it right
    echo 'There is a new player<br>';
    }else{
    //This means we failed
    echo '<h1>Error </h1>
    <p class="error">There was an error</p>';
    echo '<p>'.mysqli_error($dbc).'<br /><br />Query:'.$q.'</p>';
    }
    //We close now the data base connection
    mysqli_close($dbc);
?>
My Problems:
After including in the Android Application the methods below **1 I have the following errors:
1-
The constructor Scheme(String, Final.MySSLSocketFactory, int) is undefined
In the Line:
return new Scheme("https", mySSLSocketFactory, 443);
2-
Multiple markers at this line - The type Final.MySSLSocketFactory must implement the inherited abstract method SocketFactory.createSocket(InetAddress, int, InetAddress, int) - The type Final.MySSLSocketFactory must implement the inherited abstract method SocketFactory.createSocket(String, int) - The type Final.MySSLSocketFactory must implement the inherited abstract method SSLSocketFactory.getSupportedCipherSuites() - The type Final.MySSLSocketFactory must implement the inherited abstract method SocketFactory.createSocket(InetAddress, int) - The type Final.MySSLSocketFactory must implement the inherited abstract method SocketFactory.createSocket(String, int, InetAddress, int) - The type Final.MySSLSocketFactory must implement the inherited abstract method SSLSocketFactory.getDefaultCipherSuites()
In the Line:
class MySSLSocketFactory extends SSLSocketFactory {
3-
The constructor SSLSocketFactory(KeyStore) is undefined
In the line:
super(truststore);
Could anyone tell me what am I doing wrong? I think I just copied that part of the code exactly like appear in the accpeted answer for the question: