2016-05-21 16 views
0

SignUp AcivityのSignUpボタンをクリックすると、私はうんざりしています。android:onのメソッドを実行できませんでした

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ファイル

<?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> 

エラー

5月21日21:31:39.665 1359から1359/com.example.champ.remindme E/AndroidRuntime:致命的な例外:メイン プロセス:com.example.champ。通知:PID 1359 java.lang.IllegalStateException:android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:289) のアンドロイドのメソッドを実行できませんでした。android.view.Viewの 。 performClick(View.java:4780)android.os.Handler.dispatchMessage(Handler.java:95)で を実行してください。(Handler.java:95)android.os.Handler.dispatchMessage(Handler.java:95)のandroid.os.Looper.loop(Looper.java:135)の android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(ネイティブメソッド) at java .lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:698) の原因:java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(ネイティブメソッド) at java.lang.reflect.Method.invoke(Method.java:372) android.support。 v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) android.view.View.performClick(View.java:4780) android.view.View $ PerformClick.run(View.java:19866) android.os.Looper.loop(Looper.java:135)でandroid.os.Handler.dispatchMessage(Handler.java:95) でandroid.os.Handler.handleCallback(Handler.java:739) で のandroid.app.ActivityThread.main(ActivityThread.java:5254) のjava.lang.reflect.Method.invoke(ネイティブメソッド) のjava.lang.reflect.Method.invoke(Method.java:372) com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 原因:android.database.sqlite 。SQLiteException:認識されないトークン: "');" (コード1):コンパイル中に:INSERT INTOユーザー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} '、'); (SQLiteConnection.java:889) android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) ) android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)android.database.sqlite.SQLiteProgram。 (SQLiteProgram.java:58) android.database.sqlite.SQLiteStatement。(SQLiteStatement.java :31)android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1674)の android.database.sqlite.SQLiteDatabaseの .execSQL(SQLiteDatabase.java:1605) at com.example.champ.remindme.SignUp.AddUser(SignUp.java:41) at java.lang.reflect.Method.invoke(ネイティブメソッド) at java.lang。 (View.java:4780)で を反映しています。.com.video.infoke(View.java:4780)のは、 android.os.Handler.dispatchMessage(Handler.java:95)の がandroid.view.Viewで$ PerformClick.run(View.java:19866) (android.os.Handler.handleCallback(Handler.java:739) ) android.os.Looper.loop(Looper.java:135) android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(ネイティブメソッド) at java。 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:903) at lang.reflect.Method.invoke ZygoteInit.java:698)

+0

エラーログを確認して助けてください。 – ishmaelMakitla

+0

投稿が更新されました –

答えて

1

あなたeditUsernameeditPasswordは明らかである。そのEditText、あなたが挿入しようとしているStringsないです'android.support.v7.widget.AppCompatEditText{383b472a VFED..CL ........ 192,541-888,682 #7f0d00a6

のように割り当てポインタを参照するあなたは、それ自体がそうeditPasswordと同じようなeditUsername.getText().toString()editUsernameを変更し、必要に応じあたりだけでなく、休むStringの代わりEditTextを挿入する必要があります。

UPDATE:

あなたの構文でもない代わりにthisのような生のクエリのこの種の、parametererizedクエリを使用して、次のように交換してみ

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

ORより良いを修正。

+0

まだ同じ問題が発生しています@ShreeKrishna –

+0

@HacanChamp 'editUsername'と' editUsername.getText()。toString() 'を渡すのは実際にコードを変更しても違うかもしれません。 –

+0

このエラーが発生しています。 –

関連する問題