Ajout d'un grand nombre de tv.setText() afin de savoir laquelle des lignes sont en cours d'exécution et où le bloc try se brise. Le résultat de la fin « TV » est 4.J'ai fait une application Android simple jusqu'à présent et son ne fonctionne pas. InputBufferedReader est la cause je pense
public class Main extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.textView);
BufferedReader reader = null;
try{
tv.setText("1");
URL url = new URL("https://www.google.com");
tv.setText("2");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
tv.setText("3");
StringBuilder sb = new StringBuilder();
tv.setText("4");
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
tv.setText("5");
String line;
tv.setText("6");
while((line = reader.readLine()) != null){
tv.append(line + "\n");
}
}catch (Exception e){
//tv.setText("Exception");
}
}
J'utilise Android Studio LogCat est:
04-22 23:38:25.990 28870-28870/com.example.taha.url E/Trace﹕ error opening trace file: No such file or directory (2)
04-22 23:38:26.118 28870-28870/com.example.taha.url E/linker﹕ load_library(linker.cpp:759): library "libmaliinstr.so" not found
04-22 23:38:26.125 28870-28870/com.example.taha.url E/﹕ appName=com.example.taha.url, acAppName=com.android.cts.openglperf
04-22 23:38:26.125 28870-28870/com.example.taha.url E/﹕ 0
04-22 23:38:26.125 28870-28870/com.example.taha.url E/﹕ appName=com.example.taha.url, acAppName=com.android.browser
04-22 23:38:26.125 28870-28870/com.example.taha.url E/﹕ 0
Il est un peu clair que votre trace de la pile reflète effectivement l'accident que vous décrivez, ou compte tenu de la mention com.android.browser ** si elle est même de votre application vs une autre **. En particulier, il y a peu de raisons évidentes pour lesquelles une bibliothèque serait chargée entre l'endroit où vous placez le texte à 4 et où vous le mettriez à 5. Montrez la trace de pile * full *, et considérez l'utilisation d'instructions Log au lieu d'affichage visuel . –
En outre, mettez un e.printStackTrace() dans votre bloc catch - le bloc vide que vous avez en ce moment signifie que vous demandez au système de dissimuler les causes des erreurs. –