stringBuilder 객체를 내 주요 활동으로 가져 오려고합니다. 나는 내 json 파일을 검사하거나 잘 작동하는 코드를 파싱한다. 그러나 stringbuilder를 가져 오려고하면 오류가 발생했습니다. 첨부 된 스택 추적에서 리소스가 획득되었지만 해제되지 않았습니다. 리소스 누출을 피하는 방법에 대한 정보는 java.io.Closeable을 참조하십시오. java.lang.Throwable의 : 호출되지 닫기를 명시 종료 방법은오류없이 안드로이드에 문자열을 전달하는 방법 - 첨부 된 스택 추적에서 리소스가 획득되었지만 결코 해제되지 않았습니다.
코드 Server.java에 대한
`
public class Server extends Activity {
static StringBuilder stringBuilder = new StringBuilder();
public Server(){
try {
JSONObject obj = new JSONObject(loadJSONFromAsset());
JSONArray project = obj.getJSONArray("project");
for (int i = 0; i < project.length(); i++) {
JSONObject ss = project.getJSONObject(i);
stringBuilder.append(ss.getString("title") + "\n");
JSONArray post = ss.getJSONArray("posts");
for(int j = 0; j < post.length();j++){
JSONObject posts = post.getJSONObject(j);
stringBuilder.append(posts.getString("id") +"\n");
JSONArray tag = posts.getJSONArray("tags");
for(int k = 0; k < tag.length();k++){
stringBuilder.append(tag.getString(k) +"\n");
}
}
}
}
catch (JSONException e) {
stringBuilder.append("error");
e.printStackTrace();
}
}
public String getString(){
return stringBuilder.toString();
}
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("cat.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}}
아래로하고 여기 내 MainActivity.java
입니다public class MainActivity extends Activity {
TextView jsonDataTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
jsonDataTextView = (TextView) findViewById(R.id.textView);
Server s = new Server();
jsonDataTextView.setText(s.stringBuilder.toString());} }
해결책이 있습니까?
내가 직접 테스트하지 않은,하지만 난 당신이에 I/O 스트림을 닫는 것 같아요 'try' 블록. 예외가 발생하면 스트림이 닫히지 않습니다. 'finally' 블록을 추가하고 그 안에'is.close();'라고 써야합니다. –
Server 클래스가 Activity를 확장하는 이유는 무엇입니까? – Gorcyn
getAssets는 그것을 원합니다 @Gorcyn –