Buddies Hub – Keep in Touch Android Project

SMS service is provided by the Carrier and they take charges to use that service. People now a day’s paid so many charges to use this SMS service.

Simple SMS service is works as first Mobile-x sends message to mobile-y so that first of all it goes to MSC server. MSC server sends that message to centralized SMSC server. Centralized SMSC server sense the receiver phone number and forward same message to receiver i.e. mobile-y network’s MSC server. MSC server push that message to mobile-y and it gets the message which is send by the mobile-x.

Buddies Hub Android Apllication

If sometimes MSC server get too many connection at that time the delivery period of the SMS will be increased and message is delivered late to receiver.

Sometimes if carrier network is down than your important message will not deliver instantly. You send you message to your friend in the morning and it will be delivering to your friend at night or else in the evening.

Carrier charges is now a days little bit low in case of you want to sent message in the local state. But while if you want to sent message outside of your state than it will be little bit costly and if you want to sent message out side of your country then it will be more costly.

To make SMS service more cost effective and fast delivery of the message here I am going to introduced with new application named as “Buddies Hub – Keep in Touch

Buddies Hub – Keep in Touch is an application in which user can able to send message with his friend without use of the carrier Short Message Service (SMS).

BuddiesHub application is works on the device which have Android platform. Now a day’s Android is fastest growing technology in the mobile market.

This project is developed to use Android operating system. Android is an object oriented operating system to mobile devices using a modified version of the kernel Linux.

When user install apk file of my project first of all user has to register him with that application with the help of his mobile number.

Once he is successfully registered with the application then he can login in the application with provided mobile number and password to send messages to his friend.

After successful login user can able to send message to his friend and check inbox for any new message is received by him.

Main functionality of this application is that user can sent message to his friend and desired person without any cost of the carrier charges only one thing is required is that it must be connected with the internet connection.

This application basically works on the platform of Hyper Text Transfer Protocol (HTTP).

When user send message it will go to server on which database resides and when receiver opens inbox at that time it will recall its message from remote database and display in inbox. User can also reply of that message and forward it also.

  1. Tools and Technology
  • Front End :
  • Tools :

o   Eclipse Helios

o   Microsoft Visual Studio 2008

  • Technology :

o   Android 2.0 (API Level – 7)

o   Dot Net Framework 3.5

o   Jdk1.6.0

  • Back End :
  • Tools :

o   Microsoft SQL Server 2005

  • Documentation:
  • Tools :

o   Microsoft Office 2007 

  1. Planning

At present people are using carrier service to send message and they will charge from the user for that service. This application allows user to send message to another user of this application based on web.

My project planning is that I want people become aware of the free message sending facility. 

Project definition 

“Message sending Application based on Android without use of carrier SMS service” is the main goal of this system.

In this application there is a server which maintains the database of the application and stores the message of all the applicants.

Registered user can send the message to other registered user with the help of internet. 

Preliminary Investigation

  • Once I my father got a call from our relative who lives out of India asking for phone number of another relative at that time in call my father gave him phone number but because of some reason he did not note down it correctly so that after some time again he call to my father and asked for sending him text. At that time that charges to send text was too much high and also call charges to my relative was too much because of ISD call at that time I found that these problem could be resolved through available techniques known to me.

Selecting project Development Strategy

  • Buddies Hub – Keep in Touch project developed for Android device using (OOSD) Object-Oriented System Development because Android is Java based and Java is pure Object Oriented Programming Language.

Read Message Java Source Below


package com.BuddiesHub;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.widget.TextView;

 

public class ReadMessage extends Activity

{

TextView sender,msg,date;

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.readmessage);

sender=(TextView)findViewById(R.id.tvsender);

msg=(TextView)findViewById(R.id.tvmsg);

date=(TextView)findViewById(R.id.tvdate);

Intent intent=getIntent();

sender.setText(intent.getStringExtra("sender"));

msg.setText(intent.getStringExtra("msg"));

