Sunday, November 29, 2015

DYNAMIC HTML TABLE BINDING IN JSP

DYNAMIC HTML TABLE BINDING WITH SQL DATABASE VALUES:

<%--
    Document   : index
    Created on : 30 Nov, 2015, 9:34:15 AM
    Author     : User
--%>

<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        <%
            int count =0;
            List<String> no=new ArrayList<String>();
            List<String> data=new ArrayList<String>();
            Class.forName("com.mysql.jdbc.Driver");
         Connection con= DriverManager.getConnection("Jdbc:mysql://localhost/kk","root","root");
        Statement stm=con.createStatement();
       ResultSet rs= stm.executeQuery("select * from pkm");
       while(rs.next())
       {
         
           no.add(rs.getString("no"));
           data.add(rs.getString("name"));
         
       }
       out.println("<table border='1'> <tr><td> S:NO</td><td> NAME</td></tr>");
       for(int i=0;i<no.size();i++)
       {
           out.println("<tr><td> "+no.get(i)+"</td><td>"+data.get(i)+"</td></tr>");
       }
       out.println("</table>");

            %>
           
    </body>
</html>

Wednesday, November 18, 2015

HELPER CLASS IN ANDROID

DATABASE HELPER CLASS IN ANDROID:

DataBaseHandler.java
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DataBaseHandler extends SQLiteOpenHelper
{
          private static final int DATABASE_VERSION = 1; 
          private static final String DATABASE_NAME = "contactsManager"
          private static final String tablename = "contacts"
          private static final String id = "id"
          private static final String fname = "fname"
          private static final String lname = "lnamer";
         
           public DataBaseHandler(Context context)
        { 
               super(context, DATABASE_NAME, null, DATABASE_VERSION); 
               //3rd argument to be passed is CursorFactory instance 
           }

              @Override
              public void onCreate(SQLiteDatabase db)
              {
                     // TODO Auto-generated method stub
                     String CREATE_CONTACTS_TABLE = "CREATE TABLE " + tablename + "(" 
                       + id + " INTEGER PRIMARY KEY," + fname + " TEXT," 
                       + lname + " TEXT" + ")"
               db.execSQL(CREATE_CONTACTS_TABLE); 
                    
                    
              }

              @Override
              public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
              {
                  // Drop older table if existed 
               db.execSQL("DROP TABLE IF EXISTS " + tablename); 
         
               // Create tables again 
               onCreate(db);
                    
              }
               void addContact(DataDb data) { 
                      SQLiteDatabase db = this.getWritableDatabase(); 
                
                      ContentValues values = new ContentValues();
                      values.put(id,data.getID());
                      //values.put(id,data.getID());
                      values.put(fname, data.getfname()); // Contact Name 
                      values.put(lname, data.getlname()); // Contact Phone 
                
                      // Inserting Row
                      db.insert(tablename, null, values); 
                      //2nd argument is String containing nullColumnHack 
                      db.close(); // Closing database connection 
                  } 
                
             
         
          

}

DataDb.java

MAPPING VARIABLES IN SQLITE DATABASE:

package android.mydata;

public class DataDb
{
       Integer id;
       String fname;
       String lname;
       public DataDb()
       {
             
       }
       public DataDb(int id,String fname,String lname)
       {
              this.id=id;
              this.fname=fname;
              this.lname=lname;
             
       }
       public Integer getID()
       {
              return this.id;
       }
       public void setID(Integer id)
       {
              this.id=id;
       }
       public String getfname()
       {
              return this.fname;
       }
       public void setfname(String fname)
       {
              this.fname=fname;
       }
       public String getlname()
       {
              return this.lname;
       }
       public void setlname(String lname)
       {
              this.lname=lname;
       }
      

}

MainActivity.java

METHOD TO INSERT:
    public void insert(View v)
    {
       EditText e1=(EditText)findViewById(R.id.editText1);
       EditText e2=(EditText)findViewById(R.id.editText2);
       String name1=e1.getText().toString();
       String name2=e2.getText().toString();
        DataBaseHandler db = new DataBaseHandler(this);
       Log.d("Insert: ", "Inserting .."); 
        db.addContact(new DataDb(1,name1, name2)); 
        Toast.makeText(this, "DATA INSERTED..", Toast.LENGTH_LONG).show();
      
      
    }


MAKING PHONE CALL IN ANDROID

MAKING CALL IN ANDROID

    public void makecall(View v)
    {   EditText e1=(EditText)findViewById(R.id.editText1);
        String number=e1.getText().toString();
       Intent callIntent = new Intent(Intent.ACTION_CALL); 
       callIntent.setData(Uri.parse("tel:"+number));//change the number 
       startActivity(callIntent); 

    }

