Thursday 29 March 2012

passing string and receiving json data from php webserver(setting activity)

package com.qualcomm.QCARSamples.ImageTargets;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import oauth.signpost.http.HttpResponse;

import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.json.JSONArray;
import org.json.JSONException;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;

public class SettingsActivity extends Activity {
String u_id;
String responseBody;
String[] items, errors;
List pairs;
HttpClient client;
HttpPost post;
HttpResponse response;
EditText email, homecity;
String result;
JSONArray jArray;
String email_string, city, facebook, twitter;
ProgressDialog dialog;
String URL = "http://www.travel.chemistree.in/admin/androidsupport/getsettings";
boolean flag = false, flag_saveclicked = false;
RadioButton yesfb, yestwitter, nofb, notwitter;
AlertDialog alertDialog;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
errors = new String[1];
errors[0]= "enter valid Email";
email = (EditText) findViewById(R.id.email);
homecity = (EditText) findViewById(R.id.homecity);
yesfb = (RadioButton) findViewById(R.id.yes_fb);
nofb = (RadioButton) findViewById(R.id.no_fb);
yestwitter = (RadioButton) findViewById(R.id.yes_twitter);
notwitter = (RadioButton) findViewById(R.id.no_twitter);
alertDialog = new AlertDialog.Builder(SettingsActivity.this).create();
alertDialog.setTitle("");

Bundle extras = getIntent().getExtras();

if (extras != null) {

u_id = extras.getString("u_id");

}
Button chuser = (Button) findViewById(R.id.changeuser);
chuser.setOnClickListener(new OnClickListener() {
public void onClick(View v) {

Intent intent = new Intent(SettingsActivity.this,
LoginActivity.class);
intent.putExtra("u_id", u_id);
startActivity(intent);

}
});

Button back = (Button) findViewById(R.id.back);
Button save = (Button) findViewById(R.id.save);
back.setOnClickListener(new OnClickListener() {
public void onClick(View v) {

Intent intent = new Intent(SettingsActivity.this,
ZoomByEnterPageActivity.class);
intent.putExtra("u_id", u_id);
startActivity(intent);

}
});
save.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
flag_saveclicked = true;
dialog = ProgressDialog.show(SettingsActivity.this, "",
"Loading Data ...Please Wait", true);
double TIMEOUT_MILLISEC = 1234567890;

HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
(int) TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams,
(int) TIMEOUT_MILLISEC);
//
HttpParams p = new BasicHttpParams();
// p.setParameter("name", pvo.getName());
p.setParameter("u_id", u_id);

p.setParameter("key", "c89a7662dae613ea3d20d334339b6dff");
p.setParameter("submit", "Edit settings");
if (homecity.getText().equals(null)) {
p.setParameter("city", "null");
} else {
p.setParameter("city", homecity.getText().toString());
}
Validate validate = new Validate();
if (validate.Check_Lengh(email)) {

alertDialog.setMessage("Enter Email.");
alertDialog.setButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {

// here you can
// add functions

}
});
alertDialog.show();
} else if (validate.checkEmail(email) == false) {
alertDialog.setMessage("Enter Valid Email.");
alertDialog.setButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {

// here
// you
// can
// add
// functions

}
});
alertDialog.show();

} else {

p.setParameter("email", email.getText().toString());
}
if (nofb.isChecked()) {
facebook = "0";
} else {
facebook = "1";
}
if (notwitter.isChecked()) {
twitter = "0";
} else {
twitter = "1";
}
p.setParameter("facebook", facebook);
p.setParameter("twitter", twitter);

// Instantiate an HttpClient
HttpClient httpclient = new DefaultHttpClient(p);

HttpPost httppost = new HttpPost(
"http://www.travel.chemistree.in/admin/androidsupport/updatesettings");

List nameValuePairs = new ArrayList(
7);
nameValuePairs.add(new BasicNameValuePair("u_id", u_id));

