Wednesday, July 27, 2011

complete code to load image from gallery view and store in database and retrive it into image view

code for database creation and storing

DatabaseHelper.java
package com.incept.pom;



import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View.OnClickListener;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;

public class DatabaseHelper extends SQLiteOpenHelper {

static final String dbName="imageDB";
static final String imgTable="MyImage";
static final String colID="ImageID";
static final String colName="ImageName";
static final String colbytes ="Imagebytes";
byte[] bb;
public DatabaseHelper(Context context) {
    super(context, dbName, null,33);

    // TODO Auto-generated constructor stub
}


@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    Log.i("in here", "creating database");
    db.execSQL("CREATE TABLE "+ imgTable+" ("+ colID + " INTEGER PRIMARY KEY AUTOINCREMENT, "+ colbytes + " BLOB, "
            + colName + " TEXT)");

    //Inserts pre-defined departments

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub

    db.execSQL("DROP TABLE IF EXISTS "+ imgTable);
    onCreate(db);
}
void AddImage(MyImage img)
{
     Log.i("in here", "adding image");         
     SQLiteDatabase db= this.getWritableDatabase();

    if (db==null)
    {
        Log.i("nulll", "mnllllsg");
    }
    ContentValues cv=new ContentValues();

    cv.put(colName, img.getName());
    cv.put(colbytes, img.getImg());
    cv.put(colID, 1);
    db.insert(imgTable, null, cv);
    System.out.println("added successfully");
    db.close();


}

 int getImageCount()
 {
    SQLiteDatabase db=this.getWritableDatabase();
    Cursor cur= db.rawQuery("Select * from "+imgTable, null);
    int x= cur.getCount();
    cur.close();
    return x;
 }

 MyImage getAllImages()
 {
     SQLiteDatabase db=this.getWritableDatabase();
     MyImage results = new MyImage();
     //Cursor cur= db.rawQuery("Select "+colID+" as _id , "+colName+", "+colAge+" from "+employeeTable, new String [] {});
   // Cursor cur= db.rawQuery("SELECT * FROM "+imgTable,null);
     Cursor cur = db.rawQuery("Select "+colbytes+" from "+imgTable+" where "+colID+" = 1 ;",null);
     if (cur!= null)
        {
            //Log.d("database",database.toString());
            if (cur.moveToFirst()){
               
                Log.d("moved", "to first");
            }
           
           
                do{
                      byte[] bb = cur.getBlob(cur.getColumnIndex("Imagebytes"));
                      System.out.println(bb);

                      results.add(bb);
                    /*MySubscriberDetails pf=new MySubscriberDetails();
                    pf.country=Country;
                    Log.d("pf.country",pf.country);
                   
                    profiles.add(pf);*/
                     
                }while (cur.moveToNext());
                cur.close();
           
            db.close();
        }
       
   
   
    return results;
  
 }

 public int UpdateImg(MyImage img)
 {
     SQLiteDatabase db=this.getWritableDatabase();
     ContentValues cv=new ContentValues();
     cv.put(colName, img.getName());
     cv.put(colbytes, img.getImg());
   

     return db.update(imgTable, cv, colID+"=?", new String []{String.valueOf(img.getID())});

 }

 public void DeleteImg(MyImage img)
 {
     SQLiteDatabase db=this.getWritableDatabase();
     db.delete(imgTable,colID+"=?", new String [] {String.valueOf(img.getID())});
     db.close();



 }

 }


MyImage.java

package com.incept.pom;

import java.io.ByteArrayOutputStream;

import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;

public class MyImage {
    public MyImage(String _name, byte[] _img) {
        super();
        this._name = _name;
        this._img = _img;
    }
    public MyImage() {
        // TODO Auto-generated constructor stub
    }
    int _id;
    String _name;
    byte[] _img;
    protected int length;

   


    public int getID()
    {
        return this._id;
    }
    public void SetID(int ID)
    {
        this._id=ID;
    }

    public String getName()
    {
        return this._name;
    }

    public byte[] getImg()
    {
        return this._img;
    }

