我開發了一個具有逐幀動畫的應用程序。我從可繪製文件夾獲取資源。所以我的apk的大小是巨大的。現在我想從服務器獲取資源,但我無法想出這樣做的想法。 我已經把我的代碼在這裏從動畫服務器獲取資源
的main.xml ::
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView android:id="@+id/simple_anim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, XMLAnimation"
/>
<Button android:text="Button"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>
frame_animation_girl.xml ::
<animation-list xmlns:android=
"http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/girl0001" android:duration="20" />
<item android:drawable="@drawable/girl0002" android:duration="20" />
<item android:drawable="@drawable/girl0003" android:duration="20" />
<item android:drawable="@drawable/girl0004" android:duration="20" />
<item android:drawable="@drawable/girl0005" android:duration="20" />
<item android:drawable="@drawable/girl0006" android:duration="20" />
</animation-list>
的Java文件::
ImageView img = (ImageView) findViewById(R.id.simple_anim);
img.setBackgroundResource(R.drawable.frame_animation_girl);
MyAnimationRoutine mar = new MyAnimationRoutine();
MyAnimationRoutine2 mar2 = new MyAnimationRoutine2();
Timer t = new Timer(false);
t.schedule(mar, 100);
Timer t2 = new Timer(false);
t2.schedule(mar2, 5000);
Buttona = (Button) findViewById(R.id.button1);
final Intent animationIntent = new Intent(this, TranningIntent.class);
Buttona.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(animationIntent);
finish();
}
});
}
class MyAnimationRoutine extends TimerTask {
MyAnimationRoutine() {
}
public void run() {
ImageView img = (ImageView) findViewById(R.id.simple_anim);
// Get the background, which has been compiled to an
// AnimationDrawable object.
AnimationDrawable frameAnimation = (AnimationDrawable) img
.getBackground();
// Start the animation (looped playback by default).
frameAnimation.start();
}
}
class MyAnimationRoutine2 extends TimerTask {
MyAnimationRoutine2() {
}
public void run() {
ImageView img = (ImageView) findViewById(R.id.simple_anim);
// Get the background, which has been compiled to an
// AnimationDrawable object.
AnimationDrawable frameAnimation = (AnimationDrawable) img
.getBackground();
// stop the animation (looped playback by default).
/* frameAnimation.stop(); */
}
}
}