Bonsoir,j'ai essayé d'envoyer les données vers la base de donné MySQL

l'application crache lors de l'insertion à la base.

Comment résoudre l'erreur "java.net.SocketException: The operation timed out".

j'ai poser ma question dans plusieurs forum mais pas de solution .
svp je veux résoudre ce problème .

merci d'avance


JSON Parser Class

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package tn.pack.ordre.library;
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.json.JSONException;
import org.json.JSONObject;
 
import android.util.Log;
 
public class JSONParser {
 
	static BufferedReader in = null;
	static InputStream is = null;
	static JSONObject jObj = null;
	static String json = "";
 
	/** The time it takes for our client to timeout */
    public static final int HTTP_TIMEOUT = 30 * 1000; // milliseconds
 
    /** Single instance of our HttpClient */
    private static HttpClient mHttpClient;
 
 
	// constructor
	public JSONParser() {
 
	}
 
	 /**
     * Get our single instance of our HttpClient object.
     *
     * @return an HttpClient object with connection parameters set
     */
    private static HttpClient getHttpClient() {
        if (mHttpClient == null) {
            mHttpClient = new DefaultHttpClient();
            final HttpParams params = mHttpClient.getParams();
            HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT);
            HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT);
            HttpConnectionParams.setTcpNoDelay(params, true);
            ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);
 
        }
        return mHttpClient;
    }
 
 
 
	public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) {
 
		// Making HTTP request
		try {
 
			HttpClient  httpClient = getHttpClient();
			HttpPost httpPost = new HttpPost(url);
			UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(params);
			httpPost.setEntity(formEntity);
			HttpResponse httpResponse = httpClient.execute(httpPost);
			HttpEntity httpEntity = httpResponse.getEntity();
			is = httpEntity.getContent();
 
			//in = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));
			BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
            StringBuffer sb = new StringBuffer("");
            String line = "";
            String NL = System.getProperty("line.separator");
            while ((line = reader.readLine()) != null) {
                sb.append(line + NL);
            }
            is.close();
            json = sb.toString();
			Log.e("JSON", json);
 
        } 
 
		  catch (Exception e) {
			Log.e("Buffer Error", "Error converting result " + e.toString());
		}
 
		// try parse the string to a JSON object
		try {
			jObj = new JSONObject(json);
		} catch (JSONException e) {
			Log.e("JSON Parser", "Error parsing data " + e.toString());
		}
 
		// return JSON String
		return jObj;
 
	}
}
User Functions Class

l' url: http://10.0.2.2/ pour connecter l' AVD avec le localhost
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package tn.pack.ordre.library;
 
import java.util.ArrayList;
import java.util.List;
 
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
 
public class UserFunctions {
 
    private JSONParser jsonParser;
 
    private static String URL ="http://10.0.2.2/webservice/index.php";
 
 
    private static String login_tag = "login";
    private static String register_tag = "register";
 
    // constructor 
    public UserFunctions(){
        jsonParser = new JSONParser();
    }
 
    /**
     * function make Login Request
     * @param userName
     * @param password
     * */
 
    public JSONObject loginUser(String userName, String password){
        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("tag", login_tag));
        params.add(new BasicNameValuePair("userName", userName));
        params.add(new BasicNameValuePair("password", password));
        JSONObject json = jsonParser.getJSONFromUrl(URL, params);
 
        return json;
    }
 
 
    /**
     * function make Login Request
     * @param name
     * @param email
     * @param userName
     * @param password
     * */
 
    public JSONObject registerUser(String name, String email,String userName, String password){
        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("tag", register_tag));
        params.add(new BasicNameValuePair("name", name));
        params.add(new BasicNameValuePair("email", email));
        params.add(new BasicNameValuePair("userName", userName));
        params.add(new BasicNameValuePair("password", password));
 
 
        // getting JSON Object
        JSONObject json = jsonParser.getJSONFromUrl(URL, params);
        // return json
        return json;
    }
 
 
}


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
06-11 22:57:04.278: W/KeyCharacterMap(283): No keyboard for id 0
06-11 22:57:04.278: W/KeyCharacterMap(283): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
06-11 22:57:16.238: D/dalvikvm(283): GC_FOR_MALLOC freed 6658 objects / 331744 bytes in 88ms
06-11 22:57:46.331: E/Buffer Error(283): Error converting result org.apache.http.conn.ConnectTimeoutException: Connect to /10.0.2.2:80 timed out
06-11 22:57:46.348: E/JSON Parser(283): Error parsing data org.json.JSONException: End of input at character 0 of 
06-11 22:57:46.358: D/AndroidRuntime(283): Shutting down VM
06-11 22:57:46.358: W/dalvikvm(283): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-11 22:57:46.398: E/AndroidRuntime(283): FATAL EXCEPTION: main
06-11 22:57:46.398: E/AndroidRuntime(283): java.lang.IllegalStateException: Could not execute method of the activity
06-11 22:57:46.398: E/AndroidRuntime(283): 	at android.view.View$1.onClick(View.java:2072)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at android.view.View.performClick(View.java:2408)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at android.view.View$PerformClick.run(View.java:8816)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at android.os.Handler.handleCallback(Handler.java:587)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at android.os.Handler.dispatchMessage(Handler.java:92)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at android.os.Looper.loop(Looper.java:123)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at android.app.ActivityThread.main(ActivityThread.java:4627)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at java.lang.reflect.Method.invokeNative(Native Method)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at java.lang.reflect.Method.invoke(Method.java:521)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at dalvik.system.NativeStart.main(Native Method)
06-11 22:57:46.398: E/AndroidRuntime(283): Caused by: java.lang.reflect.InvocationTargetException
06-11 22:57:46.398: E/AndroidRuntime(283): 	at tn.pack.ordre.EnregistrerActivity.onClickValider(EnregistrerActivity.java:54)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at java.lang.reflect.Method.invokeNative(Native Method)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at java.lang.reflect.Method.invoke(Method.java:521)
06-11 22:57:46.398: E/AndroidRuntime(283): 	at android.view.View$1.onClick(View.java:2067)
06-11 22:57:46.398: E/AndroidRuntime(283): 	... 11 more
06-11 22:57:46.398: E/AndroidRuntime(283): Caused by: java.lang.NullPointerException
06-11 22:57:46.398: E/AndroidRuntime(283): 	... 15 more
06-11 23:01:51.498: I/Process(283): Sending signal. PID: 283 SIG: 9