    public void setName(String Name)
    {
        this._name=Name;
    }
    public void setImg(Bitmap bitmap)
    {
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        bitmap.compress(CompressFormat.PNG, 0, outputStream);
        this._img = outputStream.toByteArray();
    }
    public void add(byte[] bb) {
        // TODO Auto-generated method stub
        this._img = bb;
    }
    }


ImageUpload.java


import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.ByteArrayBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class ImageUpload extends Activity {
    private static final int PICK_IMAGE = 1;
    private ImageView imgView,imgView1;
    private Button upload,from_gal;
    private EditText caption;
    private Bitmap bitmap;
    private ProgressDialog dialog;
    ArrayList<byte[]> b=new ArrayList<byte[]>();
    public DatabaseHelper mDBHelper=new DatabaseHelper(this);
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.create_publicprofile);
       
        imgView = (ImageView) findViewById(R.id.upload_image);
        imgView1 = (ImageView) findViewById(R.id.upload_image1);
       
        upload = (Button) findViewById(R.id.pubprof_but2);
        from_gal = (Button) findViewById(R.id.pubprof_but1);
        caption = (EditText) findViewById(R.id.Caption);
        ((Button) findViewById(R.id.pubprof_but1))
        .setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {
                Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivityForResult(Intent.createChooser(intent,"Select Picture"), PICK_IMAGE);
            }
        });
         
         upload.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
            //        SQLiteDatabase database = mDBHelper.getWritableDatabase();
                 ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
                 System.out.println(bitmap);
                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);

                    //bm is the bitmap object

                    byte[] b = baos.toByteArray();  
                    String name;
                    name="sample_1";
                    MyImage img = new MyImage(name,b);
                   
                    mDBHelper.AddImage(img);

                    int n = mDBHelper.getImageCount();
                    Log.i("ImageCount","n == "+n);
                   
                    MyImage bb = mDBHelper.getAllImages();
                    System.out.println("outer "+ bb);
                    byte[] bs=bb.getImg();
                    long leng=bs.length;
                    System.out.println(leng);
                    
                   imgView1.setImageBitmap(BitmapFactory.decodeByteArray(bs, 0, bs.length));
                    
                    
                 
             }
         });
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
        case PICK_IMAGE:
            if (resultCode == Activity.RESULT_OK) {
                Uri selectedImageUri = data.getData();
                System.out.println(selectedImageUri);
                String filePath = null;

                try {
                    // OI FILE Manager
                    String filemanagerstring = selectedImageUri.getPath();
                    System.out.println(filemanagerstring);
                    // MEDIA GALLERY
                    String selectedImagePath = getPath(selectedImageUri);
                    System.out.println(selectedImagePath);
                   
                    if (selectedImagePath != null) {
                        filePath = selectedImagePath;
                        System.out.println(filePath);
                    } else if (filemanagerstring != null) {
                        filePath = filemanagerstring;
                        System.out.println(filePath);
                    } else {
                        Toast.makeText(getApplicationContext(), "Unknown path",
                                Toast.LENGTH_LONG).show();
                        Log.e("Bitmap", "Unknown path");
                    }

                    if (filePath != null) {
                        decodeFile(filePath);
                    } else {
                        bitmap = null;
                    }
                } catch (Exception e) {
                    Toast.makeText(getApplicationContext(), "Internal error",
                            Toast.LENGTH_LONG).show();
                    Log.e(e.getClass().getName(), e.getMessage(), e);
                }
            }
            break;
        default:
        }
    }
public String getPath(Uri uri) {
        String[] projection = { MediaStore.Images.Media.DATA };
        Cursor cursor = managedQuery(uri, projection, null, null, null);
        if (cursor != null) {
            // HERE YOU WILL GET A NULLPOINTER IF CURSOR IS NULL
            // THIS CAN BE, IF YOU USED OI FILE MANAGER FOR PICKING THE MEDIA
            int column_index = cursor
                    .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        } else
            return null;
    }

    public void decodeFile(String filePath) {
        // Decode image size
        BitmapFactory.Options o = new BitmapFactory.Options();
        o.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(filePath, o);

        // The new size we want to scale to
        final int REQUIRED_SIZE = 1024;

        // Find the correct scale value. It should be the power of 2.
        int width_tmp = o.outWidth, height_tmp = o.outHeight;
        int scale = 1;
        while (true) {
            if (width_tmp < REQUIRED_SIZE && height_tmp < REQUIRED_SIZE)
                break;
            width_tmp /= 2;
            height_tmp /= 2;
            scale *= 2;
        }

        // Decode with inSampleSize
        BitmapFactory.Options o2 = new BitmapFactory.Options();
        o2.inSampleSize = scale;
        bitmap = BitmapFactory.decodeFile(filePath, o2);

        imgView.setImageBitmap(bitmap);

    }
}

