相关疑难解决方法(0)

Android @Override用法

(新手到Java,旧时代的C#家伙.)

我注意到@OverrideAndroid示例代码中有很多用处.我认为所有Java方法都默认为"虚拟"?

然后做@Override什么?

例:

private class HelloWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

java android overriding

67
推荐指数
3
解决办法
6万
查看次数

AndroId MediaPlayer prepareAsync方法

我有一个奇怪的问题.我使用了prepareAsync方法MediaPlayer,但我声明的监听器永远不会被触发.我尝试.mp3从互联网(电台)流式传输实时信息.我为侦听器使用内联方法,但我也尝试实现接口而没有任何成功.这是我的代码的一部分:

在会员部分:

String url = "http://<my_url>.mp3";
MediaPlayer mediaPlayer = new MediaPlayer();
Run Code Online (Sandbox Code Playgroud)

在活动中onCreate():

ToggleButton playButton = (ToggleButton) findViewById(R.id.playToggleButton);
playButton.setOnClickListener(this);
playButton.clearFocus();
playButton.setClickable(false);

mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
    public void onPrepared(MediaPlayer mp) {
        ToggleButton playButton = (ToggleButton) findViewById(R.id.playToggleButton);
        playButton.setClickable(true);
        mp.start();
    }
});

preparePlayer();
Run Code Online (Sandbox Code Playgroud)

然后,这是preparePlayer()方法:

private void preparePlayer() {
    if (mediaPlayer == null) {
        mediaPlayer = new MediaPlayer();
    }
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {
        mediaPlayer.setDataSource(url);
        mediaPlayer.prepareAsync();

    } catch (IllegalArgumentException e) {
        Toast.makeText(
                MyStreamActivity.this,
                getResources().getString(R.string.erreurIllegalArgument),
                Toast.LENGTH_LONG).show();
        e.printStackTrace();
    } catch (IllegalStateException e) …
Run Code Online (Sandbox Code Playgroud)

android asynchronous prepare android-mediaplayer

11
推荐指数
1
解决办法
2万
查看次数