javax.* 无法导入到我的安卓应用中?

2022-09-01 09:44:44

我正在尝试在我的Android应用程序中导入一些类,但我不断在Android Studio中遇到编译器错误。我使用的是 Ubuntu Linux 13.04。javax.*

这是我的进口:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
// Here are the imports I am having trouble with:
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.SourceDataLine;

当我尝试运行应用程序甚至编译活动java文件时,我收到以下错误:

Gradle: error: package javax.sound.sampled does not exist
Gradle: error: package javax.sound.sampled does not exist
Gradle: error: package javax.sound.sampled does not exist

我只是无法弄清楚这个问题。任何帮助都会很棒!


答案 1

请注意,当您运行Android应用程序时:您不会在标准JVM / JDK上运行/编译它,您甚至不会执行java字节码。谷歌选择java语言(或者至少是它的一个子集)作为进行Android开发的语言,但它只是语言。

最后编译的java代码不是java字节码,但这是dalvik字节码。(没有.class文件,但有 .dex 文件)

因此,在进行Android开发时:您不能使用完整的JavaSE API:您仅限于dalvik VM支持的API(可在此处获得)。

(请注意,浏览此 API 时,请注意页面右上角的版本:在 API 级别 X 中添加。它会通知您有关支持该类或方法的Android-API版本)


答案 2

这些类不包含在 Android 库中。您必须使用Android特定的声音API。请参见: http://developer.android.com/reference/android/media/package-summary.html


推荐