jis*_*ter 0 java arrays string syntax-error
我有这行代码:
String[] projection = {MediaStore.Audio.Media._ID, MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,MediaStore.Audio.Media.DURATION};
Run Code Online (Sandbox Code Playgroud)
哪个应该可以工作,但是eclipse给了我一个错误:"令牌上的语法错误";",预期"
这是我的代码的上半部分:
public class Main extends Activity implements OnClickListener
{
ListView lv;
static final int check = 1111;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.listView1);
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(this);
}
Cursor cursor;
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
String[] projection = {MediaStore.Audio.Media._ID, MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.DURATION};
cursor = this.managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection, selection, null, null);
private List<String> songs = new ArrayList<String>();
while(cursor.moveToNext())
{
songs.add(cursor.getString(0) + "||" + cursor.getString(1) + "||" + cursor.getString(2) + "||" + cursor.getString(3) + "||" + cursor.getString(4) + "||" + cursor.getString(5));
}
Run Code Online (Sandbox Code Playgroud)
下一行代码:
cursor = this.managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection, selection, null, null);
Run Code Online (Sandbox Code Playgroud)
需要在方法或构造函数(或某种类型的init块)中.它不能像你现在一样在课堂上闲逛.请注意,根据@MarounMaroun,您有其他具有相同问题的代码 - 例如您的下一个while循环.或者你可以在这一点上声明游标,虽然这可能有风险,因为如果你这样做的话,如果你有这样做的话,就不能捕捉异常.
考虑通过将所有变量声明放在一起(我通常将它们放在顶部),然后是构造函数,然后是方法,来更好地组织代码.