Android Helpfull sites

my blog:
http://pramodwithandroid.blogspot.com/

android & webservice example
http://android.vexedlogic.com/
http://www.sitepoint.com/

Java Programming Style Guidelines
http://geosoft.no/development/javastyle.html


dialog with listview
http://stackoverflow.com/questions/2874191/is-it-possible-to-create-listview-inside-dialog
http://stackoverflow.com/questions/6423706/dialog-with-list-view-and-message
http://stackoverflow.com/questions/5650719/custom-dialog-from-sqlite-data

uI design for android
http://blog.stylingandroid.com/archives/537
http://www.androiduipatterns.com/
http://webdesignergeeks.com/mobile/android/android-icon-generator-android-asset-studio/

Browse Android Source Code at: http://grepcode.com/

secured login android example with http:
http://wowjava.wordpress.com/2011/01/16/login-application-for-android/

google map tutorial:
http://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.html

usefull tips while developing app & javacode (droid fu)
http://brainflush.wordpress.com/2009/11/16/introducing-droid-fu-for-android-betteractivity-betterservice-and-betterasynctask/
http://kmansoft.wordpress.com/category/android/
http://www.java-tips.org/

android dialogs
http://efgeeky.com/en/2011/08/03/android-dialogs-examples-and-management/

accessing global variables to all activities (artical)
http://www.helloandroid.com/tutorials/maintaining-global-application-state
http://developer.android.com/reference/android/app/Application.html

Just search  "android fileName.java" in the this website, it will show the matching files for different android platforms like android 2.1, 2.2 or 2.3.1 etc

http://grepcode.com/

Eg: "android ListView.java"
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/widget/ListView.java#ListView


complete code search for android
http://www.google.co.in/codesearch/p?hl=en#/
http://easymorse.googlecode.com/svn/tags/
http://android.mariz.org/links/
http://www.android10.org/
http://mobile.tutsplus.com/category/tutorials/android/
http://www.java2s.com/Open-Source/Android/CatalogAndroid.htm
http://android-coding.blogspot.com/2011/05/create-custom-dialog-with-dynamic.html
http://android-codes-examples.blogspot.com/2011/03/how-to-display-alertdialog-and.html

spring3 notes with MVC architecture
http://static.springsource.org/spring/docs/3.0.x/reference/index.html


complete info about javaThreads and exp
http://www.javabeginner.com/learn-java/java-threads-tutorial/all/1

java coding sites for server
http://www.kodejava.org/examples/587.html
http://www.java2s.com/Code/Java/Database-SQL-JDBC

androidinfo sites of coding
http://www.androidguys.com/category/ag-originals/building-droids/
http://www.codeproject.com/KB/android/

tutors:
http://www.java2s.com/
http://www.bogotobogo.com/index.html
http://whyandroid.com/android/tutorial.html
http://eagle.phys.utk.edu/guidry/android/index.html
http://www.bogotobogo.com/Android/android14OnNotepad.html
http://www.helloandroid.com/tutorials
http://unknownerror.net
http://chengalva.com/dnn_site/Home/tabid/41/EntryId/83/Android-Create-Custom-ListView-by-adding-an-Image-Icon-and-Rating-Bar.aspx
http://www.java2s.com/Code/Android/CatalogAndroid.htm
http://xamarin.com/


working with scrollviews
http://android.amberfog.com/?p=678
http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/
http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/widget/ScrollView.java

working with sensors ,rpc call and other mislanious
http://mylifewithandroid.blogspot.com/
http://smartandroidians.blogspot.com

