Установить анимированный .GIF в качестве фона Android

Я новичок в Android, и у меня возникают проблемы при воспроизведении анимированного GIF-файла в фоновом режиме моего макета. Когда я запускаю приложение, фон представляет собой один кадр анимированного .gif, как картинка. Я провел исследование в основном в двух областях:

Ссылка ниже, где я получил наибольшую помощь.

Android OS Начало BlogSpot

Ссылка ниже заставляет меня думать, что ошибки, которые я получаю, как-то связаны с тем, что классы настроены как частные, общедоступные или защищенные.

Форумы Java

И здесь's Кодекс ----------------------------------------------- -------------------------------------------------- ------------------

Ошибки обозначаются как :: ERROR # :: с полными описаниями под кодом.

import java.io.InputStream;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Movie;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);

        setContentView(new MYGIFView());   :: ERROR 1 :: 
}
}

private class MYGIFView extends View{  :: ERROR 2 ::
    Movie movie,movie1;
    InputStream is=null , is1=null;
    long moviestart;
    public GIFView(Context context) {   :: ERROR 3 ::

        super(context);                 :: ERROR 4 ::

        is=context.getResources().openRawResource(R.drawable.swing);

        movie=Movie.decodeStream(is);
}

@Override
protected void onDraw(Canvas canvas) {

    canvas.drawColor(Color.WHITE);
    super.onDraw(canvas);
    long now=android.os.SystemClock.uptimeMillis();
    System.out.println("now="+now);
    if (moviestart == 0) { // first time
    moviestart = now;

}

System.out.println("\tmoviestart="+moviestart);
int relTime = (int)((now - moviestart) % movie.duration()) ;
System.out.println("time="+relTime+"\treltime="+movie.duration());
movie.setTime(relTime);
movie.draw(canvas,this.getWidth()/2-20,this.getHeight()/2-40);
this.invalidate();

}
}

:: Список ошибок :: Список ошибок :: Список ошибок :: Список ошибок :: Список ошибок :: Список ошибок ::

:: ОШИБКА 1 :: Конструктор MYGIFView () не виден

:: ОШИБКА 2 :: Неявный Super Constructor View () не определен для видимого конструктора

:: ОШИБКА 3 :: Тип возвращаемого значения для метода отсутствует

:: ОШИБКА 4 :: Вызов конструктора должен быть первым оператором в конструкторе.

---------- ОБНОВЛЕНИЕ --------- ОБНОВЛЕНИЕ ------------ ОБНОВЛЕНИЕ --------------- ОБНОВЛЕНИЕ ------------- ОБНОВЛЕНИЕ ---------- ОБНОВЛЕНИЕ --------- ОБНОВЛЕНИЕ ------------ ОБНОВЛЕНИЕ - ------------- ОБНОВЛЕНИЕ ------------- ОБНОВЛЕНИЕ --------- ОБНОВЛЕНИЕ ..

Я создал список анимации = res / drawable-hdpi / progress_animation.xml ..












.........................................



Я создал файл макета для размещения Image View = res / layout / activity_main.xml.






Java Class Activity для вызова ImageView и AnimationDrawable = com.example.apptwo / MainActivity.java ..

package com.exampleone.apptwo;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.view.Menu;
import android.widget.ImageView;

public class MainActivity extends Activity {

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

    setContentView(R.layout.acivity_main);
    ImageView img = (ImageView)findViewById(R.id.swing_play);
    img.setBackgroundResource(R.drawable.progress_animation);

    AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

    frameAnimation.start();
}

}

IDE не помечает ошибки в коде. Однако при запуске приложения мой эмулятор отображает белый фон с сообщением "К сожалению, AppTwo остановился. "

ErrorLog читает = "Исключение необработанного события Loop "

LOGCAT ------------------------------------------------- -------------------------------------------------- --------------------------------

Это фильтр сеанса LOGCAT

04-06 17:10:48.193: D/AndroidRuntime(989): Shutting down VM
04-06 17:10:48.193: W/dalvikvm(989): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
04-06 17:10:48.213: E/AndroidRuntime(989): FATAL EXCEPTION: main
04-06 17:10:48.213: E/AndroidRuntime(989): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.apptwo/com.example.apptwo.MainActivity}: java.lang.NullPointerException
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.os.Looper.loop(Looper.java:137)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.app.ActivityThread.main(ActivityThread.java:5041)
04-06 17:10:48.213: E/AndroidRuntime(989):  at java.lang.reflect.Method.invokeNative(Native Method)
04-06 17:10:48.213: E/AndroidRuntime(989):  at java.lang.reflect.Method.invoke(Method.java:511)
04-06 17:10:48.213: E/AndroidRuntime(989):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-06 17:10:48.213: E/AndroidRuntime(989):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-06 17:10:48.213: E/AndroidRuntime(989):  at dalvik.system.NativeStart.main(Native Method)
04-06 17:10:48.213: E/AndroidRuntime(989): Caused by: java.lang.NullPointerException
04-06 17:10:48.213: E/AndroidRuntime(989):  at com.example.apptwo.MainActivity.onCreate(MainActivity.java:14)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.app.Activity.performCreate(Activity.java:5104)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-06 17:10:48.213: E/AndroidRuntime(989):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
04-06 17:10:48.213: E/AndroidRuntime(989):  ... 11 more

Слишком много LogCat (всех сообщений) для публикации, но это ниже, кажется, важно во время ошибки ..

04-06 17:10:48.213: E/AndroidRuntime(989): FATAL EXCEPTION: main

ОБНОВЛЕНИЕ ДЛЯ LOGCAT С КОНТРОЛЕМ ВКЛЮЧЕНО! ! !

 : error opening trace file: No such file or directory (2)

 : GC_FOR_ALLOC freed 67K, 7% free 2500K/2688K, paused 49ms, total 54ms

 : I/dalvikvm-heap(1813): Grow heap (frag case) to 4.022MB for 1536016-byte allocation

 : D/dalvikvm(1813): GC_FOR_ALLOC freed 2K, 5% free 3998K/4192K, paused 125ms, total 125ms

 : D/dalvikvm(1813): GC_CONCURRENT freed 

Ответы на вопрос(3)

Ваш ответ на вопрос