date.setText(intent.getStringExtra("date")+" "+intent.getStringExtra("time"));

}

public boolean onCreateOptionsMenu(Menu menu)

{

MenuInflater menuinflater=getMenuInflater();

menuinflater.inflate(R.layout.menu, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item)

{

switch(item.getItemId())

{

case R.id.itemforward :

Intent intent=new Intent(getBaseContext(),Forward.class);

intent.putExtra("msg", msg.getText().toString());

startActivity(intent);

return true;

case R.id.itemreply :

Intent replyIntent=new Intent(getBaseContext(),Reply.class);

replyIntent.putExtra("receiver", sender.getText().toString());

startActivity(replyIntent);

return true;

 

case R.id.itemexit:

finish();

return true;

default:return super.onOptionsItemSelected(item);

}

}

}

Bluetooth File Transfer Android Application

Project Profile 

  • Project Bluetooth File Transfer is intended to provide access to the user’s Android device’s directory structure and will allow user to send (transfer) selected files over Bluetooth to another device.
  • Application developed in this project will provide some basic features like listing of files and directories and allowing cut, copy, paste, rename, delete, search, sort features.
  • Application will provide user to select multiple files and folders from the listed and transfer selected files over Bluetooth after enabling Bluetooth and connecting with other devices.
  • Application will also provide features of enabling and disabling of Bluetooth and searching Bluetooth devices in the range and connecting them.
  • Application will also provide user to send a text message that contains description of the file user wants to receive over Bluetooth.
  • After sending text message the remote device sends the file and local device internally accepts that file.

Bluetooth File Transfer Screen

Tools and Technologies Used 

  1. Technology :- Android 2.3.3 (API Level-10)
  1. Tools :- Eclipse Juno

Eclipse has been used as an Integrated Development Environment (IDE) to create, build and run Android Project.

  • Android Debug Bridge

Android Debug Bridge tool has been used to connect with the android virtual device and perform terminal based operations.

  • LogcatLogcat has been used as tool to track activities happening onto the device (emulator) and track error and handle exceptions thrown by the application during development phase.
  1. Planning

Project Definition:-

“Bluetooth File Transfer” is an android application that provides exploration of directory structure of local device and allows basic file operations like cut, copy, paste, rename, search, sort and delete features. It also allows sending of selected files over Bluetooth and creating a text file and sending over Bluetooth.

Preliminary Investigation:-

Communication means sharing of information. Communication plays a vital role in any area to get success. Communication can be done using various mediums and in this application I have used Bluetooth as a medium to share information over two devices.

This application allows sending and receiving of files over connected Bluetooth devices. Main purpose of the application is to send multiple files at a time and user defined message that is a small description of file to be received as file and receiving described file over Bluetooth.

Selecting the project development Strategy:-

Object Oriented System development.

Develop Work Plan:- 

  1. System Analysis 

Requirement Determination :- 

Feasibility Study:- 

  • Technical:-

­        The mobile application will be developed in Android so, it requires the mobile device to be supported .apk file

­        The communication between two devices mobile device will be using Bluetooth so, both devices should be Bluetooth enabled.

  • Operational:-

­       The user should have knowledge of operating or using computer as well as android mobile because the application is to be developed for both environments.

­       The applications support only English language so the user should know English language.

  • Economical:- To use the application, user must have android mobile device with enabled Bluetooth. So user should be able to afford that device.

Requirement Specification :- 

  • Purpose:-

­        Application is developed to provide an interface that allows user to explore directory structure of the device and provide basic operational features on file and folders and transfer files over Bluetooth.

  • Overview:-

­        Application allows user to view directory structure of device and perform basic file/folder operations.

­        Application allows sending files over Bluetooth that are selected.

­        Application allows creating and sending a text message describing the file to be received over Bluetooth.

  • Environmental Characteristics:-

­        Hardware:-

Bluetooth enabled Android device.

­         People:-

One user for local device and another for remote device.

  • Goals Of Implementation:-

