Tampilkan postingan dengan label Tutorial Android. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial Android. Tampilkan semua postingan
Selasa, 13 November 2012
Beberapa Tools/SDK/Engine Untuk Pengembangan Aplikasi Augmented Reality
Mau share Beberapa Tools/SDK/Engine Untuk Pengembangan Aplikasi Augmented Reality. Barangkali teman-teman ada yang berminat untuk membuat aplikasi Augmented Reality, langsung cek aja linknya :
Berbasis Marker & Gambar :
ARToolKit (http://www.hitl.washington.edu/artoolkit/)
FLARToolKit (http://www.libspark.org/wiki/saqoosha/FLARToolKit/en)
FLARManager (http://words.transmote.com/wp/flarmanager/)
SLARToolKit (http://slartoolkit.codeplex.com/)
NyARToolKit (http://nyatla.jp/nyartoolkit/wp/)
D'Fusion Studio (http://www.t-immersion.com/products/dfusion-suite/dfusion-studio)
metaio Unifeye Design (http://www.metaio.com/software/design/)
IN2AR (http://in2ar.com/)
ATOMIC Authoring Tool (http://www.sologicolibre.org/projects/atomic/en/index.php)
OpenSpace3D (http://www.openspace3d.com/)
Junaio (http://www.junaio.com/)
ARmedia Augmented Reality Plugin (http://www.inglobetechnologies.com/en/)
Aurasma (http://www.aurasma.com/)
AndAR (http://code.google.com/p/andar/)
ArUco (http://www.uco.es/investiga/grupos/ava/node/26)
BazAR (http://cvlab.epfl.ch/software/bazar/index.php)
DroidAR (http://code.google.com/p/droidar/)
flare*tracker (http://www.imagination.at/en/?Products:Augmented_Reality_for_Flash:flare%2Atracker)
flare*nft (http://www.imagination.at/en/?Products:Augmented_Reality_for_Flash:flare%2Anft)
Goblin XNA (http://goblinxna.codeplex.com/)
instantreality (http://www.instantreality.org/)
iPhone ARKit (http://www.iphonear.org/)
LinceoVR (http://linceovr.seac02.it/)
Eligo (http://eligo.seac02.it/)
Minerva (http://sourceforge.net/projects/minervaproject/)
MXRToolkit (http://mxrtoolkit.sourceforge.net/)
Popcode (http://www.popcode.info/)
PTAM (http://www.robots.ox.ac.uk/~gk/PTAM/)
Qoncept AR (http://www.kudan.eu/)
Robocortex (http://www.robocortex.com/)
SSTT (http://technotecture.com/augmentedreality)
String (http://www.poweredbystring.com/)
osgART (http://osgart.org/wiki/index.php/Main_Page)
Studierstube (http://studierstube.icg.tugraz.at/main.php)
Vuforia AR (https://developer.qualcomm.com/develop/mobile-technologies/augmented-reality)
Win AR (http://r2m.nus.edu.sg/cos/o.x?c=/r2m/license_product&ptid=5730&func=viewProd&pid=22)
windage (http://code.google.com/p/windage/)
YVision (http://www.yvision.com/)
ALVAR (www.vtt.fi/multimedia/alvar.html)
Layar (http://www.layar.com/)
SATCH (https://satch.jp/en/)
buildAR (https://buildar.com/)
onvert (http://onvert.com/)
Serge (http://www.sergesdk.com)
ARmsk (http://armsk.org/)
ARLab Image Matching (http://www.arlab.com/imagematching)
Designer's AR Toolkit (http://ael.gatech.edu/lab/research/design/dart/)
Obvious Engine (http://obviousengine.com/)
PointCloud (http://pointcloud.io/)
Berbasis Lokasi :
Layar (http://www.layar.com/)
Wikitude (http://www.wikitude.com/en/)
Junaio (http://www.junaio.com/)
Aurasma (http://www.aurasma.com/)
3DAR (http://3dar.us/)
DroidAR (http://code.google.com/p/droidar/)
instantreality (http://www.instantreality.org/)
KHARMA (https://research.cc.gatech.edu/kharma/)
mixare (http://www.mixare.org/)
LibreGeoSocial (http://www.libregeosocial.org/)
buildAR (https://buildar.com/)
Look! AR (http://www.lookar.net/)
ARLab AR Browser (http://www.arlab.com/arbrowser)
Berbasis Face Tracking :
Viewdle (http://viewdle.com/index.html)
Beyond Reality Face (http://www.beyond-reality-face.com/)
metaio Unifeye Design (http://www.metaio.com/software/design/)
instantreality (http://www.instantreality.org/)
Luxand FaceSDK (http://www.luxand.com/)
SHORE (http://www.iis.fraunhofer.de/en/bf/bsy/produkte/shore/)
Motion Nexus (http://motionnexus.com/)
Berbasis Skeleton Tracking :
Kinect for Windows SDK (http://www.microsoft.com/en-us/kinectforwindows/develop/)
PrimeSense OpenNI/NITE (http://www.primesense.com/en/openni)
AIRKinect (http://www.as3nui.com/air-kinect/)
OpenSpace3D (http://www.openspace3d.com/)
Motion Nexus (http://motionnexus.com/)
Minggu, 11 November 2012
Penyebab Force Close pada Android
Bagi kamu para developer Android pasti sudah familiar dengan namanya Force Close. Terkadang kita bingung padahal tidak ada error pada kodingan tapi setelah di Running kok malah muncul tulisan Force Close?
Nahh berikut ada beberapa penyebab aplikasi Force Close :
- Belum menambahkan user permission di manifest
- Belum mendaftarkan activity class di manifest
- Kesalahan pengaturan fill_parent atau wrap_content pada layout
- Aplikasi terlalu lama loading
- Salah tipe casting untuk findViewById() saat mereference ui widget
- Lupa menambahkan show() pada toast
- Tidak melakukan clean project setelah debbuging di xml
- Isi database tidak muncul karena memory yang kurang
- Terlalu banyak inner layout yang menyebabkan recursive
- Kesalahan pada coloum _id untuk dbase adapter
- Belum menambahkan android:id="@id/android:list" pada listView tag di xml layout jika Activity menggunakan extend ListActivity
- Pengaturan warna di Android adalah 32 ARGB integer value
Nahh sebelum kamu jadi panic at the disco coba cek dulu beberapa kesalahan diatas. Semoga bermanfaat :)
Kamis, 11 Oktober 2012
Mengatasi Internet Emulator Android yang Terhalang Proxy
Hello hello hello, selamat pagi teman-teman (nengok jam laptop menunjukkan pukul 06:22 pagi). Di pagi yang cerah ini sebelum praktikum PPCD (Pengantar Pengolahan Citra Digital) pengganti (karena hari senin kmaren kebetulan saya gak ikutan). Saya mau menyempatkan diri membuat atau memberi tips bagi kamu yang kesulitan internetan di Emulator Android karena ternyata kampus kamu menggunakan proxy. Padahal udah di setting dan internetan udah bisa! Tapi kok diemulatornya gak jalan ya?
Nahh gak usah pusing-pusing, sebenarnya kita hanya perlu sedikit menggunakan CMD dan menambahkan PATH emulator androidnya. Bagaimana caranya? Cekidott....
1. Tambahkan dulu lokasi tools SDK untuk emulator android ke dalam PATH. Lokasinya dimana ya? Hmm... Kalau kalian menggunakan ECLIPSE coba klik menu window -> preferences -> lalu pilih Android. Nahh nanti disana ada SDK Location, copy saja dan pastekan di File Explorer lalu masuk ke folder tools atau tambahkan saja tools pada ujung lokasi tadi. Kalau saya letaknya di C:\Users\Ozi Jendela-id\AppData\Local\Android\android-sdk\tools.
2. Setelah itu klik kanan pada My Computer -> Properties -> Advanced System Settings -> pada tab Advanced pilih Environment Variables. Lalu pada PATH tambahkan C:\Users\Ozi Jendela-id\AppData\Local\Android\android-sdk\tools. Setelah selesai klik OK.
3. Langkah selanjutnya buka CMD (Command Prompt) lalu run sebagai Administrator lalu ketikkan perintah :
namaEmulator : Ganti sesuai nama emulator yang kamu buat
Misal kalau di IPB saya menggunakan perintah seperti ini :
Oke, sudah selesai selamat besenang-senang dengan Androidnya :)
Nahh gak usah pusing-pusing, sebenarnya kita hanya perlu sedikit menggunakan CMD dan menambahkan PATH emulator androidnya. Bagaimana caranya? Cekidott....
1. Tambahkan dulu lokasi tools SDK untuk emulator android ke dalam PATH. Lokasinya dimana ya? Hmm... Kalau kalian menggunakan ECLIPSE coba klik menu window -> preferences -> lalu pilih Android. Nahh nanti disana ada SDK Location, copy saja dan pastekan di File Explorer lalu masuk ke folder tools atau tambahkan saja tools pada ujung lokasi tadi. Kalau saya letaknya di C:\Users\Ozi Jendela-id\AppData\Local\Android\android-sdk\tools.
2. Setelah itu klik kanan pada My Computer -> Properties -> Advanced System Settings -> pada tab Advanced pilih Environment Variables. Lalu pada PATH tambahkan C:\Users\Ozi Jendela-id\AppData\Local\Android\android-sdk\tools. Setelah selesai klik OK.
3. Langkah selanjutnya buka CMD (Command Prompt) lalu run sebagai Administrator lalu ketikkan perintah :
emulator -avd namaEmulator -http-proxy proxy:portKeterangan :
namaEmulator : Ganti sesuai nama emulator yang kamu buat
Misal kalau di IPB saya menggunakan perintah seperti ini :
emulator -avd Android233 -http-proxy http://172.17.0.18:8080
Oke, sudah selesai selamat besenang-senang dengan Androidnya :)
Senin, 01 Oktober 2012
Android Text to Speech | Tutorial Android
Kali ini saya mau berbagi contoh aplikasi sederhana Text to Speech pada Android. Aplikasinya sederhana saja, jadi nanti aplikasinya mengeluarkan suara dari Text yang kita inputkan. Mau tau gimana cara membuatnya? Cekidott....
1. Buat project baru dengan nama "TextToSpeech" dengan nama activity "AndroidTextToSpeechActivity" dan layoutnya "main".
2. Masukkan kodingan berikut pada AndroidTextToSpeechActivity.java
Sebelumnya buat dulu folder baru di res dengan nama drawable dan masukkan gambar ini (speak.png).
4. Habis itu coba RUN deh.... Kira-kira nanti keluarnya seperti ini,
Setelah itu coba masukkan text dan klik gambar speaker. Taraaa.... Ada suaranya kan? XD
1. Buat project baru dengan nama "TextToSpeech" dengan nama activity "AndroidTextToSpeechActivity" dan layoutnya "main".
2. Masukkan kodingan berikut pada AndroidTextToSpeechActivity.java
import java.util.Locale;3. Selanjutnya pada main.xml, masukkan ....
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
public class AndroidTextToSpeechActivity extends Activity implements
TextToSpeech.OnInitListener {
/** Called when the activity is first created. */
private TextToSpeech tts;
private ImageButton btnSpeak;
private EditText txtText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tts = new TextToSpeech(this, this);
btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
txtText = (EditText) findViewById(R.id.txtText);
// button on click event
btnSpeak.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
speakOut();
}
});
}
@Override
public void onDestroy() {
// Don't forget to shutdown!
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onDestroy();
}
public void onInit(int status) {
// TODO Auto-generated method stub
if (status == TextToSpeech.SUCCESS) {
int result = tts.setLanguage(Locale.US);
// tts.setPitch(5); // set pitch level
// tts.setSpeechRate(2); // set speech speed rate
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "Language is not supported");
} else {
btnSpeak.setEnabled(true);
speakOut();
}
} else {
Log.e("TTS", "Initilization Failed");
}
}
private void speakOut() {
String text = txtText.getText().toString();
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#ffffff">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Text To Speech"
android:padding="15dip"
android:textColor="#000000"
android:textSize="26dip"
android:gravity="center"
android:textStyle="bold"/>
<EditText android:id="@+id/txtText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Enter some text to speak"
android:layout_marginTop="20dip"
android:layout_margin="10dip"/>
<ImageButton
android:id="@+id/btnSpeak"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/speak" />
</LinearLayout>
Sebelumnya buat dulu folder baru di res dengan nama drawable dan masukkan gambar ini (speak.png).
4. Habis itu coba RUN deh.... Kira-kira nanti keluarnya seperti ini,
Setelah itu coba masukkan text dan klik gambar speaker. Taraaa.... Ada suaranya kan? XD
Senin, 23 Juli 2012
QuickAction 3D | Android
Nemu library Android yang mantap nih buat dicoba. Namanya QuickAction 3D, jadi fungsinya kalau nanti button-nya kita klik bakalan muncul beberapa pilihan menu yang bisa kita masukkan dan kita berikan action. Berikut kira-kira gambarannya :
Gimana? Mantap bukan? Semoga bisa bermanfaat... :)
![]() |
QuickAction 3D |
![]() |
QuickAction 3D - 2 |
![]() |
Kamis, 12 Juli 2012
Ramdroid Rev 1.1 | My First Android Project
- Tampilan untuk lihat arah kiblat
- Sedikit perbaikan untuk kalimat-kalimat pada do'a karena masih ada yang salah tulis, maklum typo :p
Berikut tampilan aplikasinya :
![]() |
Beranda |
![]() |
Jadwal Sholat |
![]() |
Arah Kiblat |
![]() |
Asmaul Husna |
![]() |
Do'a Harian |
![]() |
Ayat Motivasi |
![]() |
About |
jie.ilkom46ipb@gmail.com
Jumat, 08 Juni 2012
Membuat splash screen android
Yeahhh... Akhirnya kmaren selesai presentasi 2 project sekaligus. Sesuatu banget pokoknya :p Sekarang tanggung jawab saya tinggal PSBO (Pengembangan Sistem Berorientasi Objek), tapi projectnya belum saya kerjain padahal senin ini sudah mau UAS. Ckckck, semangatlahh...
Oke langsung saja ke topik utama yaitu bikin splash screen pada android. Sebelumnya teman-teman sudah pada tahu kan apa itu splash screen? Nahh splash screen itu adalah tampilan awal sebelum program dijalankan. Splash screen juga bisa digunakan untuk mempercantik aplikasi yang dibuat supaya aplikasinya kelihatan lebih professional gitu :p
Langsung saja ke kodingannya ya, supaya saya tidak panjang lebar lagi ngomongnya. hehe
Pertama kita buat splash.java
Selanjutnya kita buat splash.xml
Untuk splash.xml saya tambahin progressBar, supaya tampilannya lebih menarik :D
Terakhir untuk AndroidManifest.xml
Oke sudah selesai, segitu saja... hehe
Oke langsung saja ke topik utama yaitu bikin splash screen pada android. Sebelumnya teman-teman sudah pada tahu kan apa itu splash screen? Nahh splash screen itu adalah tampilan awal sebelum program dijalankan. Splash screen juga bisa digunakan untuk mempercantik aplikasi yang dibuat supaya aplikasinya kelihatan lebih professional gitu :p
Langsung saja ke kodingannya ya, supaya saya tidak panjang lebar lagi ngomongnya. hehe
Pertama kita buat splash.java
import jie.belajar.android.BuserActivity;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.MotionEvent;
public class Splash extends Activity {
protected boolean _active = true;
protected int _splashTime = 2000;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.splash);
// thread for displaying the SplashScreen
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while(_active && (waited < _splashTime)) {
sleep(100);
if(_active) {
waited += 100;
}
}
} catch(InterruptedException e) {
// do nothing
} finally {
finish();
Intent newIntent=new Intent(Splash.this,BuserActivity.class);
startActivityForResult(newIntent,0);
}
}
};
splashTread.start();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
_active = false;
}
return true;
}
}
Selanjutnya kita buat splash.xml
Untuk splash.xml saya tambahin progressBar, supaya tampilannya lebih menarik :D
<?xml version="1.0" encoding="utf-8"?>NB : Untuk yang berwarna Merah berarti saya membuat splash screen dari gambar dari folder drawable dengan nama splash.png.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|center_horizontal"
android:background="@drawable/splash">
<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Terakhir untuk AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jie.belajar.android"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Splash"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".BuserActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Oke sudah selesai, segitu saja... hehe
Kamis, 07 Juni 2012
Parsing timeline twitter with JSON | Android
Masih di minggu-minggu GALAU presentasi project dan UAS. Saya mau sharing-sharing dulu potongan-potongan kodingan yang bakalan saya pake buat project saya nantinya. Itung-itung bagi-bagi pengetahuan sama temen-temen dan juga sebagai catatan online bagi saya. :p
Skrinsut :
NB : Untuk yang warna merah, teman-teman bisa ganti dengan timeline apa yang mau teman-teman parsing. Kalau saya, parsing timeline-nya twitter BLUTransJakarta.
Gimana?? Udah bisa belum?? Haha, untuk lebih mudahnya download aja projectnya dimari.
Adapun yang mau saya bagi adalah cara Parsing timeline twitter dengan JSON untuk Android. Nah jadi intinya kita mau parsing twit-twitnya sasaran (ngomongnya sasaran... :p) kita supaya bisa ditampilin di Android kesayangan. Adapun caranya :
- Di Android manifest-nya jangan lupa tambahkan <uses-permission android:name="android.permission.INTERNET" /> dulu supaya nanti kita punya hak akses buat internet.
- Untuk di Main.xml-nya
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/json"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink = "all"
/>
</ScrollView>
- Nahh yang terakhir yang paling penting nih, kodingan [dot]java-nya
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class JSON extends Activity {
TextView json;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String twitterTimeline = getTwitterTimeline();
try {
String tweets = "";
JSONArray jsonArray = new JSONArray(twitterTimeline);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
tweets +="Transjakarta \n";
tweets += "" + jsonObject.getString("text") + "\n\n";
}
json= (TextView)findViewById(R.id.json);
json.setText(tweets);
} catch (JSONException e) {
e.printStackTrace();
}
}
public String getTwitterTimeline() {
StringBuilder builder = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://twitter.com/statuses/user_timeline/BLUTransJakarta.json");
try {
HttpResponse response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} else {
//Couldn't obtain the data
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return builder.toString();
}
}
Skrinsut :
![]() |
Twit-nya BLUTransjakarta |
NB : Untuk yang warna merah, teman-teman bisa ganti dengan timeline apa yang mau teman-teman parsing. Kalau saya, parsing timeline-nya twitter BLUTransJakarta.
Gimana?? Udah bisa belum?? Haha, untuk lebih mudahnya download aja projectnya dimari.
![]() |
Kamis, 24 Mei 2012
Tutorial Menampilkan CCTV Transjakarta di Android
Tutorial Menampilkan CCTV Transjakarta di Android - Yeahhh... sekarang saya lagi pusing-pusingnya dengan deadline seabrek project kuliah yang belum selesai sama sekali! haha #devil laugh. Lagi asyik-asyiknya mengutarakan isi hati di tulisan ini, saya mendapatkan berita yang menyedihkan.
Lanjut lagi ke pokok permasalah, yaitu bagaimana cara menampilkan CCTV nya Transjakarta dari websitenya yaitu transjakarta.co.id. Sebenarnya ini project kuliah saya dan sampai sekarang saya masih menggalau gimana caranya make algoritma A* untuk pencarian rute terdekatnya transjakarta, karena masih banyak project-project lain yang harus diselesaikan akhirnya project yang ini sedikit saya telantarkan :p. Maaf ya teman-teman T.T
Oke, karena saya lagi malas merangkai kata. Langsung saja saya bagikan source code menampilkan kamera CCTV transjakarta di ANDROID. Semoga bisa membantu teman-teman yang sedang belajar ANDROID seperti saya :D
Berikut Source codenya :
>> Main.xml
Note : Untuk Main.xml kita tambahkan ImageView sebagai tempat CCTVnya nanti.
>> Activity.java
Note :
Yapzz... Mungkin hanya sebatas itu yang bisa saya share ke teman-teman. Apabila ada salah-salah kata saya mohon maaf, karena saya juga masih NEUBIE dan baru belajar ANDROID.
Skrinsut aplikasi yang dibuat :
"Telah terjadi penembakan di Masjid Al-Hurriyyah IPB pada saat sholat Jum'at dan dari informasi yang saya dari @korpusIPB ada 2 orang korban, yang merupakan UKK (Unit Keamanan Kampus) dan dinyatakan sudah meninggal dunia". Innalillahiwainnailahi rojiun, semoga mereka meninggal dalam keadaan sahid. Amiennn, #Do'a mulai....
Lanjut lagi ke pokok permasalah, yaitu bagaimana cara menampilkan CCTV nya Transjakarta dari websitenya yaitu transjakarta.co.id. Sebenarnya ini project kuliah saya dan sampai sekarang saya masih menggalau gimana caranya make algoritma A* untuk pencarian rute terdekatnya transjakarta, karena masih banyak project-project lain yang harus diselesaikan akhirnya project yang ini sedikit saya telantarkan :p. Maaf ya teman-teman T.T
Oke, karena saya lagi malas merangkai kata. Langsung saja saya bagikan source code menampilkan kamera CCTV transjakarta di ANDROID. Semoga bisa membantu teman-teman yang sedang belajar ANDROID seperti saya :D
Berikut Source codenya :
>> Main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/gambar"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
></ImageView>
</LinearLayout>
Note : Untuk Main.xml kita tambahkan ImageView sebagai tempat CCTVnya nanti.
>> Activity.java
import java.io.InputStream;
import java.net.URL;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.widget.ImageView;
public class Cctv2Activity extends Activity {
ImageView iv;
Runnable jalankan;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
loadGambar();
jalankan = new Runnable() {
public void run() {
try {
loadGambar();
} catch (Exception e) {
e.printStackTrace();
}
new Handler().postDelayed(jalankan, 100);
}
};
new Handler().postDelayed(jalankan, 100);
}
private void loadGambar(){
try{
iv = (ImageView) findViewById(R.id.gambar);
URL url = new URL("http://transjakarta.co.id/haltecam/Bank_Indonesia.jpg?1337867289300");
InputStream is = (InputStream) url.getContent();
Drawable gambar = Drawable.createFromStream(is, "src");
iv.setImageDrawable(gambar);
is.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
Note :
- Penjelasan untuk yang berwarna BIRU : Fungsinya untuk mer-refresh gambar CCTV transjakarta dalam 100 miliseconds. Jadi CCTV transjakarta itu dikirimkan dalam bentuk gambar yang diperbarui terus perdetiknya. Nahh jadi kita harus menggunakan fungsi ini untuk memperbarui gambar tersebut terus menerus, kalau kita tidak menggunakan fungsi ini maka gambar yang akan kita lihat tidak akan pernah berubah kecuali kalau kita keluar aplikasi dan aplikasinya kita buka kembali.
- Penjelasan untuk yang berwarna MERAH : Itu merupakan URL dari CCTV di Halte Bank Indonesia, adapun cara mendapatkannya kita tinggal Klik kanan pada gambar CCTV di website transjakarta, lalu Copy Image URL. Setelah itu Paste-kan pada URL di kodingan kita tersebut.
Terakhir, kita jangan sampai lupa untuk menambahkan permissions untuk mengaktifkan internet di Manifest.xml.
>> Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jie.coba.lagi"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="6" />
<uses-permission android:name="android.permission.INTERNET"/> <application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Cctv2Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Yapzz... Mungkin hanya sebatas itu yang bisa saya share ke teman-teman. Apabila ada salah-salah kata saya mohon maaf, karena saya juga masih NEUBIE dan baru belajar ANDROID.
Skrinsut aplikasi yang dibuat :
![]() |
CCTV Halte BI |
Download source code disini.
Selamat berkreasi ^^
Jumat, 11 Mei 2012
Ubah file berekstensi apk ke java
Sebuah file berekstensi .apk bagi pengguna android tentu sudah tidak asing lagi. File dengan ekstensi .apk ini sering kali digunakan untuk meng-install aplikasi ke dalam device miliknya secara offline, sehingga tidak perlu menggunakan koneksi data agar dapat terhubung dengan google play strore.
Tapi bagaimana jika para pengembang ingin mempelajari logika kerja dari aplikasi berekstensi .apk tersebut sehingga bisa dirubah menjadi source code dalam ekstensi java? Seperti yang kita ketahui ketika kita mengembangkan aplikasi android, kita menggunakan file berekstensi .java. File tersebut akan dikompilasi menjadi dex agar dapat berjalan pada Dalvix Virtual Machine (DVM). File-file dex inilah yang akan dibungkus menjadi .apk. File berekstensi .apk ini bisa kita ilustrasikan seperti sebuah archive (zip file). Sehingga kita perlu meng-ekstract filenya menjadi file-file berekstensi .java.
>> Cara melakukannya :
Convert apk to jar :
1. Download dulu file berekstensi .apk di PC anda
2. Download Dex2Jar disini. Setelah itu ekstrak file .zip tersebut
3. Jalankan perintah untuk convert apk to jar
- Buka cmd
- Arahkan pada folder tempat Dex2Jar tadi berada
- Lalu ketik :
Setelah dijalankan, maka file 'targetapp.apk.dex2jar.jar' akan terbentuk.
Tapi bagaimana jika para pengembang ingin mempelajari logika kerja dari aplikasi berekstensi .apk tersebut sehingga bisa dirubah menjadi source code dalam ekstensi java? Seperti yang kita ketahui ketika kita mengembangkan aplikasi android, kita menggunakan file berekstensi .java. File tersebut akan dikompilasi menjadi dex agar dapat berjalan pada Dalvix Virtual Machine (DVM). File-file dex inilah yang akan dibungkus menjadi .apk. File berekstensi .apk ini bisa kita ilustrasikan seperti sebuah archive (zip file). Sehingga kita perlu meng-ekstract filenya menjadi file-file berekstensi .java.
>> Cara melakukannya :
Convert apk to jar :
1. Download dulu file berekstensi .apk di PC anda
2. Download Dex2Jar disini. Setelah itu ekstrak file .zip tersebut
3. Jalankan perintah untuk convert apk to jar
- Buka cmd
- Arahkan pada folder tempat Dex2Jar tadi berada
- Lalu ketik :
dex2jar targetapp.apk
![]() |
Setelah dijalankan, maka file 'targetapp.apk.dex2jar.jar' akan terbentuk.
Decompiling the Jar files to Java :
- Cara Pertama
1. Download dulu JavaDecompiler disini
2. Buka file yang telah teman-teman ubah dari apk menjadi jar tadi dengan menggunakan JS-GUI yang sudah teman-teman download.
![]() |
- Cara Kedua
1. Download dulu JAD disini
2. Extract file jar ke folder dengan nama "src". Gunakan utility seperti winzip, winrar dan sejenisnya. (folder "src" harus berada menjadi satu dengan folder dimana file JAD dan targetapp.jar tadi berada).
![]() |
3. Buka file dengan menggunakan JAD. Dengan cmd jalankan dengan menggunakan perintah berikut :
jad -o -r -sjava -dsrc src/**/*.class
![]() |
4. Oke! Sekarang folder src akan berisi file java yang telah dicompile yang siap untuk diperiksa dan dipelajari kode manualnya.
![]() |
Catatan :
Ada beberapa file .apk yang di proteksi oleh pengembang (developer), sehingga tidak semua file .apk bisa di decompile.
Sumber : http://maxiandroid.blogspot.com/2012/03/decompile-apk-menjadi-java-source-code.html
Langganan:
Postingan (Atom)