Wednesday, February 1, 2012

How to check whether particular data in present in a table ?

Below method will search "id" value in table....you just need to pass the columName ,TableName and value in this method.......


private boolean isPresent(int id, String Table, String columnName) {

SQLiteDatabase sqdb = databaseManager.getWritableDatabase();

Cursor cur = sqdb.rawQuery("select * from " + Table + " Where "
+ columnName + "=" + id, null);
int count = cur.getCount();
if (!(count == 0)) {
cur.close();
sqdb.close();
return true;

}
cur.close();
sqdb.close();
// sdcarddb.close();
return false;
}

How to insert the array in arrayList collection?


//Below is to store array in ArrayList variable

String [] filenames=getFilesFromDirectory(selectedFolderName);
for (String s : filenames) {
imageList.add(s);
}

//You can reverse the arrayList with following method
Collections.reverse(imageList);

How to retrieve the specified extension files from particular directory?

In below example we are retrieving the images from the directory
String categoryPath="/sdcard/directory/";


private String GetImage(String categoryPath) {
String[] lv_arr;
File directory = new File(categoryPath);
if (!(directory.isDirectory())) {
directory.mkdir();
return "";
}

lv_arr = directory.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
if (new File(dir, name).isDirectory())
return false;
return name.toLowerCase().contains(".jpeg")
|| (name.toLowerCase().contains(".jpg"))
|| (name.toLowerCase().contains(".png"))
|| (name.toLowerCase().contains(".bmp"))
|| (name.toLowerCase().contains(".gif"));
}
});

return lv_arr[0].toString();
}

How to filter particular tag from xml with the help of Regex Pattern in android?

In below example we considering multiple <CONTACT> tag in xml.........which is stored in "getxmlstring" variable

ArrayList<String> contactArray = new ArrayList<String>();


if (getxmlstring.contains("</CONTACT>")) {
        Retrieve_Contact_Tag("<CONTACT></CONTACT>" + getxmlstring);
for (int i = 0; i < contactArray.size(); i++) {
String replacestr = contactArray.get(i).toString();
                                //Now parse the xml according to your Choice
parseContact("<CONTACT>" + replacestr + "</CONTACT>",context);
}
contactArray.clear();
}


private static void Retrieve_Contact_Tag(String xmlContent) {
Pattern regex = Pattern.compile("<CONTACT>(.*?)</CONTACT>",
Pattern.DOTALL);
Matcher matcher = regex.matcher(xmlContent);
// Pattern regex2 = Pattern.compile("<([^<>]+)>([^<>]+)</\\1>");
if (matcher.find()) {
while (matcher.find()) {
contactArray.add((matcher.group(1)));
}
}
}

How to insert the various contact field details in android device ?


Below is the method for inserting various fields in the android contact.........

public void addInAndroidContact(Context context, String name,String lastname, String doa, String dob, String phone,String Homeno, String workno, String email, String companyname,
String job, String street, String cityadd, String zip, String region) {

String DisplayName = name;
String MobileNumber = phone;
String HomeNumber = Homeno;
String WorkNumber = workno;
String emailID = email;
String company = companyname;
String jobTitle = job;
String streetaddress = street;
String city = cityadd;
String zipcode = zip;
String state = region;

ContentResolver contentResolver = context.getContentResolver();

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newInsert(
ContactsContract.RawContacts.CONTENT_URI).withValue(
ContactsContract.RawContacts.ACCOUNT_TYPE, null).withValue(
ContactsContract.RawContacts.ACCOUNT_NAME, null).build());

// ------------------------------------------------------ Names
if (DisplayName != null) {
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,DisplayName).build());
}
// ------------------------------------------------------LastNames
if (lastname != null) {
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME,lastname).build());
}
// ------------------------------------------------------ Mobile Number
if (MobileNumber != null) {
ops.add(ContentProviderOperation.newInsert(
ContactsContract.Data.CONTENT_URI).withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0).withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER,
MobileNumber).withValue(
ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
.build());
}

