skip to main | skip to sidebar

Android Development Tutorial

Pages

  • Home
 
  • RSS
  • Twitter
Related Posts Plugin for WordPress, Blogger...
Wednesday, September 19, 2012

Android SMS Reader

Posted by Admin at 12:23 PM – 1 comments
 
SMS Reader is an application that read all incoming SMS loudly.And it has feature of reading existing SMS using navigation keys.
package com.sms.reader;

import java.util.Locale;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class ReadSMSActivity  extends Activity implements TextToSpeech.OnInitListener{
  private ImageView prevBtn;
  private ImageView nextBtn;
  private ImageView speakBtn;
  private TextView msgTxt;
  private TextView inboxTxt;
  private TextView fromTxt;
  private TextToSpeech tts;
      int totalSMS=0;
      int smsIndex=0;
      String from="";
 
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.inbox);
         tts = new TextToSpeech(this, this);
         nextBtn = (ImageView) findViewById(R.id.nextImg);
         prevBtn = (ImageView) findViewById(R.id.prevImg);
         speakBtn = (ImageView) findViewById(R.id.speakImg);
         msgTxt= (TextView) findViewById(R.id.msgTxt);
         inboxTxt= (TextView) findViewById(R.id.inboxTxt);
         fromTxt=(TextView) findViewById(R.id.fromTxt);
        
         Uri uriSMSURI = Uri.parse("content://sms/inbox");
        Cursor cur1 = getContentResolver().query(uriSMSURI, null, null, null,null); 
        totalSMS=cur1.getCount();
        inboxTxt.setText("Inbox("+(smsIndex+1)+"/"+totalSMS+")");
          msgTxt.setText(readSMS());
          fromTxt.setText("From: "+from);
      
         nextBtn.setOnClickListener(new View.OnClickListener() {
           
             
             public void onClick(View arg0) {
              smsIndex=smsIndex+1;
                   msgTxt.setText(readSMS());
                 inboxTxt.setText("Inbox("+(smsIndex+1)+"/"+totalSMS+")");
                  fromTxt.setText("From: "+from);
             }

      } );
    speakBtn.setOnClickListener(new View.OnClickListener() {
           
             
             public void onClick(View arg0) {
              

               

               
              String text = msgTxt.getText().toString();
              tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
             }

      } );
         prevBtn.setOnClickListener(new View.OnClickListener() {
      
         
         public void onClick(View arg0) {
           smsIndex=smsIndex-1;
           msgTxt.setText(readSMS());
           inboxTxt.setText("Inbox("+(smsIndex+1)+"/"+totalSMS+")");
           fromTxt.setText("From: "+from);
         
         }

  } );
     }
   public String readSMS(){
     Uri uriSMSURI = Uri.parse("content://sms/inbox");
       Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null); 
       String sms = "";
       if(smsIndex==-1)
        smsIndex=totalSMS-1;
       else if( smsIndex==totalSMS)
        smsIndex=0;
      if (cur.moveToPosition(smsIndex)) {
           try {
    sms   =  cur.getString(11) ;
    from=cur.getString(2);
   } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }         
       }
      else
       sms="You don't have SMS";
       return sms;
  }
 public void onInit(int status) {

if (status == TextToSpeech.SUCCESS) {

    int result = tts.setLanguage(Locale.US);

    if (result == TextToSpeech.LANG_MISSING_DATA
            || result == TextToSpeech.LANG_NOT_SUPPORTED) {
        Log.e("TTS", "This Language is not supported");
    } /*else {
        btnSpeak.setEnabled(true);
        speakOut();
    }*/

} else {
    Log.e("TTS", "Initilization Failed!");
}

} 
 public void onDestroy() {
  // Don't forget to shutdown tts!
  if (tts != null) {
      tts.stop();
      tts.shutdown();
  }
  super.onDestroy();
  }
}




package com.sms.reader;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;

public class SMSReaderActivity  extends BroadcastReceiver{

  /*  private SharedPreferences preferences;
    TTSActivity tTSActivity = null;
    

    public void    setMainActivityHandler(TTSActivity tTSActivity){
    this.tTSActivity = tTSActivity;
    }
*/
    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub

        if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
            Bundle bundle = intent.getExtras();           //---get the SMS message passed in---
            SmsMessage[] msgs = null;
            String msg_from;
            if (bundle != null){
                //---retrieve the SMS message received---
                try{
                    Object[] pdus = (Object[]) bundle.get("pdus");
                    msgs = new SmsMessage[pdus.length];
                    for(int i=0; i<msgs.length; i++){
                        msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
                        msg_from = msgs[i].getOriginatingAddress();
                        String msgBody = msgs[i].getMessageBody();
                        Log.d("APP","SMS Receiver started."+msgBody);
                        Intent intent1 = new Intent(context, TTSActivity.class);
                        intent1.putExtra("sms-text", msgBody);
                        intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   
                        context.startActivity(intent1);
                    }
                }catch(Exception e){
//                            Log.d("Exception caught",e.getMessage());
                }
            }
        }
    }
}