nameValuePairs.add(new BasicNameValuePair("key",
"c89a7662dae613ea3d20d334339b6dff"));
nameValuePairs.add(new BasicNameValuePair("submit",
"Edit settings"));
if (homecity.getText().equals(null)) {
// p.setParameter("city", "null");
nameValuePairs.add(new BasicNameValuePair("city", "null"));
} else {
// p.setParameter("city", homecity.getText().toString());
nameValuePairs.add(new BasicNameValuePair("city", homecity
.getText().toString()));
}
if (validate.Check_Lengh(email)) {

alertDialog.setMessage("Enter Email.");
alertDialog.setButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {

// here you can
// add functions

}
});
alertDialog.show();
} else if (validate.checkEmail(email) == false) {
alertDialog.setMessage("Enter Valid Email.");
alertDialog.setButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {

// here
// you
// can
// add
// functions

}
});
alertDialog.show();

} else {

// p.setParameter("email", email.getText().toString());
nameValuePairs.add(new BasicNameValuePair("email", email
.getText().toString()));
}
nameValuePairs
.add(new BasicNameValuePair("facebook", facebook));
nameValuePairs.add(new BasicNameValuePair("twitter", twitter));
try {
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
} catch (UnsupportedEncodingException e) { // TODO
// Auto-generated
// catch
;
}

ResponseHandler responseHandler = new BasicResponseHandler();
try {
responseBody = httpclient
.execute(httppost, responseHandler);
Log.e("aaaaaaaaaaaaaaaaaaaaaaaaa+++",
responseBody.toString());
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
// int start = responseBody.indexOf("{");
// int end = responseBody.length();
// String result = responseBody.substring(start, end);
// // Toast.makeText(getApplicationContext(), result,
// 9000).show();
// String result1 = "[" + result.toString().trim() + "]";
//
int start = responseBody.indexOf("status");
int end = responseBody.length();
String result = responseBody.substring(start, end);
// Toast.makeText(getApplicationContext(), result,
// 9000).show();
String result1 = "[{" + '"' + result.toString().trim()
+ "]";
// Toast.makeText(getApplicationContext(),
// result1.toString(), 14000).show();
//
try {
jArray = new JSONArray(result1.toString());
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}

try {
items = new String[jArray.length()];

for (int i = 0; i < jArray.length(); i++) { items[i] = jArray.getJSONObject(i) .getString("status").toString(); Log.e("item", items[i]); } /* * Toast.makeText(getApplicationContext(), * jArray.toString(), 4000) .show(); */ } catch (JSONException e) { Log.e("log_tag", "Error parsing data " + e.toString()); } if (items[0].equalsIgnoreCase("OK")) { try { email_string = jArray.getJSONObject(0).getString( "email"); city = jArray.getJSONObject(0).getString("city"); facebook = jArray.getJSONObject(0).getString( "facebook"); twitter = jArray.getJSONObject(0).getString( "twitter"); flag = true; } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { try { errors[0] = jArray.getJSONObject(0) .getString("error").toString(); int start1 = errors[0].indexOf("["); int end1 = errors[0].length(); errors[0] = errors[0].substring(start1 + 1, end1 - 1); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } if ((dialog.isShowing())) dialog.dismiss(); Toast.makeText(getApplicationContext(), errors[0], 6000) .show(); } if (flag == true) { email.setText(email_string); if ((city.equals(null)) || (city.equalsIgnoreCase("null"))) { homecity.setText("city not entered"); } else { homecity.setText(city); } if (facebook.equalsIgnoreCase("0")) { nofb.setChecked(true); } else { yesfb.setChecked(true); } if (twitter.equalsIgnoreCase("0")) { notwitter.setChecked(true); } else { yestwitter.setChecked(true); } flag = false; if ((dialog.isShowing())) dialog.dismiss(); } } catch (NullPointerException e) { if ((dialog.isShowing())) dialog.dismiss(); Toast.makeText(getApplicationContext(), errors[0], 4000).show(); } } }); if (flag_saveclicked == false) { show_settings(); } } public void show_settings() { dialog = ProgressDialog.show(this, "", "Loading Data ...Please Wait", true); double TIMEOUT_MILLISEC = 1234567890; HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, (int) TIMEOUT_MILLISEC); HttpConnectionParams.setSoTimeout(httpParams, (int) TIMEOUT_MILLISEC); // HttpParams p = new BasicHttpParams(); // p.setParameter("name", pvo.getName()); p.setParameter("u_id", u_id); p.setParameter("key", "c89a7662dae613ea3d20d334339b6dff"); p.setParameter("submit", "View settings"); // Instantiate an HttpClient HttpClient httpclient = new DefaultHttpClient(p); HttpPost httppost = new HttpPost(URL); List nameValuePairs = new ArrayList(3);
nameValuePairs.add(new BasicNameValuePair("u_id", u_id));

