2015-04-22 1 views
0

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 
+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 . –

+0

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. –

Répondre