Android : clicking save button data not inserted into database in android

on Monday, September 22, 2014


Hi In My Application I am Displaying Student name and roll no and check box with name present.Now student names and roll no coming from database Now if I click save button I want to insert all the records in another table. If I click Save Button I want Save all the data Into database.Now,If I click Save Button it giving unfortunately error.


Can Any one please help me.


Attend.java



public class Attend extends Activity implements OnClickListener {

String data = "";
TableLayout tl;
TableRow tr;
TextView studentName;
EditText studentname,rollno;
CheckBox present;
String[] class_name, section_name;
String[] words;
String name;
String roll;
Button save;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tl = (TableLayout) findViewById(R.id.maintable);

save = (Button)findViewById(R.id.save);

save.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//save.setText("Record Saved Sucessfully");
name = studentname.getText().toString();
roll =rollno.getText().toString();
data = DatabaseUtility.executeQueryPhp("save","");
}


});

String class_id = getIntent().getStringExtra("class_id");
String section_id = getIntent().getStringExtra("section_id");
Toast.makeText(
this,
"Result : " + "\nclassName : " + class_id + "\nSectionName : "
+ section_id,

Toast.LENGTH_SHORT).show();

final String queryString = "class_id=" + class_id + "&section_id="
+ section_id;
/*String result = DatabaseUtility.executeQueryPhp("getStudent",
queryString);*/

new Thread(new Runnable() {
public void run() {
data = DatabaseUtility.executeQueryPhp("getStudent",queryString);
System.out.println(data);

runOnUiThread(new Runnable() {

@Override
public void run() {
ArrayList<StudentDetails> users = parseJSON(data);
addData(users);
}
});

}
}).start();

}

public ArrayList<StudentDetails> parseJSON(String result) {
ArrayList<StudentDetails> users = new ArrayList<StudentDetails>();
try {
JSONArray jArray = new JSONArray(result);
for (int i = 0; i < jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
StudentDetails user = new StudentDetails();
// user.setId(json_data.getInt("class_name"));
// user.setClass_id(json_data.getInt("section_name"));
// user.setSection_id(json_data.getInt("section_id"));
user.setStudentname(json_data.getString("first_name"));
user.setRollno(json_data.getString("roll_no"));
users.add(user);
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
return users;
}

void addHeader() {

tr = new TableRow(this);

studentName = new TextView(this);


studentName.setText("StudentName");

studentName.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
studentName.setPadding(5, 5, 5, 5);
studentName.setBackgroundColor(Color.RED);
LinearLayout Ll = new LinearLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.setMargins(5, 5, 5, 5);

Ll.addView(studentName, params);
tr.addView((View) Ll);

TextView rollNumber = new TextView(this);
rollNumber.setText("RollNo");
rollNumber.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
rollNumber.setPadding(5, 5, 5, 5);
rollNumber.setBackgroundColor(Color.RED);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 5, 5, 5);

Ll.addView(rollNumber, params);
tr.addView((View) Ll);
TextView Present = new TextView(this);
Present.setText("Present");
Present.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
Present.setPadding(5, 5, 5, 5);
Present.setBackgroundColor(Color.RED);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 5, 5, 5);

Ll.addView(Present, params);
tr.addView((View) Ll);

tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));



}

@SuppressWarnings({ "rawtypes" })
public void addData(ArrayList<StudentDetails> users) {

addHeader();

for (Iterator i = users.iterator(); i.hasNext();) {

StudentDetails p = (StudentDetails) i.next();

/** Create a TableRow dynamically **/
tr = new TableRow(this);

/** Creating a TextView to add to the row **/
studentName = new EditText(this);
studentName.setText(p.getStudentname());
studentName.setId(p.getId());
studentName.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
studentName.setPadding(5, 5, 5, 5);

LinearLayout Ll = new LinearLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.setMargins(5, 2, 2, 2);

Ll.addView(studentName, params);
tr.addView((View) Ll);

EditText rollo = new EditText(this);
rollo.setText(p.getRollno());
rollo.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
rollo.setPadding(5, 5, 5, 5);

Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 3, 3, 3);

Ll.addView(rollo, params);
tr.addView((View) Ll);
CheckBox present = new CheckBox(this);

present.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
present.setPadding(5, 5, 5, 5);

Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 3, 3, 3);

Ll.addView(present, params);
tr.addView((View) Ll);

tl.addView(tr, new TableLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
}
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

}


DatabaseUtility.java



public class DatabaseUtility {

public static String executeQueryPhp(String phpScript,String queryString) {
InputStream is = null;
String line = null;
String result = "";
try {
HttpClient httpclient = new DefaultHttpClient();
String url = "";
if(queryString!=""){
url= "http://10.0.2.2/android_connect/"+phpScript+".php?"+queryString;
}else{
url = "http://10.0.2.2/android_connect/"+phpScript+".php";
}
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
Log.e("Fail 1", "3");

HttpEntity entity = response.getEntity();
Log.e("Fail 1", "4");

is = entity.getContent();
Log.e("Pass 1", "connection success ");
} catch (Exception e) {
Log.e("Fail 1", e.toString());
/*
* Toast.makeText(getApplicationContext(), "Invalid IP Address",
* Toast.LENGTH_LONG).show();
*/
/* finish(); */
}

try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("Fail 2", e.toString());
}
return result;
}


logcat



09-22 10:28:25.533: E/AndroidRuntime(7855): at android.view.View$PerformClick.run(View.java:17355)
09-22 10:28:25.533: E/AndroidRuntime(7855): at android.os.Handler.handleCallback(Handler.java:725)
09-22 10:28:25.533: E/AndroidRuntime(7855): at android.os.Handler.dispatchMessage(Handler.java:92)
09-22 10:28:25.533: E/AndroidRuntime(7855): at android.os.Looper.loop(Looper.java:137)
09-22 10:28:25.533: E/AndroidRuntime(7855): at android.app.ActivityThread.main(ActivityThread.java:5041)
09-22 10:28:25.533: E/AndroidRuntime(7855): at java.lang.reflect.Method.invokeNative(Native Method)
09-22 10:28:25.533: E/AndroidRuntime(7855): at java.lang.reflect.Method.invoke(Method.java:511)
09-22 10:28:25.533: E/AndroidRuntime(7855): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-22 10:28:25.533: E/AndroidRuntime(7855): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-22 10:28:25.533: E/AndroidRuntime(7855): at dalvik.system.NativeStart.main(Native Method)
09-22 10:28:28.267: E/Trace(7886): error opening trace file: No such file or directory (2)

0 comments:

Post a Comment