2015-04-15 2 views
-2

Я не поддерживаю сеанс прямо сейчас для пользователей, но когда я его регистрирую, он работает нормально, и он переходит к следующему действию, но когда я вхожу в него, он вызывает сбой приложения, а если данные неверны даже тогда он должен показывать тост, но его не происходит. Это список ошибокСбой приложения при входе в систему

04-15 11:56:51.180 12421-12421/com.example.ali.projectbuddy E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    java.lang.IllegalStateException: Could not execute method of the activity 
      at android.view.View$1.onClick(View.java:3607) 
      at android.view.View.performClick(View.java:4212) 
      at android.view.View$PerformClick.run(View.java:17476) 
      at android.os.Handler.handleCallback(Handler.java:800) 
      at android.os.Handler.dispatchMessage(Handler.java:100) 
      at android.os.Looper.loop(Looper.java:194) 
      at android.app.ActivityThread.main(ActivityThread.java:5371) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:525) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.reflect.InvocationTargetException 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:525) 
      at android.view.View$1.onClick(View.java:3602) 
            at android.view.View.performClick(View.java:4212) 
            at android.view.View$PerformClick.run(View.java:17476) 
            at android.os.Handler.handleCallback(Handler.java:800) 
            at android.os.Handler.dispatchMessage(Handler.java:100) 
            at android.os.Looper.loop(Looper.java:194) 
            at android.app.ActivityThread.main(ActivityThread.java:5371) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:525) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
            at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.NullPointerException 
      at com.example.ali.projectbuddy.SignIn.Sign(SignIn.java:44) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:525) 
            at android.view.View$1.onClick(View.java:3602) 
            at android.view.View.performClick(View.java:4212) 
            at android.view.View$PerformClick.run(View.java:17476) 
            at android.os.Handler.handleCallback(Handler.java:800) 
            at android.os.Handler.dispatchMessage(Handler.java:100) 
            at android.os.Looper.loop(Looper.java:194) 
            at android.app.ActivityThread.main(ActivityThread.java:5371) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:525) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
            at dalvik.system.NativeStart.main(Native Method) 

Мой знак в коде SignIn.java

package com.example.ali.projectbuddy; 

import android.app.Activity; 
import android.app.Dialog; 
import android.content.Intent; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.database.Cursor; 
import android.widget.Toast; 


public class SignIn extends Activity { 

    LoginDataBaseAdapter loginDataBaseAdapter; 

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

     // create a instance of SQLite Database 

    } 

    public void Sign(View v) 
    { 

     Toast.makeText(this,"I m working",Toast.LENGTH_LONG).show(); 
     // get the Refferences of views 
      EditText editTextUserName=(EditText)findViewById(R.id.Email); 
     EditText editTextPassword=(EditText)findViewById(R.id.Password); 

       // get The User name and Password 
       String userName=editTextUserName.getText().toString(); 
       String password=editTextPassword.getText().toString(); 
       Toast.makeText(this,"I m working",Toast.LENGTH_LONG).show(); 
       // fetch the Password form database for respective user name 
       String storedPassword=loginDataBaseAdapter.getSinlgeEntry(userName); 

       // check if the Stored password matches with Password entered by user 
       if(password.equals(storedPassword)) 
       { 
        Toast.makeText(this, "Congrats: Login Successfull", Toast.LENGTH_LONG).show(); 
        Intent i = new Intent(this,Welcome_Page.class); 
        startActivity(i); 
       } 
       else 
       { 

        Toast.makeText(SignIn.this, "User Name or Password does not match", Toast.LENGTH_LONG).show(); 
        Intent i = new Intent(this, SignIn.class); 
        startActivity(i); 
       } 
      } 




/* 
    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     // Close The Database 
     loginDataBaseAdapter.close(); 
    } 
*/ 

    public void SignUpClick(View v) 
    { 
     Intent i = new Intent(this, SignUp.class); 
     startActivity(i); 
    } 
} 

Мой activity_sign_in

<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:background="@color/material_blue_grey_800" 
    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="com.example.ali.projectbuddy..Login" > 
    <GridLayout 
     android:layout_width="fill_parent" 
     android:layout_height="300px" 
     android:layout_alignParentStart="true" 
     android:id="@+id/gridLayout"> 
     <ImageView 
      android:layout_width="96dp" 
      android:layout_height="143dp" 
      android:id="@+id/imageView" 
      android:layout_row="0" 
      android:layout_column="0" 
      android:background="@drawable/icon1"/> 

     <TextView android:text="@string/Project" 
      android:textSize="18pt" 
      android:textAlignment="center" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textColor="#73e0f4" 
      style="@style/Base.TextAppearance.AppCompat.Title" 
      android:background="@color/material_blue_grey_800" 
      android:id="@+id/textView" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentEnd="true" 
      android:layout_row="0" 
      android:layout_column="8" /> 
    </GridLayout> 
    <EditText 
     android:id="@+id/Email" 
     android:layout_width="match_parent" 
     android:layout_height="32dp" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="200dp" 
     android:textSize="22dp" 
     android:textColor="#FFFFFF" 
     android:background="#07000000" 
     android:ems="10" 
     android:hint="Email" 

     android:inputType="textEmailAddress" 

     > 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/Password" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_below="@id/Email" 
     android:layout_marginTop="27dp" 
     android:ems="10" 
     android:textSize="22dp" 
     android:textColor="#FFFFFF" 
     android:background="#07000000" 
     android:hint="Password" 
     android:inputType="textWebPassword" /> 

    <Button 
     android:id="@+id/Login" 
     android:layout_width="120dp" 
     android:layout_height="65dp" 

     android:background="@drawable/signin" 
     android:onClick="Sign" 
     android:layout_below="@+id/ForgetPassword" 
     android:layout_alignEnd="@+id/Password" 
     android:clickable="true" /> 

    <TextView 
     android:id="@+id/ForgetPassword" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#FFFFFF" 
     android:text="ForgetPassword" 
     android:textSize="22dp" 
     android:onClick="ForgetPasswordClick" 
     android:layout_below="@+id/SignUp" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="10dp" /> 

    <TextView 
     android:id="@+id/SignUp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="New User? Want to SignUp?" 
     android:textSize="22dp" 
     android:onClick="SignUpClick" 
     android:layout_marginTop="40dp" 
     android:textColor="#FFFFFF" 
     android:layout_below="@+id/Password" 
     android:layout_alignParentStart="true" /> 