PROGRESS BAR IN ANDROID

PROGRESS BAR FOR WAITING IN ANDROID
  
 public void progress(View v)
    {
   
       progressBar = new ProgressDialog(this)
       progressBar.setCancelable(true);//you can cancel it by pressing back button 
       progressBar.setMessage("File downloading ..."); 
       progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
       progressBar.setProgress(0);//initially progress is 0 
       progressBar.setMax(100);//sets the maximum value 100 
       progressBar.show();//displays the progress bar

      Thread t1=new Thread()
      {
         public void run()
         {
                while (i <= 100)
                { 
                 
                  try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}
                  progressBar.setProgress(i);
                  i++;
                 
                  if(i==100)
                  {
                    
                    
                      progressBar.dismiss(); 
                      i=0;
                        
                  }
              
                          
                } 
                   
         }
        
         
      };
     
      t1.start();

       }

ANDROID SELECT QUERY AND BINDING WITH TABLE LAYOUT



REDIRECTING TO ANOTHER ACTIVITY:
    public void viewall(View v)
    {
       try
       {
       showdisplaysmall("Redirecting...");
       Intent in=new Intent(this,ViewActivity.class);
       startActivity(in);
       }
       catch(Exception ex)
       {
              showdisplaylong(ex.getMessage());
       }
    }
BINDING SQLITE DATA TO TABLE LAYOUT:

public class ViewActivity extends Activity {

 TableLayout table_layout;
 EditText rowno_et, colno_et;
 Button build_btn;
 List<String> ids=new ArrayList<String>();
 List<String> fnames=new ArrayList<String>();
 List<String> snames=new ArrayList<String>();

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

  table_layout = (TableLayout) findViewById(R.id.tableLayout1);
  table_layout.removeAllViews();
  FetchData();


 }
private void FetchData()
{
       try
       {
       String id,fname,sname;
       String query="select * from table1";
              Cursor c = MainActivity.db.rawQuery(query,null);
      
          if(c.moveToFirst()){
                 while(c.moveToNext()){
             
                 TableRow row = new TableRow(this);
                   row.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                     LayoutParams.WRAP_CONTENT));
             
                   for (int j =0; j <= 2; j++) {

                    TextView tv = new TextView(this);
                    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                      LayoutParams.WRAP_CONTENT));
                    tv.setBackgroundResource(R.drawable.cell_shape);
                    tv.setPadding(5, 5, 5, 5);
                    if(j==0)
                    {
                    tv.setText(c.getString(0));
                    }
                    if(j==1)
                    {
                       tv.setText(c.getString(1));
                    }
                    if(j==2)
                    {
                       tv.setText(c.getString(2));
                    }
                  

                    row.addView(tv);
                    
                    
              }
                   table_layout.addView(row);
                  
                    
                    

           }
      
 
      

          }
          }
       catch(Exception ex)
       {
              showdisplaylong("ERROR.."+ex.getMessage());
       }

}
public void showdisplaylong(String val)
 {
       Toast.makeText(this, val, Toast.LENGTH_LONG).show();
      
      
 }
 public void showdisplaysmall(String val)
 {
       Toast.makeText(this, val, Toast.LENGTH_SHORT).show();
      
      
 }

DYNAMIC TABLE CREATION FUNCTION IN ANDROID:

private void BuildTable(int rows, int cols) {

  // outer for loop
  for (int i = 0; i < ids.size(); i++) {

   TableRow row = new TableRow(this);
   row.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
     LayoutParams.WRAP_CONTENT));

   // inner for loop
   for (int j = 0; j < 3; j++) {

    TextView tv = new TextView(this);
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
      LayoutParams.WRAP_CONTENT));
    tv.setBackgroundResource(R.drawable.cell_shape);
    tv.setPadding(5, 5, 5, 5);
    tv.setText("R " + i + ", C" + j);

    row.addView(tv);

   }
  

   table_layout.addView(row);

  }
 }

DRAWABLE RESOURCE FOR CELL SHAPE:
Cell_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape
  xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape= "rectangle"  >
        <solid android:color="#fff"/>
        <stroke android:width="1dp"  android:color="#000"/>
</shape>

Activity_view.xml (FOR TABLE LAYOUT SETUP)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="horizontal"
        android:padding="5dp" >
    </LinearLayout>

    <TableLayout
        android:id="@+id/tableLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="10dp"
        android:shrinkColumns="*"
        android:stretchColumns="*" >
    </TableLayout>

</LinearLayout>

OUTPUT: