praktikum xi s1 animasi - mynameadam.files.wordpress.com · gambaractivity.java ... tambahkan pula...
TRANSCRIPT
Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 1
Praktikum XI
Animasi dan Multimedia
Pokok bahasan:
• Animasi dan multimedia
• Membuat aplikasi yang melibatkan komponen multimedia
Tujuan Belajar:
Setelah mempelajari modul ini mahasiswa diharapkan mengetahui:
• Aplikasi yang melibatkan multimedia
• Membuat aplikasi animasi
Teori Dasar
Animasi
Prinsip animasi adalah menjalankan urutan image dalam waktu tertentu.. Gerakan gambar
secara berurutan sehingga membentuk “ilusi” gambar bergerak. Animasi dalam android juga
menerapkan prinsip tertentu.
Tipe Animasi pada Android
• Animasi Frame by frame
• Animasi Layout
• Animasi View/view animation
• Tweening animation
Modul Praktikum Pemrograman IV
Percobaan di bawah ini akan membuat aplikasi android tentang tangan begerak dan bersuara.
Terdapat dua file activity, image untuk animasi dan asset untuk menyimpan file audio
GambarActivity.java
package com.example.mencoba;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class GambarActivity extends Activity {
ImageView gambar;
ImageView image_content;
Bundle b;
String nama;
MediaPlayer mp;
Handler mHandler = new Handler();
private volatile Thread menyapa = new Thread();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Pemrograman IV -adam_ab-2014
Ilustrasi animasi frame by frame
akan membuat aplikasi android tentang tangan begerak dan bersuara.
Terdapat dua file activity, image untuk animasi dan asset untuk menyimpan file audio
package com.example.mencoba;
ediaPlayer;
import android.widget.ImageView;
public class GambarActivity extends Activity {
ImageView image_content;
Handler mHandler = new Handler();
private volatile Thread menyapa = new Thread();
protected void onCreate(Bundle savedInstanceState) {
generated method stub
super.onCreate(savedInstanceState);
Hal 2
akan membuat aplikasi android tentang tangan begerak dan bersuara.
Terdapat dua file activity, image untuk animasi dan asset untuk menyimpan file audio
Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 3
setContentView(R.layout.activity_gambar);
b = getIntent().getExtras();
nama = b.getString("name");
Button TombolKembali = (Button) findViewById(R.id.button1);
TombolKembali.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
menyapa.interrupt();
StopSound();
finish();
}
});
gerakan_Goodbye();
}
public void PlaySound(String nama) {
StopSound();
int m6jrdf = getResources().getIdentifier(getPackageName() + ":raw/" + nama, null, null);
mp = MediaPlayer.create(this, m6jrdf);
mp.start();
}
public void StopSound() {
if (mp != null) {
mp.release();
mp = null;
}
}
public void gerakan_Goodbye() {
// setContentView(R.layout.activity_gambar);
gambar = (ImageView) findViewById(R.id.gambar);
// bener
Runnable lari = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(1000);
Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 4
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
gambar.setImageResource(R.drawable.animasi_b);
}
});
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
PlaySound("sayonara");
gambar.setImageResource(R.drawable.animasi_a);
}
});
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
gambar.setImageResource(R.drawable.animasi_b);
}
});
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
PlaySound("sayonara");
gambar.setImageResource(R.drawable.animasi_a);
}
});
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
gambar.setImageResource(R.drawable.animasi_b);
Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 5
}
});
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
gambar.setImageResource(R.drawable.animasi_a);
}
});
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
PlaySound("sayonara");
gambar.setImageResource(R.drawable.animasi_b);
}
});
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
menyapa.interrupt();
menyapa = null;
menyapa = new Thread(lari);
menyapa.start();
// bener
}
}
Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 6
MainActivity.java
package com.example.mencoba;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bGerakanTangan = (Button) findViewById(R.id.bSay);
bGerakanTangan.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View arg0) {
// TODO Auto-generated method stub
//memanggil class GambarActivity.java
Intent intent = new Intent(getBaseContext(),GambarActivity.class);
Bundle b = new Bundle();
b.putString("name", "GoodBye");
intent.putExtras(b);
startActivity(intent);
}
});
}
}
Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 8
Activity_gambar.xml
Jangan lupa tambahkan activity dalan androidManifest.xml
<activity android:name=".GambarActivity"></activity>
Tambahkan pula suara dalam folder “raw” yang Anda buat. Dalam project ini nama file suara
adalah sayonara.mp3. Lihat struktur file di bawah ini dan Jalankan aplikasi tersebut
Modul Praktikum Pemrograman IV
Pemrograman IV -adam_ab-2014
Tampilan di emulator
Aplikasi terinstall
Hal 10
Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 11
Aplikasi SMS
Main_Activity.java
package com.example.kirimsms;
import android.app.Activity;
import android.os.Bundle;
import android.app.PendingIntent; import android.content.Intent;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
Button btnSendSMS;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSendSMS = (Button) findViewById(R.id.btnSendSMS);
btnSendSMS.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { // sendSMS("5554","ini sms dariku lho!");
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.putExtra("5556", "5554");
i.putExtra("sms_body", "hello teman!");
i.setType("vnd.android-dir/mms-sms"); startActivity(i);
} });
}
// ---kirim sms ke AVD lainnya ---
private void sendSMS(String phoneNumber, String message) { SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null); }
}
Modul Praktikum Pemrograman IV
Activity_main.xml
<?xml version="1.0" encoding
<RelativeLayout xmlns:android xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity"
<TextView
android:layout_width
android:layout_height android:id="@+id/textview"
android:text="aplikasi kirim SMS"
<Button
android:id="@+id/btnSendSMS"
android:layout_width
android:layout_height
android:onClick="backtoMenu"
android:layout_below
android:text="Send SMS"
</RelativeLayout>
Tambahkan uses permision pada AndroidManifest.xml
Jalankan aplikasi tersebut serta jalankan
Pemrograman IV -adam_ab-2014
encoding="UTF-8"?>
xmlns:android="http://schemas.android.com/apk/res/android""http://schemas.android.com/tools"
"match_parent"
"match_parent"
"@dimen/activity_vertical_margin"
"@dimen/activity_horizontal_margin" "@dimen/activity_horizontal_margin"
"@dimen/activity_vertical_margin" ".MainActivity" >
android:layout_width="wrap_content"
android:layout_height="wrap_content" "@+id/textview"
"aplikasi kirim SMS" />
"@+id/btnSendSMS"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
"backtoMenu"
android:layout_below="@id/textview"
"Send SMS" />
uses permision pada AndroidManifest.xml
aplikasi tersebut serta jalankan dua emulator
Hal 12
"http://schemas.android.com/apk/res/android"