Monday, November 7, 2011

SystemProperties in Android: Use them in Framework c files

Hi all,
Here I am with one more android blog. We generally used Sharedpreferences in Android to share information between Activities. But what if you want to have something at the time of boot. For that there is one solution which is systemproperties, using those you can share information or values at the time of boot. So for example if you want to save some settings by user, which should be applicable at the time boot. So do following
SystemProperties.set(String key, String val) // where key is name of property
Now to retrieve it in Java files you can directly use
SystemProperties.get(String key)
But if you want it in boot time it should be in cpp files so use
property_get( String name, char* var, NULL)
/* where name is property name, var is the variable in which u want to store value last parameter is for the default value which will be assigned to var when no property set.*/
And for the java things you can check Systemproperties.java for apis for different type of data
types. Although for cpp it is only supported for string type And if you want to save any property through c files, use property_set() method.
Hope it will you too, as it was really save my day.

Saturday, October 8, 2011

Nandi Hills, Bangalore

Hi folks,

After my android blog post, here it comes one travel blog post. I hope this may continue that every weekend I could have gone to some nice place. So here it comes the night out @ Nandi Hills.

How to Reach there ?
It's around 60-65 Kms from Bangalore City. And around 25 Kms from Airport. So if you are staying in Bangalore just go to Makeri Circle, take the straight road to Airport, and just before the bridge, there is a road which is heading towards Hyderabad, take the road and after around 5 kms you will find a left turn for Nandi Hills. Its 21 Kms from there.

What to See ??
Basically this is Sun-rise point, you can admire the Scenic beauty from the top peak. And it is awesome, and hide and seek of Sun makes it more awesome. After reaching there, you won't think that "on top of cloud" is just a phrase. Apart from the view, there are few gardens and temple over there. And off-course it was part of Tipu Sultan kindom, there is one big pond and Tipu Sultan's summer place.

When to go ?
I think if you leave Bangalore around 3:30 AM, it would be great as it will take you around 2 hrs to reach there, and most importantly the doors doesn't open till 6:15 AM. So you can plan accordingly. They charge for the tickets as well as parking tickets. One more thing if you have 4 wheeler, they will allow you to go till the top, otherwise you have to walk around 1 Km. But believe me this place is not meant for Cars or other 4 wheeler. As you will enjoy each and every minute of your bike ride.

Others
You will find many shops, if you want to purchase something like snacks or something. Even at the ticket counter also there is a shop for such items. And yeah, don't forget to enjoy the chai or coffee on the Highway. While returning you can stop at McD too, which have started Breakfast, believe me I was starving while returning back. Also carry your jacket, as it will be cold in night in Bangalore whatever season it is.

In last I can say, it is must see place in Bangalore. So just give it a try.

CountDownTimer a great alternate of AlarmManager in Android

Hi Guys,
few days back I was looking for a solution to execute a functionality after some time from my activity. Generally in these cases developer uses AlarmManager to send Action or Activity and handle it in their accordingly. But there are few limitations with AlarmManager like you have to set your alarm for a fix time from boot-up or start. So to overcome this I used CountDownTimer class. This is the same class which is used in StopWatch application, so it is reliable as well as easy to use. Although it’s use is pretty straight forward and mentioned in the API. I will explain it here with the same example.
Example :
new CountdownTimer(30000, 1000) {

 public void onTick(long millisUntilFinished) {

 mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);

}

 public void onFinish() {

  mTextField.setText("done!");

}

 }.start();
Here 30,000(30 sec) is the timer till it will go, 1000(1 sec) is every step to reach there. Here there are two  methods which needs to be override, first is onTick() which will be called on every step. So it means it will be called on every second in this case till 29 sec. After that onFinish() method will be called and execution control will come out of it.
So suppose if you want to start some activity after 30 sec. just put that intent and sendBroadcast() in th onFinish() method.
Hope this will help you.

Friday, August 26, 2011

Android : Calling the other package activity from the current package Activity

Hi All,
After a long time one more android blog, or you can say a new problem which I encounter. In general cases we call activity using intent within the same package. but what if we want to call some other package activity. So here is the solution. Here I will be using the name convention as Calling Activity as First Activity and Called Activity as Final Activity.
Method 1 : Using setClass() method in Intent class.
It is the same thing which you do in normal scenario but with a little tweak in it. In FirstActivity where ever you want to call other activity from other package, put following code
Intent i = new Intent();
i.setClassName("com.android.finalactivity", "com.android.finalactivity.FinalActivity");
startActivity(i);
/* Here com.android.finalactivity is the package name and com.android.finalactivity.FinalActivity is full class name. */
Now go to the AndroidManifest.xml of the FirstActivity and Add following line
activity android:name=”com.samsung.finalactivity.FinalActivity” in application tag.
It will work fine.
Method 2. Using action name
For this first go to your Final Activity and Modify the Manifest file like this :
Instead of the action android :name =”android.intent.action.MAIN” Use
action android:name=”finalApplication.intent.LAUNCH”
Now go to your FirstActivity.java and write
Intent i = new Intent("finalApplication.intent.LAUNCH");
startActivity(i);
Here no need to change AndroidManifest file for FirstApplication.
Hope it helps.