­        Application is implemented with the goal to allow user to transfer files over Bluetooth.

­        Another goal of application is to get a text message from user describing the file that user wants to receive and send that message a text file to intended remote device and receive sent file.

Bluetooth adapter activity.java


package com.bt_file_transfer;

 

import java.util.ArrayList;

 

import android.bluetooth.BluetoothAdapter;

import android.content.Context;

import android.widget.ArrayAdapter;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.TextView;

 

public class bluetoothadapteractivity extends ArrayAdapter<String> {

&nbsp;

private Context context;

private ArrayList<String> value;

BluetoothAdapter mbluetoothadapter;

Button btnmenu;

TextView tv;

ImageView iv;

&nbsp;

public bluetoothadapteractivity(Context context, ArrayList<String> value) {

super(context, R.layout.bluetoothinflatorlayout, value);

this.context = context;

this.value = value;

}

&nbsp;

@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

LayoutInflater inflater = (LayoutInflater) context

.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View rowview = inflater.inflate(R.layout.bluetoothinflatorlayout,

parent, false);

tv = (TextView) rowview.findViewById(R.id.textView1);

iv = (ImageView) rowview.findViewById(R.id.imageView1);

tv.setText(value.get(position));

if (position > 5) {

iv.setImageResource(R.drawable.bluetoothicon1);

} else if (position == 0)

iv.setImageResource(R.drawable.button);

else

iv.setImageResource(R.drawable.forward);

return rowview;

}

}

Auto SMS Android Application

Project Name: Auto SMS Android Application

Project Description: Android-based Auto SMS application allows the user to send SMS at deferred date and time.

Tools: Eclipse, Microsoft Office Visio for Diagram. Microsoft Office Word for Documentation.

Development Platform: Android Development Tool

Development Model: OOSD Model

Operating System: Windows 7

Tools and Technology 

  • Tools: Front-End: Eclipse Helios 2.
  • Technology: Android 2.3.3

Planning

Project Definition:

Android-based Auto SMS application allows the user to send SMS at deferred date and time. After the SMS has been delivered, it will provide the sender with the delivery report along with the location of the receiver.The sender also gets the delivery report and sound. This application works only with internet. The user has an internet connection in the android phone.

Auto SMS Android Project

Preliminary Investigation:

We know that in several mobile devices which are providing a facility for only alarm but not any other facility like sending SMS, email etc so we got an idea for creating this application which is useful for sending a message to wish and remind to others by messaging.

Selecting the project development Strategy:

The software development process also can be divided into smaller, interacting subprocess.

Generally, the software development process can be viewed as a series of transformations, where the output of one transformation becomes the input of the subsequent transformation.

Develop a Work Plan: 

System Analysis 

Requirement Determination

Input:

  • The first user has to add the contact number.
  • Then select date and time and write Message.
  • Then click on send.

Output:

When time is come which is set by user the application will automatically start and inform to user for event. 

Feasibility Study:

Technical Feasibility:

  • The project is developed on i5 processor with 4 GB RAM.
  • The language used in development is Eclipse Helios 2 and windows environment.

Economics Feasibility:

  • In this application internet is required in android mobile device. 

Requirement Specification:

Hardware Requirements: System configuration: Windows OS 2GB RAM, 20 GB Hard Disk.

System Design

  • System design is the process of planning of new systems or one to replace an existing system.
  • During this stage the analyst works with the user to develop a physical model of the system flow chart.
  • The modeling process and its outcome depend upon the system to a certain extent and whether or not object oriented design is followed.
  • The detailed step followed in arriving at the model is known as the methodology.
  • There are several methodologies available.
  • But currently the most popular methodology is known as the unified process.
  • The result of these is a model for the system typically contained in several diagrams.
  • If unified process is followed the diagrams that result might be UML diagrams.
Activity Diagram:

Use Case Diagram:

Sequence Diagram:

User Interface Design:

Screen Snapshots:

Main Menu: Main menu available in android phone and icon of the AutoSMS application