nameValuePairs.add(new BasicNameValuePair("key",
"c89a7662dae613ea3d20d334339b6dff"));
nameValuePairs.add(new BasicNameValuePair("submit", "View settings"));

try {
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
} catch (UnsupportedEncodingException e) { // TODO Auto-generated catch
;
}

ResponseHandler responseHandler = new BasicResponseHandler();
try {
responseBody = httpclient.execute(httppost, responseHandler);
Log.e("aaaaaaaaaaaaaaaaaaaaaaaaa+++", responseBody.toString());
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
// int start = responseBody.indexOf("{");
// int end = responseBody.length();
// String result = responseBody.substring(start, end);
// // Toast.makeText(getApplicationContext(), result, 9000).show();
// String result1 = "[" + result.toString().trim() + "]";
//

int start = responseBody.indexOf("status");
int end = responseBody.length();
String result = responseBody.substring(start, end);
// Toast.makeText(getApplicationContext(), result, 9000).show();
String result1 = "[{" + '"' + result.toString().trim() + "]";

try {
jArray = new JSONArray(result1.toString());
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}

try {
items = new String[jArray.length()];

for (int i = 0; i < jArray.length(); i++) { items[i] = jArray.getJSONObject(i).getString("status") .toString(); Log.e("item", items[i]); } /* * Toast.makeText(getApplicationContext(), jArray.toString(), * 4000) .show(); */ } catch (JSONException e) { Log.e("log_tag", "Error parsing data " + e.toString()); } if (items[0].equalsIgnoreCase("OK")) { try { email_string = jArray.getJSONObject(0).getString("email"); city = jArray.getJSONObject(0).getString("city"); facebook = jArray.getJSONObject(0).getString("facebook"); twitter = jArray.getJSONObject(0).getString("twitter"); flag = true; } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { if ((dialog.isShowing())) dialog.dismiss(); Toast.makeText(getApplicationContext(), "try after some time", 4000).show(); } if (flag == true) { email.setText(email_string); if ((city.equals(null)) || (city.equalsIgnoreCase("null"))) { homecity.setText("city not entered"); } else { homecity.setText(city); } if (facebook.equalsIgnoreCase("0")) { nofb.setChecked(true); } else { yesfb.setChecked(true); } if (twitter.equalsIgnoreCase("0")) { notwitter.setChecked(true); } else { yestwitter.setChecked(true); } flag = false; if ((dialog.isShowing())) dialog.dismiss(); } } catch (NullPointerException e) { if ((dialog.isShowing())) dialog.dismiss(); Toast.makeText(getApplicationContext(), "try after some time", 4000) .show(); } } public class Validate { public boolean Check_Lengh(EditText editText) { boolean validated = false; String text = editText.getText().toString().trim(); if (text.length() == 0) { editText.setText(text); validated = true; } return validated; } public boolean checkEmail(EditText inputMail) { boolean validated; Pattern p = Pattern.compile(".+@.+\\.[a-z]+"); Matcher m = p.matcher(inputMail.getText()); boolean matchFound = m.matches(); StringTokenizer st = new StringTokenizer(inputMail.toString(), "."); String lastToken = null; while (st.hasMoreTokens()) { lastToken = st.nextToken(); } if (matchFound && lastToken.length() >= 2
&& inputMail.length() - 1 != lastToken.length()) {

// validate the country code
validated = true;
} else
validated = false;

// Log.v("log_tag", "on " + validated);

return validated;
}

}

}
================xml======================












1 comment:

  1. Can you Provide me Whole Source Code??

    I will give some amount of money for that...

    ReplyDelete