Augmented Reality Browser in 10 minutes with Wikitude API

This blog post is a simple tutorial to demonstrate how easy it is to set up a full fledge Augmented Reality browser with Wikitude API. It will only take 10 minutes of your time in its most simplest form, ready to be customized with your own needs. It should be easy enough to let you innovate on your own. For this to happen, I assume you already have these items ready with your setup: ...

February 19, 2012 · Batista Harahap

Android - AsyncTask Is A Beauty - Part 2

Here goes the second part of a short tutorial of how beautiful AsyncTask is, the first tutorial is here. Now that we’re moving up to our second activity which is Hacktivate, a brief description about it is that this activity essentially puts all the data retrieved previously and populate a custom layout ListView. To make reading and understanding easier, here are the codes first before anything else. package com.bango.acerid; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.jsoup.Jsoup; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.os.AsyncTask; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; public class Hacktivate extends Activity { private String jsonStr = ""; private JSONObject json; private List images = new ArrayList(); private List titles = new ArrayList(); private List writers = new ArrayList(); private List dates = new ArrayList(); private List links = new ArrayList(); private List body = new ArrayList(); private List description = new ArrayList(); private ArticleAdapter adapter = new ArticleAdapter(); private List l = new ArrayList(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.hacktivate); Bundle the = getIntent().getExtras(); jsonStr = (the != null) ? the.getString("listData") : ""; parseJson(jsonStr); ListView articleList = (ListView) findViewById(R.id.list); articleList.setAdapter(adapter); final Intent i = new Intent(this, PostViewer.class); articleList.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { i.putExtra("wvUrl", links.get(position)); i.putExtra("wvBody", body.get(position)); Hacktivate.this.startActivity(i); } }); } private void parseJson(String j) { try { json = new JSONObject(j); JSONArray rss = json.getJSONArray("rss"); int max = rss.length(); for(int i=0; i...

May 26, 2011 · Batista Harahap

Android - AsyncTask Is A Beauty - Part 1

Since last weekend, I’ve been coding more on Android and although the topic about AsyncTask is nothing new, I just wanna bring it up again to appreciate its simplicity and more importantly in real world usable best practice. So I decided to create an RSS client from FeedBurner and this time to get feeds from AcerID.com. The application basically loads all the feeds with its first Activity, show it with the second activity and another helper Activity to send direct emails for questions related with Acer products. Do mind the layout, it’s quite plain but it’s usable nonetheless. So before going on with the tutorial, I’m gonna show some screenshots from and MDPI emulator running Eclair and XHDPI emulator running HoneyComb. ...

May 26, 2011 · Batista Harahap

Sphinx - Fulltext Search Engine - Part 1

It has been a few weeks after my first encounter with this Egyptian named gem called Sphinx. At first glance, it’s complicated when looking at an already made sphinx.conf. However, after careful redesigning and re-tinkering, it turns out to be one of the most flexible and yet light fulltext search engine available today. There are others but nothing as light, fast and sleek as Sphinx. The cold truth is that Sphinx is supporting SQL based databases as far as I know. Since Urbanesia is already using MySQL as our backend, we’re lucky. ...

November 24, 2010 · Batista Harahap

Augmented Reality with #Wikitude API

I told you before that I’m gonna talk about another Augmented Reality framework. The framework is a great product from one of Augmented Reality’s early adopter namely Wikitude. Generally speaking, it’s more complicated than Mixare but offers more customization and definitely more features. I’m gonna build this tutorial with the following features: External Data Source - I'm using JSON from Urbanesia.com API. In-app WebView bindings - To display WebViews of any POIs URL. I haven't explore all the possibilities within Wikitude's API because of its lack of documentation. I'm really interested in its ability to handle Callbacks from clicked POIs. Haven't got the time to do so. That'll be another chapter of my tutorials. So to start off, for every project, you must include Wikitude’s API in your apps. Download it from here and get an API key while you’re at it. ...

May 12, 2010 · Batista Harahap

Another #Mixare Snippet

Lately, there’s been quite an amount of traffic to my blog related to Mixare. So I figure why not share more insights. You are most welcomed to share too by commenting this or other Mixare posts. To be honest, I’ve been focusing my efforts with another yet closed source Augmented Reality viewer in Android. I will post a tutorial soon. From all the frameworks I got my hands on, I must say Mixare is the simplest and most definitely easier to implement than any other frameworks. I accentuated simple because the app itself is still very simple and in its early stages of development. I would be happy to have the ability to replace the circles in every POIs with an icon of my own. It’s a viewer, that’s it (for now). ...

May 12, 2010 · Batista Harahap

Mixare Augmented Reality Tutorial

Good evening to you guys before I start. [flashvideo file=http://www.bango29.com/mixare.flv /] I’ve been in guerilla mode for Augmented Reality solutions these past few weeks and I found Mixare to be one of the best to date. It’s Open Source and have put enough knowledge in my head to make my own app. I wanna share the knowledge I got from Mixare. This is my contribution. Before starting, please make sure you have all the requirements of a regular Android development environment. I’m using Eclipse Galileo with Android SDK Tools Revision 5. My target build is for Android 2.1 API Level 7. ...

April 26, 2010 · Batista Harahap

Mobile Augmented Reality, A Basic Tutorial - Part 1

On my last post, I mentioned the definition of Augmented Reality (AR). Now I’m adding the word Mobile to it. At the current time, platforms that I’ve tried to developed upon supporting AR are iPhone and Android. Well actually I coded once and used Titanium Developer to make the actual executable files for each platform. Titanium offers current web standards as a mean to create those mobile applications. I’m now using Titanium Developer 1.0 with the 1.1 Mobile SDK. The requirements to be able to run Titanium and produce for iPhone & Android are: ...

April 6, 2010 · Batista Harahap