Je développe une application pour les étudiants et j'ai trouvé une erreur en la testant sur un appareil réel. Voici un morceau de code de mon application. J'utilise cette AsynTask pour récupérer des informations via une page Web et cela fonctionne très bien.Pourquoi je ne peux pas charger une image Internet sur une application Android à l'aide d'un vrai appareil?
protected void onPostExecute(PlaceRecord result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
// Refresh the values
ImageView imageFlag = (ImageView) findViewById(R.id.imageViewFlag);
try {
InputStream is = (InputStream) new URL(place.getFlagUrl())
.getContent();
Drawable d = Drawable.createFromStream(is, "src name");
Log.i(TAG, "D: " + d.toString());
if (d.toString() == "") {
imageFlag.setImageResource(R.drawable.logo_fondo);
} else {
imageFlag.setImageDrawable(d);
}
} catch (Exception e) {
Log.e(TAG, "que conho pasa: " + e);
e.printStackTrace();
} TextView textVCountry = (TextView) findViewById(R.id.textViewCountryName);
textVCountry.setText(place.getCountryName());
TextView textVPlace = (TextView) findViewById(R.id.textViewResolverPlace);
textVPlace.setText(place.getPlace());
Voici la chose, quand je lance ceci sur mon émulateur fonctionne parfaitement. Le résultat est un objet qui possède String countryName, String place et FlagURL qui est l'URL d'une image sur le Web. Quand je lance ceci sur l'émulateur, je reçois l'image et les deux textes tous parfaits, mais quand je l'exécute sur un vrai périphérique (au début, j'ai utilisé un bitmap mais il s'est écrasé et je ne savais pas pourquoi ... et le logcat fenêtre pour le périphérique réel n'a pas donné e moi beaucoup d'aide) alors avec cette méthode il ne plante pas mais quand je l'exécute il ne montre rien .. sur l'émulateur il montre, si vous changez l'URL pour une autre image, il montre le nouveau, mais sur le réel non.
Je peux vous montrer plus de code si vous voulez, je ne voulais pas le remplir avec du code. Le problème est que la fenêtre logcat ne montre rien ...
Une chose importante est que mon appareil réel a android 4.2 mais l'émulateur 2.3
Tout invité?
Merci
Ceci est mon fichier manifeste
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="advance.modelling.yourvistit"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="advance.modelling.yourvisit.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</application>
</manifest>
chat de chat et les détails du manifeste Android sera utile –