2016-05-21 6 views
0

Ich bekomme leider, wenn ich auf die SignUp-Schaltfläche auf einem SignUp Activity klicken werde.Konnte Methode für android nicht ausführen: auf mich erinnern

Mainifest.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.champ.remindme"> 

<!-- To auto-complete the email text field in the login form with the user's emails --> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.READ_PROFILE" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 

<!-- 
    The ACCESS_COARSE/FINE_LOCATION permissions are not required to use 
    Google Maps Android API v2, but you must specify either coarse or fine 
    location permissions for the 'MyLocation' functionality. 
--> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".Login"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <!-- <activity android:name=".Login" /> --> 
    <activity android:name=".Menu" /> 
    <activity android:name=".AddReminder" /> 
    <!-- 
     The API key for Google Maps-based APIs is defined as a string resource. 
     (See the file "res/values/google_maps_api.xml"). 
     Note that the API key is linked to the encryption key used to sign the APK. 
     You need a different API key for each encryption key, including the release key that is used to 
     sign the APK for publishing. 
     You can define the keys for the debug and release targets in src/debug/ and src/release/. 
    --> 
    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="@string/google_maps_key" /> 

    <activity 
     android:name=".AddEventPlace" 
     android:label="@string/title_activity_add_event_place" /> 
    <activity android:name=".SignUp"></activity> 
</application> 

</manifest> 

XML:

<?xml version="1.0" encoding="utf-8"?> 

<!-- To auto-complete the email text field in the login form with the user's emails --> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.READ_PROFILE" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 

<!-- 
    The ACCESS_COARSE/FINE_LOCATION permissions are not required to use 
    Google Maps Android API v2, but you must specify either coarse or fine 
    location permissions for the 'MyLocation' functionality. 
--> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".Login"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <!-- <activity android:name=".Login" /> --> 
    <activity android:name=".Menu" /> 
    <activity android:name=".AddReminder" /> 
    <!-- 
     The API key for Google Maps-based APIs is defined as a string resource. 
     (See the file "res/values/google_maps_api.xml"). 
     Note that the API key is linked to the encryption key used to sign the APK. 
     You need a different API key for each encryption key, including the release key that is used to 
     sign the APK for publishing. 
     You can define the keys for the debug and release targets in src/debug/ and src/release/. 
    --> 
    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="@string/google_maps_key" /> 

    <activity 
     android:name=".AddEventPlace" 
     android:label="@string/title_activity_add_event_place" /> 
    <activity android:name=".SignUp"></activity> 
</application> 

</manifest> 

Java

package com.example.champ.remindme; 
import android.app.AlertDialog; 
import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class SignUp extends AppCompatActivity { 
EditText editUsername,editPassword,editEmail,editMobileNumber; 
Button btnSignUpButton; 
SQLiteDatabase db; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_sign_up); 
    editUsername = (EditText)findViewById(R.id.editUsername); 
    editPassword = (EditText)findViewById(R.id.editPassword); 
    editEmail = (EditText)findViewById(R.id.editEmail); 
    editMobileNumber = (EditText)findViewById(R.id.editMobileNumber); 
    btnSignUpButton = (Button)findViewById(R.id.btnSiginUpButton); 
    db=openOrCreateDatabase("RemindMe", Context.MODE_PRIVATE, null); 
    db.execSQL("create table IF NOT EXISTS User (Username TEXT PRIMARY KEY," + 
      "Password TEXT," + 
      "Email TEXT," + 
      "MobileNumber Integer)"); 
} 
public void AddUser(View v){ 
    if(editUsername.length()==0|| 
      editPassword.length()==0|| 
      editEmail.length()==0|| 
      editMobileNumber.length()==0) 
    { 
     showMessage("Error", "Please enter all values"); 
     return; 
    } 
    db.execSQL("INSERT INTO User VALUES('"+editUsername+"'," + 
      "'"+editPassword+ "'," + 
      "'"+editEmail+"',"+ 
      "'"+editEmail+"',"+ 
      "');"); 

    showMessage("Success", "Record added"); 
} 

