0

我需要一个类来获取设备上的艺术家、专辑和曲目,然后我将使用 JNI 来调用它们。

目前,在其准系统中,以下导致崩溃。

public class AndroidMediaLibray extends Activity {
    public void getArtists() {
        getContentResolver();
    }
}

我怎样才能让它不崩溃?

4

1 回答 1

0

您遇到的问题是您需要调用getContentResolver(). Context如果你在 an 中调用它Activity,你会自动在Contextof 中调用它Activity。但是您(可能)从未真正开始AndroidMediaLibrary。请参阅活动文档。如果你想在一个额外的类中调用 DB,你可以看看下面的代码。我用静态方法创建了一个类。我只需要将我给定的上下文传递给Activity该类。在您的情况下,该类可能如下所示:

public class AndroidMediaLibrary {

    public static List<String> getArtists(Context context){

        ArrayList<String> retVal = new ArrayList<String>();

        ContentResolver resolver = context.getContentResolver();        

        // some more stuff here.. 

        return retVal;
    }
}

您可以从 MainActivity 调用该函数:

List<String> myValues = DBUtils.someFunction(MainActivity.this);
于 2013-08-17T16:00:25.627 回答