// ------------------------------------------------------ Home Numbers
if (HomeNumber != null) {
ops.add(ContentProviderOperation.newInsert(
ContactsContract.Data.CONTENT_URI).withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0).withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER,
HomeNumber).withValue(
ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_HOME)
.build());
}

// ------------------------------------------------------ Work Numbers
if (WorkNumber != null) {
ops.add(ContentProviderOperation.newInsert(
ContactsContract.Data.CONTENT_URI).withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0).withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER,
WorkNumber).withValue(
ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
.build());
}

// ------------------------------------------------------ Address
if (streetaddress != null) {
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.StructuredPostal.STREET,streetaddress)
.withValue(
ContactsContract.CommonDataKinds.StructuredPostal.CITY,city)
.withValue(
ContactsContract.CommonDataKinds.StructuredPostal.REGION,state)
.withValue(
ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE,zipcode)
.withValue(
ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
ContactsContract.CommonDataKinds.Organization.TYPE_WORK).build());
}

// ------------------------------------------------------ Email
if (emailID != null) {
ops.add(ContentProviderOperation.newInsert(
ContactsContract.Data.CONTENT_URI).withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0).withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Email.DATA,
emailID).withValue(
ContactsContract.CommonDataKinds.Email.TYPE,
ContactsContract.CommonDataKinds.Email.TYPE_WORK)
.build());
}
if (!company.equals("") && !jobTitle.equals("")) {
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.Organization.COMPANY,
company)
.withValue(
ContactsContract.CommonDataKinds.Organization.TYPE,
ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
.withValue(
ContactsContract.CommonDataKinds.Organization.TITLE,jobTitle)
.withValue(
ContactsContract.CommonDataKinds.Organization.TYPE,
ContactsContract.CommonDataKinds.Organization.TYPE_WORK).build());
}
if (!dob.equals("")) {
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.Event.START_DATE,dob)
.withValue(
ContactsContract.CommonDataKinds.Event.TYPE,
ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY).build());
}
try {
contentResolver.applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
e.printStackTrace();
}
}

How to insert the value in SQLite table?


Below method is for implementing the insert query in SQLite table............

public void storeInTable(){

DBAdapter databaseManager = DBAdapter.getSharedObject(context);
SQLiteDatabase sqdb = databaseManager.getWritableDatabase();
sqdb.beginTransaction();
try {
// Store in TableName Table
ContentValues cv = new ContentValues();
cv.put("ScheduleId", scheduleId);
cv.put("TypeId", typedId);
try {
sqdb.insertOrThrow("TableName", null, cv);
} catch (SQLiteConstraintException e) {
Log.e("Already Present in ScheduleTable", "true");
}
sqdb.setTransactionSuccessful();
} catch (SQLiteConstraintException e) {
Log.e("Already Stored", "true");
}
sqdb.endTransaction();
sqdb.close();
}

How to create the Singleton DBAdapter for database in android?

Following is the DBAdapter class for the database..........


public class DBAdapter extends SQLiteOpenHelper {


private static final String DATABASE_NAME = "DataBase.db";
private static final int DATABASE_VERSION = 1;
private static DBAdapter instance;
public Context context;


public static DBAdapter getSharedObject(Context context) {
if (instance == null) {
instance = new DBAdapter(context);
}
instance.context = context;
return instance;
}


public DBAdapter(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}


public SQLiteDatabase getWritableDatabase() {
SQLiteDatabase sqdb = super.getWritableDatabase();
sqdb.setLockingEnabled(true);
return sqdb;
}


public SQLiteDatabase getReadableDatabase() {
return super.getReadableDatabase();
}


@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE Table(PamId INTEGER PRIMARY KEY,PamName TEXT NULL)");
}


public void clearDB() {
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("DROP TABLE Table");
this.onCreate(db);
db.close();
}


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