মঙ্গলবার, ২৬ জুলাই, ২০১৬

How to connect Android with Oracle database?

Use Apache Server to connect android to pc
In php.ini open oci8.dll
in htdocs make php file.
 Your php code is

<?PHP

 $con=
"(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Your_ip)(PORT = 1521))
(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = Your_db_name)
)
)";
$conn = ocilogon( "User_name", "Password",$con,"WE8ISO8859P15");

$query = "select * from table_name";
        $parseresults = ociparse($conn, $query);

        ociexecute($parseresults);

    while($row=oci_fetch_assoc($parseresults))

 $output[]=$row;

 print json_encode($output);

oci_free_statement($parseresults);
oci_close($conn);

?>
 
In android: 
 
On click: 
UploadActivity scharge = new UploadActivity(this);
scharge.execute(); 
 
 
Java class:

public class UploadActivity extends AsyncTask<Void, Void, String> {
Context context;

String result;

public UploadActivity(Context context) {
    this.context = context;
}

@SuppressWarnings("static-access")
@Override
protected void onPreExecute() {
    super.onPreExecute();


}

@Override
protected String doInBackground(Void... params) {
    // TODO Auto-generated method stub


    final List<Pair<String, String>> postParameters = new ArrayList<>();




        for (int i = 0; i < activity[0].length; i++) {

            //postParameters.add(new Pair<>("var1", activity[i][0]);

            result = null;


            try {

                String response = CustomHttpClient.execute(
                        URL + "Your_php.php", postParameters);
                result = response.toString();
                result = result.replaceAll("(\r\n|\n)", "");

            } catch (Exception e) {

                Log.e("log_tag_ms", "Error in http connection!!" + e.toString());

            }
 
   try {
    if(result!=null){
     JSONArray jArray = new JSONArray(result.toString());

    for (int i = 0; i < jArray.length(); i++) {
     JSONObject json_data = jArray.getJSONObject(i);

     List.add(json_data.getString("Name")) ;
     String CUST_PC_DTL_ID = json_data.getString("Number");
    }
    }
    
   } catch (JSONException e) {
    Log.e("log_tag", "Error parsing data " + e.toString());

   } 

        }


    return null;
}

protected void onPostExecute(String result) {
    super.onPostExecute(result);


    }  }
 
 
In java CustomHttpClient model class:
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;

import android.util.Log;

public class CustomHttpClient {

 /** The time it takes for our client to timeout */
 public static final int HTTP_TIMEOUT = 45 * 1000; // milliseconds
 /** Single instance of our HttpClient */
 private static HttpClient mHttpClient;

 /**
  * Get our single instance of our HttpClient object.
  * 
  * @return an HttpClient object with connection parameters set
  */

 private static HttpClient getHttpClient() {

  if (mHttpClient == null) {
   mHttpClient = new DefaultHttpClient();

   final HttpParams params = mHttpClient.getParams();
   HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT);
   HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT);
   ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);
  }

  return mHttpClient;
 }

 /**
  * AIzaSyCqjGe7elnK8Ex3jwGkXaJvyFx686MVhsE
  * com.google.android.gms.maps.SupportMapFragment Performs an HTTP Post
  * request to the specified url with the specified parameters.
  * 
  * @param url
  *            The web address to post the request to
  * @param postParameters
  *            The parameters to send via the request
  * @return The result of the request
  * @throws Exception
  */

 public static String executeHttpPost(String url,
   ArrayList<NameValuePair> postParameters) throws Exception {

  BufferedReader in = null;

  try {

   HttpClient client = getHttpClient();

   HttpPost request = new HttpPost(url);

   UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(

   postParameters,"UTF-8");
   // formEntity.setContentType("application/json;charset=UTF-8");
   request.setEntity(formEntity);

   HttpResponse response = client.execute(request);

   in = new BufferedReader(new InputStreamReader(response.getEntity()

   .getContent()));

   StringBuffer sb = new StringBuffer("");

   String line = "";

   String NL = System.getProperty("line.separator");

   while ((line = in.readLine()) != null) {

    sb.append(line + NL);

   }

   in.close();

   String result = sb.toString();

   return result;

  }

  finally {

   if (in != null) {

    try {

     in.close();

    } catch (IOException e) {

     Log.e("log_tag", "Error converting result " + e.toString());

     e.printStackTrace();

    }

   } else
    Log.e("log_tag", "custom http error ");
  }
 }
}