working facebook and tweeter and blogs
http://www.bloggermint.com/2011/05/change-is-inevitable-and-thats-what-we-believe/

for gaming and misc
http://www.tutorialforandroid.com/2009/01/get-phone-state-when-someone-is-calling_22.html
http://sagemobile.wordpress.com/
http://developingthedream.blogspot.com/search/label/android
http://www.jmstudio.org/archives/391
http://www.curious-creature.org/category/android/
http://techdroid.kbeanie.com


working with database in android
http://android-pro.blogspot.com/2010/10/using-sqlite-database-with-android.html

working with loading images into sqlite database
http://www.tutorialforandroid.com/2009/10/how-to-insert-image-data-to-sqlite.html
http://www.idevelopment.info/data/Programming/java/jdbc/LOBS/BLOBFileExample.java
http://www.kodejava.org/examples/279.html
http://snippets.dzone.com/posts/show/8685

loading data from database to spinner
http://www.samcoles.co.uk/mobile/android-populate-a-spinner-from-your-sqlite-database/
http://www.outofwhatbox.com/blog/2010/12/android-spinners-simpleadapter-and-maybe-viewbinder/
http://www.anddev.org/novice-tutorials-f8/simple-spinner-from-database-t18444.html
http://coding.smashingmagazine.com/2011/03/28/get-started-developing-for-android-with-eclipse-reloaded/


loading image from gallery
http://mobiforge.com/designing/story/understanding-user-interface-android-part-3-more-views
http://www.firstdroid.com/2011/02/06/android-tutorial-gridview-with-icon-and-text/
http://vikaskanani.wordpress.com/2011/01/29/android-image-upload-activity/
http://android-er.blogspot.com/2011/02/display-gallery-selected-image-using.html
http://stackoverflow.com/questions/6425591/how-to-save-upload-image-to-server-in-android
http://www.codeboxed.com/2011/05/titanium-image-gallery/
http://blog.velir.com/index.php/2010/11/17/android-snapping-horizontal-scroll/


working with cam and image to database
http://madskool.wordpress.com/2010/09/29/dr-android-answers-saving-camera-pictures-to-sql-lite/
http://evancharlton.com/thoughts/lazy-loading-images-in-a-listview/
http://vikaskanani.wordpress.com/2011/08/

uploading file(image,txt,mp3) to server
http://blog.sptechnolab.com/2011/03/09/android/android-upload-image-to-server/
http://reecon.wordpress.com/2010/04/25/uploading-files-to-http-server-using-post-android-sdk/
http://vikaskanani.wordpress.com/2011/01/11/android-upload-image-or-file-using-http-post-multi-part/


connecting android,mysql,php
http://blog.sptechnolab.com/2011/02/10/android/android-connecting-to-mysql-using-php/

putting image into sqlite db
http://stackoverflow.com/questions/6279940/creating-database-in-android-which-stores-image

building content provider example
http://android-pro.blogspot.com/2011/01/building-android-content-providers.html

Android code projects to download
http://code.google.com/p/apps-for-android/

for android coding help
http://coderzheaven.com/android/
http://www.androidsnippets.com/?p=3
http://www.firstdroid.com

for cursor adapters
http://thinkandroid.wordpress.com/category/android-tutorials/cursoradapter-tutorials/

University Notes:
http://cis.csuohio.edu/~matos/

Apache and Json ServerBased android examples
http://prasanta-paul.blogspot.com
http://www.javacodegeeks.com/search/label/Android
http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

Adding paypal payment to android
http://googleappengine.blogspot.com/2010/06/paypal-introduces-paypal-x-platform.html
http://code.google.com/p/paypalx-gae-toolkit/downloads/detail?name=PayPalXGAEToolkit-0.1-dev.jar&can=2&q=
http://www.android10.org/index.php/forums/13-how-toguides/1533-adding-paypal-payment-in-android
http://developer.practicalecommerce.com/articles/2589-Subscriptions-and-Payment-Plans-with-PayPal-s-Adaptive-Payments-API
https://bitly.com/bundles/billday/j
http://javathehutt.blogspot.com/2006/01/working-with-paypal-as-developer.html


