Friday, September 26, 2014

Android Library Project and its usage

"Android Library projects contain shareable Android source code and resources that you can reference in Android projects. This is useful when you have common code that you want to reuse. Library projects cannot be installed onto a device, however, they are pulled into the .apk file at build time." 

When creating a new Android project you can mark a project as ‘Library’ project. This will create a project that can be shared/used in multiple projects. You cannot run/install the library project stand alone instead you have to reuse it in Android project.

How to mark a project as library:

Create a new Android project that will use the library project. Library project can be added as reference as follows:
  • Android Project > Properties > Android (left option) > Library (bottom right pane) > Add


Click ‘Apply’ > ‘OK’

  • To use the library class activities in android project, 'import' the library references where ever you are using library files.
  • To launch the library activity you should have that activity listed in your Android project 'AndroidManifest.xml'.
  • Don’t make files (Layouts, Classes, XML’s) with the same name in main and library projects. This can cause problems at run time. What I have noticed is that if you have same name layouts in both projects the library layout got overridden and parent layout will be used.


Saturday, September 13, 2014

Bahrain - Buildings and Architecture

Bahrain is one of the very fast growing countries around the Arab world and is considered as a major tourist centers in Middle East. Some major development has been made in last few years to make country more tourist attractive. Though Bahrain is a very small country but it still has a potential to generate a good revenue and maintains good standard of living. Lets look at some of the renowned places in Bahrain where I have been so far:

Bab Al Bahrain (Gate of Bahrain) is a historical gate of Bahrain which now a days is used as an entrance to Manama market. Previously it was with the edge of sea and fishermen's are used it to starting point of fishing and trading.

This is Bahrain's Financial Harbor building, the tallest and modern building on the main Bahrain highway.

Mosques in Bahrain are very attractive and some of them are kept as historic. Al Fateh Grand Mosque is the biggest on island.

This is Bahrain World Trade Center the most renowned structure in Bahrain. It is close to main (King Faisal) highway. This unique structure is a tower complex connected with three bridges having wind tribunes on it. These tribunes helps in power generation that is consumed in building. Making of this structure is also covered in National Geographic as one of the mega structures.

Bahrain Circuit (Area for World Formula One Championship): The Bahrain International Circuit is a motorsport venue opened in 2004 and used for drag racing, GP2 and the annual Bahrain Grand Prix. The 2004 Grand Prix was the first held in the Middle East.

Skyline (Manama and Al Muharraq):

Bahrain Museum and other visiting points:

Amwaj Lagoon:

Random Structures:

Lots of Malls are in Bahrain such as City Center, Seef Mall, Geant, Dana Mall, Bahrain Mall etc.

Some good parks, water parks are there for family outings.

More will be added as soon as I will be visiting there.


Friday, May 30, 2014

Manipulating PDF document using iText library

There are several libraries that can be used to manipulate a PDF document like PDFBox, iText, PDFClows etc. I also have to do some PDF manipulation stuff and I decided to go with iText. I choose iText because it supports low level PDF manipulation, its community is very strong, lots of helping hands are available and it is also open source and available in both Java and C#.

iText allows you to create a PDF doument, add content in it, update content and save it. I have tried following basic features so far and found it really interesting:

  • With low level support one can add a text chunk, paragraph, phrase, link, chapter, section, image, set text color and other attributes into the document. 
  • You can also create a table/grid inside a PDF document and play with each cell of the table.
  • It is also easy to read an existing PDF document. You can retrieve existing information related to document and pages.
  • Using iText one can also fill up an empty PDF template.
  • It allows to set javascript in a PDF document to make a document interactive. Document can be also be navigated to a particular page. Creating bookmarks, annotations and triggering javascirpt from a button can also be done using iText.
  • Document can also be password encrypted to allow/disallow certain actions that can be done the document.
  • Whole PDF document can also be signed using a certificate to make the document secure.
There is also a book on how to play with PDFs using iText in ActionHe is the author of iText in Action and is very supportive on stackoverflow. I also have some questions regarding iText on stackoverflow on this link.