Saturday, November 24, 2012

Graphics

Graphics in Android


Android API provides allow to draw custom graphics onto a canvas or to modify existing views to look good.

 We we draw graphics, we can do it in 2 ways.

1. draw the graphics into a view object from layout.
2. draw the graphics directly to the Canvas.

To draw something, we need 4 basic components.

1. A Bitmap to hold the pixels.
2. A canvas to host the draw  calls- writing into the Bitmap.
3. Draw primitive- like draw rectangle, text, path etc.
4. Paint- describes the colors and styles to draw.


Bitmap to hold the pixels:

It's a simple example to draw a bitmap on screen in View. The content view is set to a View, and the drawing is achieved in onDraw method.
To draw a bitmap on screen in View, Content view is set to view and dwaing is get in onDraw().

 A canvas to host the draw  calls- writing into the Bitmap:
Canvas works as interface to actual surface upon which graphics will drawn.
It holds all "draw" calls.With canvas, drawing is actually performed underlying Bitmap, which is placed into Window.

 Bitmap bm=BitmapFactory.decodeResource(getResources(),R.drawable.image);

canvas.drawBitmap(bm,0,0,null);


To draw color
 canvas.drawColor(Color.WHITE);

here is the simple example program

package com.srinivas.graphics;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new NewView(this));
    }
   
   
    private class NewView extends View
    {

        public NewView(Context context) {
            // TODO Auto-generated constructor stub
            super(context);
        }

        @Override
        protected void onDraw(Canvas canvas) {
            // TODO Auto-generated method stub
            super.onDraw(canvas);
            Bitmap bm=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
            canvas.drawBitmap(bm, 0,0, null);
        }
    }
}


download source code here
http://www.4shared.com/zip/9wuEVziV/GRaphics.html?

SurfaceView

it is a subclass of View. By using this we can draw surface within the View hierarchy.



The SurfaceView is a special subclass of View that offers a dedicated drawing surface within the View hierarchy. The aim is to offer this drawing surface to an application's secondary thread, so that the application isn't required to wait until the system's View hierarchy is ready to draw. Instead, a secondary thread that has reference to a SurfaceView can draw to its own Canvas at its own pace.
To begin, you need to create a new class that extends SurfaceView. The class should also implement SurfaceHolder.Callback.


Friday, November 23, 2012

jobs@ Android


Urgent Requirement for Android Developers for Hyderabad Location 

Experience Range            :               0-5 Years



send resumes to

anupamareddy@celebron.com


About SIMFORM 

We are rapidly growing software solutions company based in Ahmedabad with primary client base in North America. We are developing couple of cloud software, providing web solutions to client round the globe and at the same time we provide top class small business web design services to clients in North America.
We are in our development stage but, promise our employees healthy and comfortable work conditions and a promising career at the same time.

Why to work @ Simform ? 

Employee-friendly company environment
Working days : Monday to Friday 
Flexible work hours
Attractive Salary Package, Incentives for top performer of month

JOB DESCRIPTION

Designation Offered: IPhone Applications Developer 
Department: Mobile Applications Development 
Qualification: B.E./B.Tech/M.E./M.Tech/ 
Experience: 1 yr + 
Reporting to: PM 

Roles & Responsibility: 
1) Understanding the project requirement 
2) Understanding the project requirement 
3) Able to code the projects with efficiency 
4) Testing the applications and ensuring the programs and applications do not have glitches, 
errors, or low functionality. Fixing bugs, if any. 

Knowledge/Skills/Ability : 
1) A systematic approach to application integration 
2) Defensive coding ability accompanied with strong analytical and creative problem solving skills 
3) Knowledge of Xcode, Objective C, Sqlite, Core Data, Webservice, APNS, Local notification, 
Calender, Facebook/Twitter integration, Graph, Barcode/QR code, Audio/Video streaming, Core 
Location, ePub/PDF programming, Basics of core graphics 
4) Knowledge of game development, iTunes connect and Keychain is desirable 
5) Strong OOPS concept, and knowledge of database and SDLC compulsory.



Urgent requirement for "Trainee Software Developer" -- Java & J2EE

Required Technical skills:
J2SE, J2EE, Servlets, JSP, Struts, SQL, XML, HTML, JavaScript

Eligibility : BE/BTech/MCA
Location: Hyderabad

Desired Candidate Profile:
* Candidate should have good verbal and written communication skills.
* Willing to relocate.

Interested candidates share your updated profile on hr.unijobz@gmail.com
Seo Directory List

Monday, November 19, 2012

Fragments in android

Fragments represent behavior in particular portion in an activity.
Fragments must embedded in an activity and they cannot run independently without activity.
fragments having its own life cycle like activity life cycle.
To create fragement, we have to create a sub class of fragment.
Fragments introduced from android 3.0(HoneyComb) onwards
It contains callback methods similar to an activity such as   onCreate(), onStart(),onPause() and onStop().  