Tuesday, August 16, 2011

Wayanad, Kerala

Hi guys,

Here I am with the new travel blog entry, Last weekend I visited the Wayanad, Kerala. As the Kerala tourism's punch line "God's own Country", I am completely agree with them. Kerala have so much greenery and natural views that you will completely enjoyed. So here are the details if you have any plan to visit this place in future.

How to Reach : If you are going from Bangalore, you can go by Bus. It is on NH 212 and around 270 KMs from Bangalore. As after Mysore, you have to cross the Forest. It is advisable that you plan your journey accordingly as Forest Department closes the door from both side (from mysore side and from sulthan bathery side) around 8 PM. Other way is you can come through Calicut which is around 65 KMs from Wayanad.

When to go : Although you can visit this place anytime in year, but I will suggest you should go in rainy season. As the color of nature will be at its maximum during that period.

What to visit: As I mentioned its the place of Nature View. There are many Water falls, Dam, Peaks, Temples etc. Here I will mention few of the major attractions.

Chembra Peak : This is the Highest point in Wayanad. you have to take the tickets from the Forest depatment, which will cost you 500 bucks(for group). When you start you will think that its no good because you will find a proper road. But after 1.5 Kms walking, you will reach the point from where you will find the main treking, Its very steap and slippery. So be sure you have proper shoes for it and try to take as less thing
as possible. Take water bottles with you, and if you are ok with drinking water falls, then no need to carry bottles. Main view point will be two lakes over there which I find worth going. One of those lakes is in
Heart Shape which have many small fishes in it, in shrt it is awesome thing to do.

Kuruwa Dweep : This is also major attraction. I am not able to write about it as due to rains it was closed or drowned in the water. But if you are lucky you can go there too. Its around 35 Kms from Kalpetta.

Edakkal Caves : This is 27kms from kalpetta which opens 9 AM to 4:30 PM. This place have lots of caves, so you are interested in it, Here is the mystery is waiting for you.

Soochipara Waterfalls : This is 25 Kms from Kalpetta. Nice place to go, you have to trek a little bit to reach the place. But the water flow and the view is good from there.

Banasura Sagar Dam : Distance from Kalpetta 21 Kms. This place is also good. This is Asia's 2nd Largest Natural Dam. Awesome place, View is great from there, you will get some nice snaps from there. Also Speed boat is also available there.

Pookot Lake : This place I didn't like much. As a very small lake is there, in which they have pedal boats and a small Aquarium. The problem with this place is, it is not well maintained at all.

Apart from these places there are few others waterfalls and 2-3 Sanctuary. In this Sanctuary you can find deers, elephants, and lucky then tigers too.

Food : If you are vegeterian, than you can face some problem. As there are only few restaurants. So better you go with some packed stuff with you, so that you wont run out of food. Although you can find Kerala paratha, Dosa with little bit of effort.

Hotels : Guys, book your hotels atleast 1 week before. As we faced a lot of problem to find good hotels as we went in the peak season.

I think this place is worth going once. So go and visit the God's own Country.

Tuesday, July 19, 2011

Steps to Setup Anonymous FTP Server in Ubuntu using vsftpd

Hi All,

There are many articles on setting FTP server in Ubuntu using vsftpd, but I found that  most of them don't talk about the Anonymous FTP server. So here are the details.
Step 1. Install vsftpd
         > sudo apt-get install vsftpd

Step 2. Need to change the configuration file so that anonymous user can access it.
        > sudo chmod  777 /etc/vsftpd.conf
        > sudo gedit /etc/vsftpd.conf
        > look for anonymous_enable and put its value as YES.
        > if you want to enable local access also, set local_enable as YES.
        > Most important give the directory location where you will put all the files which you want to share.
        for that look for anon_root, if not there then put it there and set its value with location like /home/ftp.

Step 3. your ftp server has been configured now. just start the service
        > sudo service vsftpd restart   or   sudo /etc/init.d/vsftpd start

That's it. just type the ip in browser and you will be able to see all the files in the /home/ftp folder.

android.database.sqlite.SQLiteException: table already exists

Hi guys,
Many times I have faced this problem when I tried to call the db.execSQL(CREATE_TABLE) after  openOrCreateDatabase(DATABASE_NAME,Context.MODE_PRIVATE, null); function. And generally it happens when you are trying to create a table in the same database which already have one or more table in i, other situation is when you are running the same program again and again and the same table is already in the database. So to solve this issue you just need to modify your CREATE_TABLE string(which is creating the table).
Generally we directly use “create table TABLE_NAME” which create problem, so instead of it just add one more thing in it, now create table using string “create table if not exists TABLE_NAME”. It will solve your problem. Hope it will help you.