public void showMessage(String title,String message) 
{ 
    AlertDialog.Builder builder=new AlertDialog.Builder(this); 
    builder.setCancelable(true); 
    builder.setTitle(title); 
    builder.setMessage(message); 
    builder.show(); 
} 

}

XML-Datei

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".SignUp" 
android:background="@drawable/back"> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView5" 
    android:src="@drawable/remind_me_logo" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" /> 

<EditText 
    android:id="@+id/editUsername" 
    android:layout_width="265dp" 
    android:layout_height="wrap_content" 
    android:padding="15dip" 
    android:background="@drawable/username_rounded_edited_text" 
    android:inputType="text" 
    android:hint="Username" 
    android:textAlignment="center" 
    android:layout_below="@+id/imageView5" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="38dp" /> 
<EditText 
    android:id="@+id/editPassword" 
    android:layout_width="265dp" 
    android:layout_height="wrap_content" 
    android:padding="15dip" 
    android:background="@drawable/input_felid" 
    android:inputType="textVisiblePassword" 
    android:hint="Password" 
    android:textAlignment="center" 
    android:layout_below="@+id/editUsername" 
    android:layout_alignLeft="@+id/editUsername" 
    android:layout_alignStart="@+id/editUsername" /> 
<EditText 
    android:id="@+id/editConfrimPassword" 
    android:layout_width="265dp" 
    android:layout_height="wrap_content" 
    android:padding="15dip" 
    android:background="@drawable/input_felid" 
    android:inputType="textVisiblePassword" 
    android:hint="Confrim Password" 
    android:textAlignment="center" 
    android:layout_below="@+id/editPassword" 
    android:layout_alignLeft="@+id/editPassword" 
    android:layout_alignStart="@+id/editPassword" /> 
<EditText 
    android:id="@+id/editEmail" 
    android:layout_width="265dp" 
    android:layout_height="wrap_content" 
    android:padding="15dip" 
    android:background="@drawable/input_felid" 
    android:inputType="textWebEmailAddress" 
    android:hint="Email" 
    android:textAlignment="center" 
    android:layout_below="@+id/editConfrimPassword" 
    android:layout_centerHorizontal="true" /> 
<EditText 
    android:id="@+id/editMobileNumber" 
    android:layout_width="265dp" 
    android:layout_height="wrap_content" 
    android:padding="15dip" 
    android:background="@drawable/pass_rounded_edited_text" 
    android:inputType="number" 
    android:hint="Contact Number" 
    android:textAlignment="center" 
    android:layout_below="@+id/editEmail" 
    android:layout_centerHorizontal="true" /> 

<CheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="I agree the terms and condiations" 
    android:id="@+id/checkBox" 
    style="@style/ButtonText" 
    android:textSize="18dp" 
    android:checked="false" 
    android:layout_below="@+id/editMobileNumber" 
    android:layout_alignLeft="@+id/btnSiginUpButton" 
    android:layout_alignStart="@+id/btnSiginUpButton" /> 
<Button 
    android:id="@+id/btnSiginUpButton" 
    android:background="@drawable/blue_botton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/signUp" 
    style="@style/ButtonText" 
    android:onClick="AddUser" 
    android:layout_below="@+id/checkBox" 
    android:layout_alignLeft="@+id/editMobileNumber" 
    android:layout_alignStart="@+id/editMobileNumber" 
    android:layout_alignRight="@+id/editMobileNumber" 
    android:layout_alignEnd="@+id/editMobileNumber" /> 
    </RelativeLayout> 

Fehler

05-21 21: 31: 39,665 1359-1359/com.example.champ.remindme E/Android Runtime: fatal EXCEPTION: main Prozess: com.example.champ. remindme, PID: 1359 java.lang.IllegalStateException: Konnte die Methode für Android nicht ausführen: onClick bei android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick (AppCompatViewInFlater.java:289) bei android.view.View. performClick (View.java:4780) bei android.view.View $ PerformClick.run (View.java:19866) bei android.os.Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:135) bei android.app.ActivityThread.main (ActivityThread.java:5254) bei java.lang.reflect.Method.invoke (native Methode) bei Java .lang.reflect.Method.invoke (Methode.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:903) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:698) verursacht durch: java.lang.reflect.InvocationTargetException bei java.lang.reflect.Method.invoke (native Methode) bei java.lang.reflect.Method.invoke (Method.java:372) bei android.support. v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick (AppCompatViewInFlater.java:284) bei android.view.View.performClick (View.java:4780) bei android.view.View $ PerformClick.run (View.java:19866) bei android.os.Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:135) bei android.app.ActivityThread.main (ActivityThread.java:5254) bei java.lang.reflect.Method.invoke (native Methode) bei java.lang.reflect.Method.invoke (Method.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:903) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:698) verursacht durch: android.database.sqlite .SQLiteException: unerkanntes Token: "');" (Code 1):, beim Kompilieren: INSERT INTO Benutzer VALUES ('android.support.v7.widget.AppCompatEditText {383b472a VFED..CL ........ 192,541-888,682 # 7f0d00a6 App: id/editUsername}' , android.support.v7.widget.AppCompatEditText {3568491b VFED..CL ........ 192,682-888,823 # 7f0d00a7 app: id/editPassword} ',' android.support.v7.widget.AppCompatEditText {298f8ab8 VFED..CL ........ 192,964-888,1105 # 7f0d00a9 app: id/editEmail} ',' android.support.v7.widget.AppCompatEditText {298f8ab8 VFED..CL ....... . 192.964-888.1105 # 7f0d00a9 app: id/editEmail} ','); bei android.database.sqlite.SQLiteConnection.nativePrepareStatement (native Methode) bei android.database.sqlite.SQLiteConnection.acquirePreparedStatement (SQLiteConnection.java:889) bei android.database.sqlite.SQLiteConnection.prepare (SQLiteConnection.java:500) bei android.database.sqlite.SQLiteSession.prepare (SQLiteSession.java:588) bei android.database.sqlite.SQLiteProgram. (SQLiteProgram.java:58) bei android.database.sqlite.SQLiteStatement. (SQLiteStatement.java : 31) bei android.database.sqlite.SQLiteDatabase.executeSql (SQLiteDatabase.java:1674) bei android.database.sqlite.SQLiteDatabase .execSQL (SQLiteDatabase.java:1605) bei com.example.champ.remindme.SignUp.AddUser (SignUp.java:41) bei java.lang.reflect.Method.invoke (native Methode) bei java.lang. reflect.Method.invoke (Methode.java:372) bei android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick (AppCompatViewInFlater.java:284) bei android.view.View.performClick (View.java:4780) bei android.view.View $ PerformClick.run (View.java:19866) bei android.os.Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:135) bei android.app.ActivityThread.main (ActivityThread.java:5254) bei java.lang.reflect.Method.invoke (native Methode) bei java. lang.reflect.Method.invoke (Methode.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:903) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:698)

+0

Bitte fügen Sie das Fehlerprotokoll ein, damit wir es untersuchen und helfen können. – ishmaelMakitla

+0

Beitrag ist aktualisiert –

Antwort

1

Ihre editUsername, editPassword sind nicht Strings, die Sie versuchen, in einfügen, Seine EditText, die eindeutig ist einen Zuordnungszeiger wie 'android.support.v7.widget.AppCompatEditText{383b472a VFED..CL ........ 192,541-888,682 #7f0d00a6

Referenzierung haben Sie String einfügen statt EditText sich wie in editPassword so editUsername-editUsername.getText().toString() wie gleiche ändern und sowie je benötigt Ruhe.

UPDATE:

Ihre Syntax ist auch korrigieren versuchen, nicht so zu ersetzen,

db.execSQL("INSERT INTO User VALUES('"+editUsernameText+"'," + "'"+editPasswordText+ "'," + "'"+editEmailText+"',"+ "'"+editEmailText+"');"); 

oder besser parametererized Abfrage verwenden, statt diese Art von roher Abfrage wie this.

+0

immer noch das gleiche Problem sir @ShreeKrishna –

+0

@HacanChamp Kein Fehler könnte anders sein, wenn Sie wirklich Ihre Codes geändert, wie ich sagte, übergeben 'editUsername' und' editUsername.getText(). ToString() 'sind wirklich andere Sache. –

+0

Sir wissen, dass ich diesen Fehler bekomme. –

Verwandte Themen