Fragment Lifecycle:

onCreate()    -     system calls when creating a fragment.Initialize components here.
onCreateView()-     system calls when the fragment to draw its user interface for 1st time.
onPause()     -     system calls when the user is leaving the fragment.
onAttach()    -     it is called when the fragment is associated with activity.
onActivityCreated()- it is called when the activity's onCreate() is returned.
onDestroyView()    - it is called when view hierarchy associated with the fragment is removed.
onDetach()         -it is called when the fragment is detached from the activity.

Apart from this we have several call back methods.

Wednesday, November 14, 2012

BroadCast Receiver

It class which extends BroadCastReceiver.  
which is registered in the android app via manifest file.

This class can be able to recieve intents via sendBroadcast()

BroadCast Receiver defines the method  onReceive(). only during this method , your BroadCast Receiver object will be valid.


ex: public class PhoneReceiver extends BroadcastReciever
{

@override
public void onReceive()
{
}
}

Tuesday, November 6, 2012

Upload file to server FTP

Class FTPClient
java.lang.Object
  extended by org.apache.commons.net.SocketClient
      extended by org.apache.commons.net.ftp.FTP
          extended by org.apache.commons.net.ftp.FTPClient


 public abstract class SocketClient extends Object


1. SocketClient provides the basic operations that are required of client objects accessing sockets. It is to be subclassed to avoid to rewrite the same code over and over again to open a socket, close a socket, set time outs etc.
2.setSocketFactory method, which allows you to control the type of Socke,the SocketClient creates for initiating network connections.

3. you could create a SocketFactory that requests browser security capabilities before creating a socket. All classes derived from SocketClient should use the _socketFactory_  member variable to create Socket and ServerSocket instances rather than instantiating them by directly invoking a constructor

4. The user will always be able to provide his own Socket implementations by substituting his own SocketFactory.

protected  void connect(InetAddress host)

Opens a Socket connected to a remote host at the current default port and originating from the current host at a system assigned port.

protected  void disconnect()
 Disconnects the socket connection.



public class FTP extends SocketClient


1. FTP provides the basic the functionality necessary to implement your own FTP client. It extends org.apache.commons.net.SocketClient since extending TelnetClient was causing unwanted behavior (like connections that did not time out properly).
2.  The FTPClient class, derived from FTP, implements all the functionality required of an FTP client. The FTP class is made public to provide access to various FTP constants and to make it easier for adventurous programmers (or those with special needs) to interact with the FTP protocol and implement their own clients. A set of methods with names corresponding to the FTP command names are provided to facilitate this interaction.
 3. You should keep in mind that the FTP server may choose to prematurely close a connection if the client has been idle for longer than a given time period (usually 900 seconds).
4. The FTP class will detect a premature FTP server connection closing when it receives a FTPReply.SERVICE_NOT_AVAILABLE  response to a command. When that occurs, the FTP class method encountering that reply will throw an FTPConnectionClosedException . FTPConectionClosedException is a subclass of  IOException  and therefore need not be caught separately, but if you are going to catch it separately, its catch block must appear before the more general  IOException  catch block.

5.  When you encounter an FTPConnectionClosedException , you must disconnect the connection with disconnect()  to properly clean up the system resources used by FTP. Before disconnecting, you may check the last reply code and text with getReplyCode , getReplyString , and getReplyStrings.

6. You may avoid server disconnections while the client is idle by periodicaly sending NOOP commands to the server.
 Rather than list it separately for each method, we mention here that every method communicating with the server and throwing an IOException can also throw a MalformedServerReplyException , which is a subclass of IOException. A MalformedServerReplyException will be thrown when the reply received from the server deviates enough from the protocol specification that it cannot be interpreted in a useful manner despite attempts to be as lenient as possible.


static int BINARY_FILE_TYPE

 A constant used to indicate the file(s) being transfered should be treated as a binary image, i.e., no translations should be performed.


static int BLOCK_TRANSFER_MODE
           A constant used to indicate a file is to be transfered as a series of blocks.

static int  TELNET_TEXT_FORMAT

A constant used to indicate a text file contains format vertical format control characters.


Ex:

 import org.apache.commons.net.ftp.FTPClient;
 import java.io.FileInputStream;
 import java.io.IOException;

 public class Main {
   public static void main(String[] args) {
     FTPClient client = new FTPClient();
     FileInputStream fis = null;

     client.connect("www.mobengineers.com");
     client.login("srinivas", "android");

     String filename = "mobengineers.dat";
     fis = new FileInputStream(filename);
     client.storeFile(filename, fis);
     client.logout();
     fis.close();
   }
 }







source:
http://commons.apache.org/net/api-3.1/org/apache/commons/net/ftp/FTPClient.html#storeFile(java.lang.String, java.io.InputStream)