Good example for making http request for json and deserialising
http://www.softwarepassion.com/android-series-parsing-json-data-with-gson/
http://p-xr.com/android-tutorial-how-to-parse-read-json-data-into-a-android-listview/

Client server example of android and python
http://mylifewithandroid.blogspot.com/2010_10_01_archive.html

For java certifications
http://inheritingjava.blogspot.com/2011/02/chapter-60-synchronization.html

For core java concepts with solutions
http://download.oracle.com/javase/tutorial/tutorialLearningPaths.html

java solutions for network,serialization,sync,threads,singleton pattern etc
http://javarevisited.blogspot.com/search/label/core%20java

10 Open Source Android Apps which every Android developer must look into
http://sudarmuthu.com/blog/10-open-source-android-apps-which-every-android-developer-must-look-into

to load image from net and display in listview
http://stackoverflow.com/questions/541966/android-how-do-i-do-a-lazy-load-of-images-in-listview

tweeta text to speech and speach to text
http://www.hdelossantos.com/2009/10/10/talking-twitter/

aritical about setuping a sipdroid in android for VOIP
http://guardianproject.info/2010/05/26/how-to-setup-a-private-mobile-phone-system-for-android-and-beyond/

Servlet and JSP development with Eclipse WTP and creating war file
http://www.vogella.de/articles/EclipseWTP/article.html
http://blog.elitecoderz.net/gwt-and-tomcat-create-war-using-eclipse-to-deploy-war-on-tomcat/2009/12/
http://www.ibm.com/developerworks/data/library/techarticle/dm-0509cline/

To create authentication in android with Account Manager
http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step


working on gridview
http://ttlnews.blogspot.com
http://www.codeshogun.com

XML pull parser for mobiles:
http://tutorials.jenkov.com/java-xml/stax.html
http://www.bearcave.com/software/java/xml/xmlpull.html
http://www.extreme.indiana.edu/~aslom/xmlpull/patterns.html
http://www.javacodegeeks.com/2010/11/boost-android-xml-parsing-xml-pull.html

push notification
http://tokudu.com/2010/how-to-implement-push-notifications-for-android/
https://labs.ericsson.com/apis/mobile-push/documentation
http://dalelane.co.uk/blog/?p=938
http://urbanairship.com/docs/android_push.html
http://androidpn.sourceforge.net/
http://www.ipragmatech.com/power-mobile-app-android-push-notification-c2dm.html
http://blog.mediarain.com/2011/03/simple-google-android-c2dm-tutorial-push-notifications-for-android/
http://www.abolkog.com/portal/java-programming/117-android-push-notifications
http://urbanairship.com/docs/android-client-push.html
https://www.stackmob.com/platform/stackmob/help/topics/Getting-Started-with-Android-Push
http://www.vogella.de/articles/AndroidCloudToDeviceMessaging/article.html


Cloud to device messaging C2DM
http://code.google.com/android/c2dm/
http://blog.boxedice.com/2010/10/07/android-push-notifications-tutorial/

andoird interview questions
http://www.coolinterview.com/type.asp?iType=803

XMPP
http://xmpp.org/about-xmpp/technology-overview/
http://stackoverflow.com/questions/1547599/differences-between-smack-tinder-and-whack
http://xmpp.org/
http://credentiality2.blogspot.com/2010/03/xmpp-asmack-android-google-talk.html
http://www.igniterealtime.org/builds/smack/docs/latest/documentation/index.html
http://www.igniterealtime.org/builds/smack/docs/latest/javadoc/
for web get the lib from : http://www.igniterealtime.org/projects/smack/
http://code.google.com/appengine/articles/using_xmpp.html
http://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/index.html
http://stackoverflow.com/questions/tagged/smack?page=3&sort=newest
http://www.igniterealtime.org/
http://www.ejabberd.im/tutorials
http://www.igniterealtime.org/downloads/
http://abhijeetmaharana.com/blog/2007/10/28/writing-a-gtalk-jabberxmpp-client/
http://www.rominirani.com/2009/09/25/gaej-xmpp-and-rolling-your-own-agent/
http://www.igniterealtime.org/builds/smack/docs/latest/javadoc/index-all.html
http://stackoverflow.com/questions/1618093/understanding-the-term-extension-component-and-plugin-in-xmpp
http://stackoverflow.com/questions/36415/best-chat-im-tool-for-developers
https://github.com/loganlinn/nodechat-android
http://www.codeproject.com/KB/database/RemoveSkypeHistory.aspx
http://forums.miranda-im.org/showthread.php?23931-Facebook-Chat-to-Jabber-XMPP-History-Import&s=5a00ab9f9fb74f61bd3dfe4cfa85b379

