URL 클래스를 사용하여 Android 작업 공간의 파일에서 텍스트를 읽는 데 문제가 있습니다. NetworkOnMainThreadException이 발생합니다. 동일한 정확한 코드는 Android 작업 영역 외부에서 작동하므로 네트워크 또는 권한 문제 여야합니다. 지정된 링크에서 기본 텍스트 파일을 생성했습니다. url.openStream에서 오류가 발생한 것 같습니다. 다음은 내 매니페스트 파일 다음에 내 코드, (나는 이미 사용-권한 라인을 추가했습니다.)Android에서 URL을 읽을 수 없음
static public String[] barList()
{
ArrayList<String> bars = new ArrayList<String>();
try{
URL url = new URL("****");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String line = br.readLine();
while(line != null)
{
bars.add(line);
line = br.readLine();
}
br.close();
}
catch (IOException e) {
e.printStackTrace();
}
return (String[])bars.toArray();
}
여기에 매니페스트 파일입니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="aexp.explist">
<application>
<activity android:name=".ExpList" android:label="ExpList">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
무슨 일이 있었는지 암시 예외입니다 :-)하는 데 도움이? 'e.getMessage()' – Mike
어떤 이유로 프로그램을 디버깅 할 때 예외가 잡히지 않습니다. 나를 catch 블록으로 데려가는 대신 "Class.class"파일로 이동합니다. – Glockstock
이런 일이 발생하고 DDMS 퍼스펙티브에 있으면 녹색 "재생"버튼을 클릭하여 계속 진행하십시오. 필요한 경우이 작업을 몇 번 수행하면 마지막으로 LogCat 탭에서 스택 추적을 확인해야합니다. 그건 그렇고, 난 인터넷에 대해서만 내 에뮬레이터에서 코드를 테스트하고 오류가 발생하지 않았다. – Mike