Write SMS and set date & time: Post Time

The main screen of application: Main screen of application which allows the user to write a message, add contact number, set date and time

Insert Contact Number: When system time and set date and time matches then it will first insert contact number from the database.

Insert into Event: When the user clicks on save button it will add contact number, message, date and time in the database.

Sending SMS: When both system date and time and user-specified date and time match it will send SMS automatically.

Download Auto SMS Android Application Source Code.

Android Based Finger Touch Image Editor

Project Profile:

Project Name:  Android Based Finger Touch Image Editor.

Project Description:   To develop an application that provides facility for creating a image from scratch, open a image from gallery, or even use camera to take image and edit it.

Development team: 2 Members

Platform(s): The Development of the project is done using Eclipse with Android 2.3.3

Technologies used: Android 2.3

Methodology: S.D.L.C.[ System Development Life Cycle]

Tools:  Eclipse

Tools And Technologies:

Tools:

  • Eclipse

Eclipse provides IDE for android application development. We have used Eclipse Helios version to develop our android side project. 

Technology:

  • Android

Android is a Linux-based operating system for mobile devices. In our application, we have used Android 2.3 (Gingerbread) to develop our android side project.

Planning:

Project definition:

To develop an application that provides facility for creating a image from scratch, open a image from gallery, or even use camera to take image and edit it. This application provides facility to end users that they can add some cool effects to an image clean it up and crop it, or add text or other silly stuff, with this application. You’ll be able to do pretty much everything you need, while on the move. User can save this image back to SD Card or phone storage. User can even share this saved image on Social Sites like Facebook and also share via Bluetooth.

Android Based Finger Touch Image Editor Menu Screen

This system will be helpful in the following ways:-

  • One can create one’s own imaginary image.
  • A new image can be captured and that can be edited.
  • A new image can be used from the memory.
  • Help in editing image and doing operations like crop, blur, rotate, etc.
  • Provide for better availability of tools
  • Sharing of information across different social sites.
  • One can even provide Text on image.

Preliminary Investigation:

o   Project feasibility

o   Selecting the project development strategy

Project Feasibility

In Project Feasibility, following should be taken to consideration:

  • A brief description of the work
  • The part of the work being examined
  • The human and economic factor
  • The possible solutions to the problems

Here are the following types of feasibility study: 

Technical Feasibility:-

–       The device has all resources to run this application.

–       Android SDK 2.3 and above that versions provide the Camera facility and below that version does not provide this facility.

–       Technology used: Android

–       Tools used:- Eclipse, Android SDK 2.3

Operational Feasibility:-

–       This application is user friendly.

–       This application provides the Tools that helps the user to edit the image.

–       Provides the Image Storing facility.

–       Also provides description of tools which are used in this application.

Economical Feasibility:-

–       This application is beneficial to end user.

–       This is free application to end user.

–       Anyone can use this application at any time in any Android device. (version 2.3 and above it.). So, no need for any other resources like Personal Computer, laptop, etc. to edit the image.

Selecting the project development Strategy:

The Project Development Strategy being followed here is SDLC.

Finger Touch Image Editor Activity Source code:-


package com.fingertouchimageeditor;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.os.Handler;

import android.view.Window;

import android.view.WindowManager;

import android.widget.ProgressBar;

public class FingerTouchImageEditorActivity extends Activity {

/** Called when the activity is first created. */

private static int <em>progress</em>=0;

private ProgressBar prgb;

private static int <em>prog</em>=0;

private Handler handler=new Handler();

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.<em>FEATURE_NO_TITLE</em>);

getWindow().setFlags(WindowManager.LayoutParams.<em>FLAG_FULLSCREEN</em>,

WindowManager.LayoutParams.<em>FLAG_FULLSCREEN</em>);

setContentView(R.layout.<em>main</em>);

prgb=(ProgressBar) findViewById(R.id.<em>progress1</em>);

prgb.setMax(300);