Android – Just use Smack API for XMPP
http://davanum.wordpress.com/2007/12/31/android-just-use-smack-api-for-xmpp/
http://www.javacodegeeks.com/2010/09/xmpp-im-with-smack-for-java.html
http://davanum.wordpress.com/2007/11/14/sending-xmpp-messages-in-android-standalone-sample-ant-buildxmlintellij-project/
http://www.simplicidade.org/notes/archives/xmpp/
http://www.slideshare.net/remko.troncon/xmpp-101
http://android.bigresource.com/Android-test-XMPP-client-on-Android-emulator-FuNTZrm5C.html


related to telcom
http://multicodecjukebox.blogspot.com/2009_02_01_archive.html

services in android
http://devtcg.blogspot.com/2009/01/push-services-implementing-persistent.html

downloading image in android from remote server
http://en.androidwiki.com/wiki/Loading_images_from_a_remote_server

java decompiler / converting .classs to .java file
http://androidbysravan.blogspot.com/2011/05/how-to-convert-class-file-into-java.html


CSS tables and UI desing for web
http://coding.smashingmagazine.com/2008/08/13/top-10-css-table-designs/
Others:

http://developer.android.com/index.html
http://www.softwarepassion.com/category/mobile_development/
http://www.anddev.org/
http://automateddeveloper.blogspot.com/2011/02/online-lectures.html
http://www.androidpeople.com/
http://kpbird.blogspot.com/
http://learnandroid.blogspot.com/2008/01/android-database.html
http://androidforbeginners.blogspot.com/2010/01/creating-multiple-sqlite-database.html
http://stackoverflow.com/questions/5130038/sqlite-database-android-tutorial
http://penguinman-techtalk.blogspot.com
http://huuah.com/
http://mfarhan133.wordpress.com/2010/10/05/android-helpful-links/
http://www.higherpass.com/Android/Tutorials/
http://marakana.com/forums/android/examples/
http://www.androidengineer.com
http://android-pro.blogspot.com
http://www.connorgarvey.com/blog/
http://www.codeproject.com/KB/android/
http://www.devdaily.com/java/jwarehouse/android/core/java/android/database/sqlite/index.shtml
http://www.devdaily.com/java/jwarehouse/
http://saigeethamn.blogspot.com/
http://techdroid.kbeanie.com/
http://appfulcrum.com/?page_id=9
http://developerlife.com/tutorials/
http://www.softwarepassion.com/category/mobile_development/
http://coenraets.org/blog/category/android/


How to convert .Class file into .java (Decompiler)
This post discusses about how to convert a .class file into .java. In general we are unable to convert a .class file into .java programatically but it is not impossible we can do it by using a tool. If you are using eclipse then open Help in eclipse menu option then Install new softwares it will open a dialog box enter the following url into text area http://java.decompiler.free.fr/jd-eclipse/update   
then press next and finish. Eclipse asks u for restart the eclipse. After restart of the eclipse if u open any class file it will show you the source file of the .class.


Android developer and user
http://webdesignergeeks.com/mobile/android/top-50-blogs-websites-for-android-developer-user/


mySMS project:
Repository Name                    Repository URL / Checkout Command
==============                  ====================================
SM_AndroidClient                    http://50.28.26.182:80/svn/SM_AndroidClient
SM_IphoneClient                     http://50.28.26.182:80/svn/SM_IphoneClient
SM_WebServer                       http://50.28.26.182:80/svn/SM_WebServer
SM_redmine bug software        http://50.28.26.182:12001/login