Saturday 31 August 2013

Class Exercise : List Examples

Simple List Example

1) List by using ListActivity
2) List by using ListView
3) Single Selection List
4) Multiple Selection List


Download Code from Here
Download 

Thursday 29 August 2013

Play Sound at Activity Start Android


Play Sound at Activity start Android



When starting the activity i.e on onCreate put the following code.
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);        
    setContentView(R.layout.main);

    MediaPlayer mPlayer = MediaPlayer.create(FakeCallScreen.this, R.raw.mySmallsoundfile);
    mPlayer.start();
}
When stopping the activity i.e on onDestroy put the following code.
public void onDestroy() {
    mPlayer.stop();
    super.onDestroy();
}
Hope this will help J
Happpyyy Cooodddding J

Tuesday 27 August 2013

How to get App VersionCode and VersionName in Android


How to get App VersionCode and VersionName in Android

This is very simple task, you can use the android:versionCode and android:versionName attributes in the AndroidManifest.xml. That way, as long as the package name is the same it won't overlap and you can get that info like this to see if there is a newer version available.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.itdeveloper.TestApp"
         android:versionCode="6"
         android:versionName="1.2.2">

Then you can read these values and compare with values on your server, like this.

try {
       PackageManager manager = context.getPackageManager();
       PackageInfo info = manager.getPackageInfo(context.getPackageName(),0);
                     int code = info.versionCode;
                     String name = info.versionName;
       // Compare with values on the server to see if there is a new version
    } catch (NameNotFoundException e) {
                     e.printStackTrace();
    }

If you're checking for the version of the same app, you can replace the hard-coded package name with context.getPackageName().
Like
PackageInfo info = manager.getPackageInfo(context.getPackageName(),0);


Happy Codddddding J

Monday 26 August 2013

simply Generate PDF with Text and images in android Android

PDF Wirt DroidText


Here is my simple example which show how to genrate pdf file from android including text and images.

Here I keep this example simple, So you can understand easily.

But following are requirement for this project

Adding droidText to your project

There are two possibilities to add droidText to your project.
Android library project (recommended)
Check out droidText from svn and import it into your eclipse workspace (see here for checkout instructions and here for import instructions)
Add a reference to the droidText library project in your project as described in the Android Developer reference.

package com.itdeveloper.pdfformgenratorapp;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.HeaderFooter;
import com.lowagie.text.Image;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Phrase;
import com.lowagie.text.pdf.PdfWriter;

public class MainActivity extends Activity {
       TextView textView;
       private String myString;
       Document doc;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);

              Button genratePdf = (Button) findViewById(R.id.genrateBtn);
              textView = (TextView) findViewById(R.id.editText1);
              genratePdf.setOnClickListener(new OnClickListener() {

                     @Override
                     public void onClick(View v) {
                           // TODO Auto-generated method stub

                           myString = textView.getText().toString().trim();
                           Toast.makeText(getApplicationContext(), myString, 1).show();
                           createPDF();
                     }

              });

              Button openPdf = (Button) findViewById(R.id.Openpdfbtn);

              openPdf.setOnClickListener(new OnClickListener() {

                     @Override
                     public void onClick(View v) {

                           File file = new File(Environment.getExternalStorageDirectory()
                                         .getAbsolutePath() + "/droidText/mysample.pdf");
                           Intent intent = new Intent(Intent.ACTION_VIEW);
                           intent.setDataAndType(Uri.fromFile(file), "application/pdf");
                           intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                           startActivity(intent);
                     }

              });

       }

       private void createPDF() {
              doc = new Document();

              try {
                     String path = Environment.getExternalStorageDirectory()
                                  .getAbsolutePath() + "/droidText";

                     File dir = new File(path);
                     if (!dir.exists()) {
                           dir.mkdirs();
                           Toast.makeText(getApplicationContext(), "Directory Created", 1)
                                         .show();
                     }

                     Log.d("PDFCreator", "PDF Path: " + path);

                     File file = new File(dir, "mysample.pdf");
                     FileOutputStream fOut = new FileOutputStream(file);

                     PdfWriter.getInstance(doc, fOut);

                     // open the document

                     ByteArrayOutputStream stream = new ByteArrayOutputStream();
                     Bitmap bitmap = BitmapFactory.decodeResource(getBaseContext()
                                  .getResources(), R.drawable.ic_launcher);
                     bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
                     Image myImg = Image.getInstance(stream.toByteArray());
                     myImg.setAlignment(Image.MIDDLE);

                     // Write Actual Text to Pdf in this funtion
                     addText();

                     // add image to document
                     doc.add(myImg);
                     // set footer
                     Phrase footerText = new Phrase("This is an example of a footer");
                     HeaderFooter pdfFooter = new HeaderFooter(footerText, false);
                     doc.setFooter(pdfFooter);

              } catch (DocumentException de) {
                     Log.e("PDFCreator", "DocumentException:" + de);
              } catch (IOException e) {
                     Log.e("PDFCreator", "ioException:" + e);
              } finally {
                     doc.close();
              }
       }

       /**
        * Write Actual Text to Pdf in this funtion
        *
        * @throws DocumentException
        * @throws IOException
        */
       private void addText() throws DocumentException, IOException {
              // TODO Auto-generated method stub
              doc.open();
              Paragraph p1 = new Paragraph("FORM");
              Font paraFont = new Font(Font.COURIER, 45.00f, Font.BOLD);
              p1.setAlignment(Paragraph.ALIGN_CENTER);
              p1.setFont(paraFont);

              // add paragraph to document
              doc.add(p1);

              Paragraph p2 = new Paragraph("This is an example of a simple paragraph");
              Font paraFont2 = new Font(Font.COURIER, 14.0f, Color.GREEN);
              p2.setAlignment(Paragraph.ALIGN_LEFT);
              p2.setFont(paraFont2);

              doc.add(p2);

              Paragraph p3 = new Paragraph(myString);
              Font paraFont3 = new Font(Font.COURIER, 14.0f, Color.GREEN);
              p2.setAlignment(Paragraph.ALIGN_LEFT);
              p2.setFont(paraFont3);

              doc.add(p3);
       }

}


and here is our UI xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/genrateBtn"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_alignRight="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="26dp"
        android:text="Genrate Pdf" />

    <Button
        android:id="@+id/Openpdfbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/genrateBtn"
        android:layout_alignRight="@+id/genrateBtn"
        android:layout_below="@+id/genrateBtn"
        android:text="Open Pdf" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="18dp"
        android:ems="10"
        android:hint="Type to add text in pdf" >

        <requestFocus />
    </EditText>

</RelativeLayout>


WE REQUIR TWO PERMITIONS AS 

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
////////////////////////////////////////
and here is your manifest xml 


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.itdeveloper.pdfformgenratorapp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.itdeveloper.pdfformgenratorapp.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

YOU CAN DOWNLOAD COMPLETE EXAMPLE FROM HERE 



 Happpy Coddding  :)