new Thread(new Runnable()

{

public void run() {

// TODO Auto-generated method stub

while(<em>progress</em><200)

{

<em>progress</em>=doSomeWork();

handler.post(new Runnable()

{

public void run()

{

// TODO Auto-generated method stub

prgb.setProgress(<em>progress</em>);

}

});

}

handler.post(new Runnable() {

public void run() {

prgb.setVisibility(8);

finish();

startActivity(new Intent(getBaseContext(),menu1.class));

}

});

}

private int doSomeWork()

{

try

{
<ol>
	<li><em>sleep</em>(10);</li>
</ol>
}

catch(Exception ex)

{

ex.printStackTrace();

}

return ++<em>prog</em>;

}

}

).start();

}

}

Bus Rapid Transit System (BRTS) locator Android Project

Project name: Android based application for Bus Rapid Transit System locator.

The Android Project name identifies the use of application. It identifies that it is like such a map application. We have developed our application for those users who prefer to travel in Bus Rapid Transit System BRTS bus of Ahmedabad. This application can be useful to the newer people who are much not familiar with Ahmedabad.

This application will show user his/her current location from the phone. For that user should have android OS based phone with internet facility. The application must be installed on your android device. This application will show the user his/her current location and all BRT stops, on selecting various options of the menu user can see Nearest BRT stop from his/her current location , distance from current location to nearest Bus Rapid Transit BRT stop ,next available bus on particular stop , etc.

GPS technology is most developing technology in today’s world in map applications. This technology is used to track the things, persons easily. Mostly this technology was limited up to the military but now it is used for general use to tracking things and persons. All Mobile companies use this technology. Our application is also based on GPS.  Using GPS we are identifying the user`s current location in map.

How we get an idea about developing this application?

Generally whenever we are traveling in city like Ahmedabad, we might prefer to travel in BRT buses because BRT buses are most fast and cheaper way to travel in Ahmedabad. They are also the most popular way of traveling in Ahmedabad. We thought that if any new person arrives in Ahmedabad and wants to travel/traveling in BRT bus, how he/she can know about the route, nearest BRT stop, the distance of nearest BRT stop etc. So we thought to develop such map application in android for phone where user can see his/her current location and perform other functionality. The phone should contain internet connection to run the application. To run this application user needs android OS based phone with android OS version2.1 or above.

The application will/should provide/fulfill following functionality/ requirements:

1)     User should be able see his/her current location from the phone.

2)   When Application icon is clicked and map is loaded, map should show all the BRT stop to the user and also the user`s current location. It depends on the internet speed of your phone. Sometimes user`s current location may not be perfect because of the internet speed.

3)   All Bus Rapid Transit stop should have common icon so that we can identify them as a BRT stop and user`s current location should be identified by different icon so that user can easily identify his/her location from whole map.

4)   When user clicks on any BRT stop on loaded map, it should show display the name of the BRT stop so that user can easily identify BRT stop name.

5)    After loading of map, when user clicks stickly on map for 3-4 seconds then application should generate a menu with three options. They are as follows:

  1. Nearest BRT stop
  2. Route and Distance
  3. Back

6)   When user clicks on any option of the menu it should perform such an action as it is written on menu.

7)    Suppose user clicks on first option of the menu then application should display message with name of nearest BRT stop name like as follows:

Nearest BRT stop : vaniyavad

8)   When user clicks on second option of the menu then application should display message (toast in android) with approximate distance from user`s current location to nearest BRT stop. It should display message like as follows:

Distance to vaniyavad : 1.00234 km approximate

9)   On selecting the second option of the menu, application should also generate drawn path (with red color line) from user`s current location to the nearest BRT stop.

10)In this second option, when user clicks on the any BRT stop then application should display the time of next available BRT stop of particular  BRT stop with name of stop. The time bus should in HH:MM format.

11)   When user clicks on Back option of the menu, the state of menu should return on to the main loading screen. Application should be able to exit successfully when user clicks on exit from the phone.

12)  Application should be support in every company’s phone in which android OS with v2.1 or greater is installed.

