当前位置:编程学习 > wap >>

context.getAssets().list("")方法的问题

package com.example.tttttttt;

import java.io.IOException;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for (int i = 0; i < getsearch(this).length; i++) {
System.out.println("////////////" + getsearch(this)[i]);
}
}

public String[] getsearch(Context context) {

String[] s = null;
try {
s = context.getAssets().list("");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return s;

}

}


我想得到assets下的所有文件,但是会出现以下情况。

05-15 03:13:14.750: W/dalvikvm(938): ReferenceTable overflow (max=512)
05-15 03:13:14.750: W/dalvikvm(938): Last 10 entries in JNI local reference table:
05-15 03:13:14.750: W/dalvikvm(938):   502: 0x43e735a8 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   503: 0x43e735f8 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   504: 0x43e73648 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   505: 0x43e73698 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   506: 0x43e736e8 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   507: 0x43e73738 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   508: 0x43e73788 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   509: 0x43e737d8 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   510: 0x43e73828 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.750: W/dalvikvm(938):   511: 0x43e73878 cls=Ljava/lang/String; (28 bytes)
05-15 03:13:14.771: W/dalvikvm(938): JNI local reference table summary (512 entries):
05-15 03:13:14.771: W/dalvikvm(938):     3 of Ljava/lang/Class; 164B (2 unique)
05-15 03:13:14.771: W/dalvikvm(938):   507 of Ljava/lang/String; 28B (507 unique)
05-15 03:13:14.784: W/dalvikvm(938):     1 of [Ljava/lang/String; 28B
05-15 03:13:14.784: W/dalvikvm(938):     1 of [Ljava/lang/String; 2524B
05-15 03:13:14.784: W/dalvikvm(938): Memory held directly by tracked refs is 17076 bytes
05-15 03:13:14.784: E/dalvikvm(938): Failed adding to JNI local ref table (has 512 entries)
05-15 03:13:14.784: I/dalvikvm(938): "main" prio=5 tid=1 RUNNABLE
05-15 03:13:14.784: I/dalvikvm(938):   | group="main" sCount=0 dsCount=0 s=N obj=0x4001d8e0 self=0xccb0
05-15 03:13:14.784: I/dalvikvm(938):   | sysTid=938 nice=0 sched=0/0 cgrp=default handle=-1345026008
05-15 03:13:14.784: I/dalvikvm(938):   | schedstat=( 760918151 539313415 71 )
05-15 03:13:14.784: I/dalvikvm(938):   at android.content.res.AssetManager.list(Native Method)
05-15 03:13:14.784: I/dalvikvm(938):   at com.example.tttttttt.MainActivity.getsearch(MainActivity.java:26)
05-15 03:13:14.784: I/dalvikvm(938):   at com.example.tttttttt.MainActivity.onCreate(MainActivity.java:16)
05-15 03:13:14.784: I/dalvikvm(938):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-15 03:13:14.784: I/dalvikvm(938):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
05-15 03:13:14.784: I/dalvikvm(938):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-15 03:13:14.784: I/dalvikvm(938):   at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-15 03:13:14.784: I/dalvikvm(938):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-15 03:13:14.784: I/dalvikvm(938):   at android.os.Handler.dispatchMessage(Handler.java:99)
05-15 03:13:14.784: I/dalvikvm(938):   at android.os.Looper.loop(Looper.java:123)
05-15 03:13:14.784: I/dalvikvm(938):   at android.app.ActivityThread.main(ActivityThread.java:4627)
05-15 03:13:14.784: I/dalvikvm(938):   at java.lang.reflect.Method.invokeNative(Native Method)
05-15 03:13:14.784: I/dalvikvm(938):   at java.lang.reflect.Method.invoke(Method.java:521)
05-15 03:13:14.790: I/dalvikvm(938):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-15 03:13:14.790: I/dalvikvm(938):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-15 03:13:14.790: I/dalvikvm(938):   at dalvik.system.NativeStart.main(Native Method)
05-15 03:13:14.790: E/dalvikvm(938): VM aborting



各位大神们,求解! getAssets().list() --------------------编程问答--------------------

for (int i = 0; i < getsearch(this).length; i++) {
System.out.println("////////////" + getsearch(this)[i]);
}
每次getsearch(this).length 都不是一个String[]了
你应该先getsearch(this)一次 把获取的String[] 引用保存
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,