package com.sms.reader;

import java.util.Locale;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
/*import com.sms.reader.R;*/
import android.widget.ImageView;

public class TTSActivity extends Activity implements
TextToSpeech.OnInitListener {
/** Called when the activity is first created. */

private TextToSpeech tts;
 
private EditText txtText;
private ImageView inboxBtn;

 

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tts = new TextToSpeech(this, this);

 

txtText = (EditText) findViewById(R.id.txtText);
inboxBtn = (ImageView) findViewById(R.id.inboxImg);
 
Intent intent = getIntent();
String sms = intent.getExtras().getString("sms-text");
txtText.setText(sms);
String text = txtText.getText().toString();
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("You Got SMS. Shall I read ?").setPositiveButton("Yes", dialogClickListener)
    .setNegativeButton("No", dialogClickListener).show();
// button on click event
inboxBtn.setOnClickListener(new View.OnClickListener() {
  
    
    public void onClick(View arg0) {
     Intent intent = new Intent(TTSActivity.this, ReadSMSActivity.class);
        startActivity(intent);  
    }

} );
}

public void onDestroy() {
// Don't forget to shutdown tts!
if (tts != null) {
    tts.stop();
    tts.shutdown();
}
super.onDestroy();
}


public void onInit(int status) {

if (status == TextToSpeech.SUCCESS) {

    int result = tts.setLanguage(Locale.US);

    if (result == TextToSpeech.LANG_MISSING_DATA
            || result == TextToSpeech.LANG_NOT_SUPPORTED) {
        Log.e("TTS", "This Language is not supported");
    } /*else {
        btnSpeak.setEnabled(true);
        speakOut();
    }*/

} else {
    Log.e("TTS", "Initilization Failed!");
}

}

private void speakOut() {

String text = txtText.getText().toString();

tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
        switch (which){
        case DialogInterface.BUTTON_POSITIVE:
         speakOut();
            break;

        case DialogInterface.BUTTON_NEGATIVE:
            //No button clicked
            break;
        }
    }
};
}
[ Read More ]
Read more...
Thursday, September 13, 2012

Using Account Manager in Andriod

Posted by Admin at 9:57 PM – 0 comments
 
import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Context;

class AccountUtil {
  public static String getAccountName(Context context) {
    String email = getEmail(context);
    String name = getNameFromEmail(email);
    return name;
  }

  public static String getEmail(Context context) {
    AccountManager accountManager = AccountManager.get(context);
    Account account = getAccount(accountManager);

    if (account == null) {
      return null;
    } else {
      return account.name;
    }
  }

  public static Account getAccount(AccountManager accountManager) {
    Account[] accounts = accountManager.getAccountsByType("com.google");
    Account account;
    if (accounts.length > 0) {
      account = accounts[0];

    } else {
      account = null;
    }
    return account;
  }

  private static String getNameFromEmail(String email) {

    if (email==null) {
      return null;
    }
    
    String name = "";
    int i = email.lastIndexOf('@');

    if (i > 0 && i < email.length() - 1) {

      name = email.substring(0, i);
    }
    return name;

  }
}


[ Read More ]
Read more...

Get User name using Andriod

Posted by Admin at 9:53 PM – 0 comments
 
import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Context;

class Utils {
  private static Account getAccount(AccountManager accountManager) {
    Account[] accounts = accountManager.getAccountsByType("com.google");
    Account account;
    if (accounts.length > 0) {
      account = accounts[0];
    } else {
      account = null;
    }
    return account;
  }

  public String getEmail(Context context) {
    AccountManager accountManager = AccountManager.get(context);
    Account account = getAccount(accountManager);

    if (account == null) {
      return null;
    } else {
      return account.name;
    }
  }

  public String getUsername(Context context) {
    // String email;
    AccountManager manager = AccountManager.get(context);
    Account account = getAccount(manager);
    if (account == null) {
      return "";
    } else {
      String email = account.name;
      String[] parts = email.split("@");
      if (parts.length > 0 && parts[0] != null)
        return parts[0];
      else
        return "";
    }
  }
}


[ Read More ]
Read more...
Newer Posts Older Posts
Subscribe to: Posts (Atom)

