Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行应用程序时缺少类_Java_Android_Android Fragments_Android Library - Fatal编程技术网

Java 运行应用程序时缺少类

Java 运行应用程序时缺少类,java,android,android-fragments,android-library,Java,Android,Android Fragments,Android Library,我正在一个示例应用程序中使用一个定制的Android库。库中有一个片段,必须从应用程序示例的主要活动中使用 我按照不同教程中的步骤使用它,因为没有一个教程100%地调整了我的项目 该片段包含以下代码: public class MapFragment extends Fragment implements MapView, OnMapReadyCallback { private static final float ZOOM_INITIAL = 12; private OnF

我正在一个示例应用程序中使用一个定制的Android库。库中有一个片段,必须从应用程序示例的主要活动中使用

我按照不同教程中的步骤使用它,因为没有一个教程100%地调整了我的项目

该片段包含以下代码:

public class MapFragment extends Fragment implements MapView, OnMapReadyCallback {

    private static final float ZOOM_INITIAL = 12;
    private OnFragmentInteractionListener mListener;
    private SupportMapFragment fragment;
    private GoogleMap googleMap;
    private Location initialLocation;
    private WifiSpotsMapPresenter presenter;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_wifi_spots_map, container, false);
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        this.googleMap = googleMap;

        centerInLocation(initialLocation);
    }

    private void centerInLocation(Location location) {
        LatLng myLaLn = new LatLng(location.getLatitude(), location.getLongitude());
        CameraPosition camPos = new CameraPosition.Builder().target(myLaLn).zoom(ZOOM_INITIAL).bearing(0).tilt(0).build();
        CameraUpdate camUpd3 = CameraUpdateFactory.newCameraPosition(camPos);
        googleMap.animateCamera(camUpd3);
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        init();
        initmap();
    }

    private void initmap() {
        FragmentManager fm = getChildFragmentManager();
        fragment = (SupportMapFragment) fm.findFragmentById(R.id.map);
        if (fragment == null) {
            fragment = SupportMapFragment.newInstance();
            fm.beginTransaction().replace(R.id.map, fragment).commit();
            fragment.getMapAsync(this);
        }
    }

    private void init() {
        initialLocation = new Location("");
        initialLocation.setLongitude(-3.742735);
        initialLocation.setLatitude(40.474886);

        presenter = new WifiSpotsMapPresenterImpl();
        presenter.setView(this);
    }

    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }

    public interface OnFragmentInteractionListener {
        void onFragmentInteraction(Uri uri);
    }
}
主要活动包括:

import example.sdk.ui.map.view.MapFragment;

public class MainActivity extends FragmentActivity implements MapFragment.OnFragmentInteractionListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void onFragmentInteraction(Uri uri) {

    }
}
在编程时,android studio可以完美地解决依赖关系,它一如既往地为我添加了导入,我可以完美地使用implements MapFragment.OnFragmentInteractionListener(编程时您不知道红色0错误)

问题是当我构建/运行它时。出现以下错误:

Error:(9, 83) error: cannot find symbol class OnFragmentInteractionListener
Error:(17, 5) error: method does not override or implement a method from a supertype
如果它在编程时能完美地解析类,那怎么可能呢?我错过了什么


Proguard已禁用

您是如何将jar放置在类路径中的?您必须使用jar在应用程序模块的gradle.build dependencies部分执行此操作!它不是一个.jar,而是一个android库:
编译项目(路径:':blabla.sdk')
如果它是一个AAR,你必须通过maven存储库访问它,可以是本地的。这是我的一个老话题,展示了它是如何工作的:大部分内容仍然是最新的。但它还没有编译,我的项目中有源代码。然后我没有clou你在那里做什么。本地库模块的引用应该像您描述的那样简单。对不起,您是如何将jar放置在类路径中的?您必须使用jar在应用程序模块的gradle.build dependencies部分执行此操作!它不是一个.jar,而是一个android库:
编译项目(路径:':blabla.sdk')
如果它是一个AAR,你必须通过maven存储库访问它,可以是本地的。这是我的一个老话题,展示了它是如何工作的:大部分内容仍然是最新的。但它还没有编译,我的项目中有源代码。然后我没有clou你在那里做什么。本地库模块的引用应该像您描述的那样简单。很抱歉