mardi 10 mars 2015

Android app keeps crashig when trying to use database. Is there anything wrong with my code?

this is the java file: public class Tickets extends Activity { String gymchoice; String name,email, number; SQLiteDatabase db; TableRow tableRow; TextView textView1,textView2,textView3,textView4;



protected void onCreate (Bundle savedInstanceState){
super.onCreate (savedInstanceState);
setContentView(R.layout.tickets);
db=openOrCreateDatabase("MyDB1",MODE_PRIVATE, null); //Database Name
db.execSQL("CREATE TABLE IF NOT EXISTS Memberships
(fname VARCHAR,number INT, email VARCHAR, gymchoice VARCHAR);");

final Spinner gym = (Spinner) findViewById (R.id.txtGYM);




Button e = (Button) findViewById (R.id.btnS);
Button f = (Button) findViewById (R.id.btnC);
Button g =(Button) findViewById (R.id.btnSm);

e.setOnClickListener(new OnClickListener() {

public void onClick(View v){
//TODO Auto-generated method stub
edittext1=(EditText )findViewById(R.id.name);
EditText edittext2=(EditText )findViewById(R.id.number);
EditText edittext3=(EditText )findViewById(R.id.email);
EditText edittext4=(EditText )findViewById(R.id.txtGYM);
name=edittext1.getText().toString();
number=edittext2.getText().toString();
email=edittext3.getText().toString();
gymchoice=edittext4.getText ().toString();
db.execSQL("INSERT INTO Memberships VALUES

('"+name+"','"+number+"','"+email+"','"+gymchoice+"');");

gymchoice = gym.getSelectedItem(). toString();
}

});
f.setOnClickListener(new OnClickListener() {

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

System.exit(0);
}

});

g.setOnClickListener(new OnClickListener() {

public void onClick(View v){
//TODO Auto-generated method stub
Cursor c1=db.rawQuery("SELECT * from Memberships", null);
int count= c1.getCount();
c1.moveToFirst();

TableLayout tableLayout = new TableLayout(getApplicationContext());
tableLayout.setVerticalScrollBarEnabled(true);
TableRow tableRow;
TextView textView1,textView2,textView3,textView4;

tableRow = new TableRow(getApplicationContext());
textView1=new TextView(getApplicationContext());
textView1.setText("Firstname"); //Column name
textView1.setTextColor(Color.BLUE); //Text colour
textView1.setTypeface(null, Typeface.BOLD);
textView1.setPadding(20, 20, 20, 20);
tableRow.addView(textView1);

textView2=new TextView(getApplicationContext());
textView2.setText("Number"); //Column name
textView2.setTextColor(Color.BLUE); //Text colour
textView2.setTypeface(null, Typeface.BOLD);
textView2.setPadding(20, 20, 20, 20);
tableRow.addView(textView2);

textView3=new TextView(getApplicationContext());
textView3.setText("Email"); //Column name
textView3.setTextColor(Color.BLUE); //Text colour
textView3.setTypeface(null, Typeface.BOLD);
textView3.setPadding(20, 20, 20, 20);
tableRow.addView(textView3);

textView4=new TextView(getApplicationContext());
textView4.setText("Gym Choice"); //Column name
textView4.setTextColor(Color.BLUE); //Text colour
textView4.setTypeface(null, Typeface.BOLD);
textView4.setPadding(20, 20, 20, 20);
tableRow.addView(textView4);

tableLayout.addView(tableRow);

for (Integer j = 0; j < count; j++)
{
tableRow = new TableRow(getApplicationContext());
textView1 = new TextView(getApplicationContext());

textView1.setText(c1.getString(c1.getColumnIndex("name")));
textView2 = new TextView(getApplicationContext());

textView2.setText(c1.getString(c1.getColumnIndex("number")));
textView3 = new TextView(getApplicationContext());

textView3.setText(c1.getString(c1.getColumnIndex("email")));
textView4 = new TextView(getApplicationContext());

textView4.setText(c1.getString(c1.getColumnIndex("gymchoice")));

textView1.setPadding(20, 20, 20, 20);
textView2.setPadding(20, 20, 20, 20);
textView3.setPadding(20, 20, 20, 20);
textView4.setPadding(20, 20, 20, 20);
tableRow.addView(textView1);
tableRow.addView(textView2);
tableRow.addView(textView3);
tableRow.addView(textView4);
tableLayout.addView(tableRow);
c1.moveToNext() ;
}
setContentView(tableLayout);
db.close();
}



});
}


}`


this is the xml:



<TextView
android:id="@+id/membership"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="30dp"
android:layout_marginTop="31dp"
android:text="Gym Memebership"
android:textSize="30sp" />

<Button
android:id="@+id/btnSm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnS"
android:layout_alignParentBottom="true"
android:layout_marginBottom="24dp"
android:onClick ="showdata"
android:text="Show Members"
android:textSize="20sp" />

<Button
android:id="@+id/btnC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnSm"
android:layout_alignBottom="@+id/btnSm"
android:layout_alignRight="@+id/membership"
android:onClick ="exit"
android:text="Close"
android:textSize="20sp" />

<EditText
android:id="@+id/email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/name"
android:layout_below="@+id/name"
android:layout_marginTop="23dp"
android:ems="10"
android:hint="Enter Email"
android:text="@string/email"
android:inputType="textEmailAddress"
android:textSize="20sp" />

<EditText
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/membership"
android:layout_below="@+id/membership"
android:layout_marginTop="17dp"
android:ems="10"
android:hint="First Name &amp; Surname"
android:inputType="textPersonName"
android:text="@string/name"
android:textSize="20sp" >

<requestFocus />
</EditText>

<Spinner
android:id="@+id/txtGYM"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btnS"
android:layout_alignParentLeft="true"
android:entries="@array/Gym"
android:prompt="@string/Title" />
<Button
android:id="@+id/btnS"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btnSm"
android:layout_alignParentLeft="true"
android:layout_marginBottom="18dp"
android:layout_marginLeft="15dp"
android:onClick="Adddata"
android:text="Submit"
android:textColor="#FFFFFF"
android:textSize="20sp" />

<EditText
android:id="@+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/txtGYM"
android:layout_alignLeft="@+id/email"
android:ems="10"
android:text="@string/number"
android:hint="Telephone Number"
android:inputType="phone"
android:textSize="20sp" />

</RelativeLayout>`

Aucun commentaire:

Enregistrer un commentaire