</RelativeLayout> 

Мой адаптер базы данных

package com.example.ali.projectbuddy; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.SQLException; 
import android.database.sqlite.SQLiteDatabase; 

public class LoginDataBaseAdapter 
{ 
    static final String DATABASE_NAME = "login.db"; 
    static final int DATABASE_VERSION = 1; 
    public static final int NAME_COLUMN = 1; 
    public static final String KEY_NAME = "user_name"; 
    // TODO: Create public field for each column in your table. 
    // SQL Statement to create a new database. 
    static final String DATABASE_CREATE = "create table "+"User"+ 
      "(" +"ID"+" integer primary key autoincrement,"+ "user_name string not null, email string unique not null, password string not null, mobileNo string not null, country string not null, city string not null, location string);"; 
    // Variable to hold the database instance 
    public SQLiteDatabase db; 
    // Context of the application using the database. 
    private final Context context; 
    // Database open/upgrade helper 
    private DataBaseHelper dbHelper; 
    public LoginDataBaseAdapter(Context _context) 
    { 
     context = _context; 
     dbHelper = new DataBaseHelper(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 
    public LoginDataBaseAdapter open() throws SQLException 
    { 
     db = dbHelper.getWritableDatabase(); 
     return this; 
    } 
    public void close() 
    { 
     db.close(); 
    } 

    public SQLiteDatabase getDatabaseInstance() 
    { 
     return db; 
    } 

    public void insertEntry(String userName, String email, String password, String mobileNo, String country, String city) 
    { 
     ContentValues newValues = new ContentValues(); 
     // Assign values for each row. 
     newValues.put("user_name", userName); 
     newValues.put("password",password); 
     newValues.put("email",email); 
     newValues.put("mobileNo",mobileNo); 
     newValues.put("country",country); 
     newValues.put("city",city); 

     // Insert the row into your table 
     db.insert("User", null, newValues); 
     ///Toast.makeText(context, "Reminder Is Successfully Saved", Toast.LENGTH_LONG).show(); 
    } 
    public int deleteEntry(String UserName) 
    { 
     //String id=String.valueOf(ID); 
     String where="user_name=?"; 
     int numberOFEntriesDeleted= db.delete("User", where, new String[]{UserName}) ; 
     // Toast.makeText(context, "Number fo Entry Deleted Successfully : "+numberOFEntriesDeleted, Toast.LENGTH_LONG).show(); 
     return numberOFEntriesDeleted; 
    } 
    public String getSinlgeEntry(String userName) 
    { 
     Cursor cursor=db.query("User", new String[]{KEY_NAME}, "user_name=?"+userName, null, null, null,null); 

     if(cursor.getCount()<1) // UserName Not Exist 
     { 
      cursor.close(); 
      return "NOT EXIST"; 
     } 
     cursor.moveToFirst(); 
     String password= cursor.getString(cursor.getColumnIndex("password")); 
     cursor.close(); 
     return password; 
    } 
    public void updateEntry(String userName,String password) 
    { 
     // Define the updated row content. 
     ContentValues updatedValues = new ContentValues(); 
     // Assign values for each row. 
     updatedValues.put("user_name", userName); 
     updatedValues.put("password",password); 

     String where="username = ?"; 
     db.update("User",updatedValues, where, new String[]{userName}); 
    } 
} 

Когда я попытайтесь войти в мое приложение, когда я зарегистрирую его, работаю нормально. Что мне нужно сделать? теперь, пожалуйста, помогите

+0

Что такое код в строке 44 в операции входа в систему? –

+0

его fuction of Logindatabaseadapter –

ответ

2

Но где вы инициализировали loginDataBaseAdapter? Я не вижу в вашем коде.

loginDataBaseAdapter=new LoginDataBaseAdapter(context); 
+0

Я сделал это в databasehelper –

+0

ohh no i did not dit it. в какой строке я должен это сделать? \ –

+0

@AliMohsin в 'onCreate (.......)' –

Смежные вопросы