More Technical Blogs

  • Tech Savvy - Technology Tips
  • PHP Video Tutorial
  • Java Programs with Output
  • C Programming Tutorial
  • Linux Tutorial
  • Language Tutorial
  • Web Development tutorial
  • Popular
  • Recent
  • Archives

Popular Posts

  • Android Video Tutorial - What is Android?
    This is the first segment from a 5 week online course, Developing Android Applications with Java. In this segment, instructor Tony Hillers...
  • Android Video Tutorial: Android Application Development - Spicing up the UI
    This video comes from Marakana's 5-Day Android Bootcamp Training Course that Marko Gargenta taught in San Jose, CA earlier this year. ...
  • Android Video Tutorial: Android Application Development - Drawables
    This 60-minute tutorial will focus on Android drawables and how you can use styles and the draw9patch tool to ensure they look great and s...
  • Test Application for Samsung Android devices
    This test application write the traces from device to confirm the device behaviour. import java.io.File; import android.app.Activity; ...
  • Android Video Tutorial: Android Application Development - StatusData
    In the previous tutorial, Class 3, Part 3, you learned how to create a local database for your Android app. Now, Marko will show you how t...
  • Setting Android SDK in our Eclipse IDE
    Short video clip that shows how to set the Android SDK in our Eclipse IDE. This is one video out of five videos that explain in five steps...
  • Android Application Development Episode #6 - Notification & Long Clicks
    In this episode we will take a look at using Toast messages to notify the user. We will also take a look at the difference between normal ...
  • Android Video tutorial - Learn about Android Graphics & Animations from Google's Android UI Toolkit team
    Learn how to create awesome visuals and animations from Android UI Toolkit engineers, Romain Guy and Chet Haase. In this presentation Ro...
  • Android Video Tutorial: Android Application Development - Helloworld (anatomy of an Android app)
    Class 1, Part 2. In this 50 - minute tutorial Marko Gargenta will dissect an Android application in-order to provide you with a detailed ...
  • How to Program for Android: Video Tutorial 8 - Add and Read Text File
    How to add and read from a text file on an android device. Part 1: Part 2:
Powered by Blogger.

Archives

  • ▼  2012 (44)
    • ►  October (31)
    • ▼  September (3)
      • Android SMS Reader
      • Using Account Manager in Andriod
      • Get User name using Andriod
    • ►  March (1)
    • ►  February (9)
  • ►  2011 (69)
    • ►  December (69)
 

Followers

Labels

  • Activities (9)
  • Andoird Menu (2)
  • Android timelineActivity. (1)
  • Android Adapter (1)
  • Android app (9)
  • Android App Inventor (1)
  • Android App Publishing (2)
  • Android Application Components (3)
  • Android Application Fundamental (2)
  • Android Architecture (1)
  • Android AsyncTask (1)
  • Android Basic (7)
  • Android Bootcamp Training (18)
  • Android Button Widget (3)
  • Android Custom Style (1)
  • Android Dialog (1)
  • Android Drawable (2)
  • Android Environment (1)
  • Android example (9)
  • Android File System (2)
  • Android Geolocation (2)
  • Android ImageView (1)
  • Android Installation (8)
  • Android intents (5)
  • Android lifecycle (1)
  • Android LIst (4)
  • Android Listener (4)
  • Android Manifest (3)
  • Android Market (1)
  • Android Notification (1)
  • Android Object (1)
  • Android Package File (1)
  • Android Platform (1)
  • Android service (4)
  • Android StatusActivity (1)
  • Android Theme Style (3)
  • Android Traceview (1)
  • Android UI (6)
  • Android Unit Testing (1)
  • Android Widget (4)
  • AndroidManifest.xml (4)
  • Application Icon (1)
  • Broadcast Receiver (2)
  • Content Providers (1)
  • Creating Activities (1)
  • Creating Custom Styles in Android (1)
  • Creating Multiple Activities (1)
  • Database (3)
  • draw9patch (1)
  • Eclipse (12)
  • Explicit Intents (2)
  • Explicit Intents Example (1)
  • Hello world with Android (1)
  • Helloworld with Android (5)
  • Implicit Intents (2)
  • Implicit Intents Example (1)
  • Layout View (3)
  • lifemichael (8)
  • Location Sensor (1)
  • Multiple Activities (2)
  • Netbeans (1)
  • OpenGL ES Graphics (1)
  • Passing Values with Intents (2)
  • Project Structure (1)
  • Retrieving Image URI from Intents (1)
  • Setting Android Environment (1)
  • SQLite (3)
  • TGENT (8)
  • UserGroupAtGoogle (8)
  • XML (1)
  • xtensive arts Training (11)
 
 
© 2011 Android Development Tutorial | Designs by Web2feel & Fab Themes

Bloggerized by DheTemplate.com - Main Blogger