Comment faire pour que mon application puisse travailler sur les Android 4.xx ?
Salut à tous.
J'ai développé une application qui communique avec une base de données en ligne et je constate que sur les Android version 2.xx ça fonctionne normalement. Par contre, sur les Android version 4.xx, ça ne fonctionne pas. Quelqu'un pourrait m'aider. Merci d'avance
voici un exemple de code qui marche sur mon émulateur et les android version 2 et qui crash avec les version 4
Citation:
Envoyé par
Népomucène
Tu peux poster la partie du code qui doit se connecter avec la base et nous montrer où cela ne fonctionne pas ?
Ce code est censé m'affiché "Landry" dans le TextView; ce qui est le cas avec les android version 2.
Code:
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
| public class Miseenligne extends Activity {
// déclarer lURL du fichier employes.json
private static String url = "http://infoortb.byethost10.com/emissionradio.php";
String result = null;
InputStream is = null;
JSONObject json_data=null;
TextView txt;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_miseenligne);
txt=(TextView)findViewById(R.id.t1);
maconnexion_internet();
}
public void maconnexion_internet()
{
try{
//commandes httpClient
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
//httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}
catch(Exception e){
Log.i("taghttppost",""+e.toString());
}
try {
//conversion de la réponse en chaine de caractère
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result = sb.toString();
}
catch(Exception e)
{
Log.i("tagconvertstr",""+e.toString());
}
JSONArray jArray = new JSONArray(result);
for(int i = 0; i < jArray.length(); i++){
// récupérer un employé de type JSONObject
json_data = jArray.getJSONObject(i);
String n3=""+json_data.getString("auteur");
txt.setText(n3);
}
} catch (JSONException e)
{
e.printStackTrace();
}
}
} |
1 pièce(s) jointe(s)
voici un exemple de code qui marche avec les version 2 et qui crash avec les version 4
Citation:
Envoyé par
joel.drigo
Salut,
Décris également en quoi ça ne fonctionne pas. Peut-être as-tu un logcat à nous fournir ?
Code:
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
| public class Miseenligne extends Activity {
// déclarer lURL du fichier employes.json
private static String url = "http://infoortb.byethost10.com/emissionradio.php";
String result = null;
InputStream is = null;
JSONObject json_data=null;
TextView txt;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_miseenligne);
txt=(TextView)findViewById(R.id.t1);
maconnexion_internet();
}
public void maconnexion_internet()
{
try{
//commandes httpClient
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
//httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}
catch(Exception e){
Log.i("taghttppost",""+e.toString());
}
try {
// récupérer la liste de tous les employés
//employes = json.getJSONArray(TAG_EMPLOYES);
//conversion de la réponse en chaine de caractère
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result = sb.toString();
}
catch(Exception e)
{
Log.i("tagconvertstr",""+e.toString());
}
JSONArray jArray = new JSONArray(result);
for(int i = 0; i < jArray.length(); i++){
// récupérer un employé de type JSONObject
json_data = jArray.getJSONObject(i);
String n3=""+json_data.getString("auteur");
txt.setText(n3);
}
} catch (JSONException e)
{
e.printStackTrace();
}
}
} |
Pièce jointe 168855
Un sincère merci à vous tous.
Un sincère merci à vous tous. Mais toujours je n'arrive pas à récupérer un seul mot de ma base de donné.
et sans vouloir vous offensé, je voudrais comprendre aussi la raison pour laquelle xa marche sur certain
android et par sur d'autre. voici mon script PHP.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?php
// on se connecte à notre base pour recuperer les data
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('info_manager_ortb', $base) ;
$req =mysql_query("SELECT libelleemissionradio,dateemissionradio,auteur FROM emissionradio_ortb order by date desc");
while ($row=mysql_fetch_array($req)) {
$output[]=$row;
}
//on encode en JSON
print(json_encode($output));
mysql_free_result ($req);
?> |