Requirements to Run this Android Application:

1)     User must have Android OS based phone with V2.1 or greater version.

2)   There should be 256 MB minimum memory to and 1 MB storage memory to run this application.

3)   There should be Internet facility available in phone so that we can use this application to load the map.

4)   The user should be in network area where user’s phone supports mobile company’s network so that user can run his/her application.

5)    The phone should contain the functionality of GPS so that gps can locate user`s current location easily. GPS technology is most developing technology in today’s world in map applications. This technology is used to track the things, persons easily. Mostly this technology was limited up to the military but now it is used for general use to tracking things and persons. All Mobile companies use this technology.

Screen Snapshots:

    1) First screen of the application:                          

First screen of the application

                          This is the first screen of an application when map is loaded. The map is loaded with user’s current location and all BRT stops. Here Current location is detected by Green downward image arrow and BRT stops are detected by white balloon icons. When you will click on particular BRT stop it will show the name of BRT stop.

2) Menu screen of application: 

Menu screen of application

When you click first screen of map for continuous 3-4 seconds it will generate a menu with  three options.

1)      Nearest BRT stop

2)     Route and Distance

3)     Back

On selecting option of menu it will perform particular operation.

3) Nearest BRT stop: 

Nearest BRT stop

On clicking first option of menu, it will display name of nearest BRT stop with its name. In above screen our current location is DDU University and nearest BRT stop is ddu bus Stop. Application generates BRT stop name using toast. 

4) Distance and Schedule: 

Distance and Schedule

On selecting second option of the menu application will display distance of the nearest BRT stop from user’s current location. Application will also draw the route with red line from user’s current location to nearest BRT stop 

5) Next available bus time:  

Next available bus time

 This screen is generated on clicking on the particular BRT stop. It will display message with next available bus of particular BRT stop.

ItemizedOverLay.java Source code:

<strong>ItemizedOverLay.java</strong>

<strong>package</strong> com.gmap;

&nbsp;

<strong>import</strong> java.util.ArrayList;

<strong>import</strong> android.app.AlertDialog;

<strong>import</strong> android.content.Context;

<strong>import</strong> android.graphics.drawable.Drawable;

&nbsp;

<strong>import</strong> com.google.android.maps.ItemizedOverlay;

<strong>import</strong> com.google.android.maps.OverlayItem;

&nbsp;

@SuppressWarnings("rawtypes")

<strong>public</strong> <strong>class</strong> ItemizedOverLay <strong>extends</strong> ItemizedOverlay {

Context mContext;

<strong>private</strong> ArrayList<OverlayItem> mOverlays = <strong>new</strong> ArrayList<OverlayItem>();

<strong>public</strong> ItemizedOverLay(Drawable defaultMarker,Context context) {

<strong>super</strong>(<em>boundCenterBottom</em>(defaultMarker));

mContext = context;

&nbsp;

// <strong>TODO</strong> Auto-generated constructor stub

}

<strong>public</strong> <strong>void</strong> addOverlay(OverlayItem overlay) {

mOverlays.add(overlay);

populate();

}

@Override

<strong>protected</strong> OverlayItem createItem(<strong>int</strong> arg0) {

// <strong>TODO</strong> Auto-generated method stub

<strong>return</strong> mOverlays.get(arg0);

}

@Override

<strong>public</strong> <strong>int</strong> size() {

// <strong>TODO</strong> Auto-generated method stub

<strong>return</strong> mOverlays.size();

&nbsp;

}

@Override

<strong>protected</strong> <strong>boolean</strong> onTap(<strong>int</strong> index) {

OverlayItem item = mOverlays.get(index);

&nbsp;

AlertDialog.Builder dialog = <strong>new</strong> AlertDialog.Builder(mContext);

dialog.setTitle(item.getTitle());

dialog.setMessage(item.getSnippet());

dialog.show();

<strong>return</strong> <strong>true</strong>;

}

}

Contact us for full source code , online help and more details.