2017-07-10 6 views
-4

これは編集用テキストの問題を含むJavaコードです パッケージmehulvarshney.ebooks;データベースにデータを挿入中にエラーが表示されるAndroid SQlite

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Toast; 



public class register extends AppCompatActivity { 
EditText ed_name; 
EditText ed_pass; 
EditText ed_email; 
EditText ed_no; 
Intent i; 
Database db; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.register); 
    db=new Database(this); 
    ed_name= (EditText) findViewById(R.id.editfirstname); 
    ed_pass= (EditText) findViewById(R.id.ed_logpass); 
    ed_email= (EditText) findViewById(R.id.editemail); 
    ed_no= (EditText) findViewById(R.id.editmobileno); 

} 


public void onclick(View view) { 
    if(view.getId()==R.id.btnsave){ 
     Boolean result=db.insertData(ed_name.getText().toString(),ed_pass.getText().toString(),ed_no.getText().toString(),ed_email.getText().toString()); 
     if(result) { 
      Toast.makeText(getApplicationContext(), "Successful", Toast.LENGTH_LONG).show(); 
      i = new Intent(this, logged.class); 
      startActivity(i); 
     } 

     else 
      Toast.makeText(getApplicationContext(),"Unsuccessful",Toast.LENGTH_LONG).show(); 
    } 

    } 
} 

このXMLファイル

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/LinearLayout1" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:background="#FFBF00" 
android:weightSum="1" 
tools:context="mehulvarshney.ebooks.register"> 


<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="30dp" 
    android:text="Books e-Shop" 
    android:textSize="50sp" 
    android:layout_gravity="center" 
    android:textColor="#ffffff" 
    android:gravity="center" 
    android:layout_weight="0.1" 
    android:textStyle="bold" 
/> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_weight="0.1" 
    android:layout_marginTop="30dp" 
    > 

    <TextView 
     android:id="@+id/textFirstName" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/name" 
     android:inputType="text" 
     android:layout_marginStart="20dp" 
     android:textStyle="bold" 
     android:textSize="20sp" 
     /> 

    <EditText 
     android:id="@+id/editfirstname" 
     android:layout_width="wrap_content" 
     android:layout_marginStart="65dp" 
     android:layout_height="wrap_content" 
     android:ems="8"> 

     <requestFocus/> 
    </EditText> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.1" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/txttextemail" 
     android:layout_marginStart="20dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/email_id" 
     android:textStyle="bold" 
     android:textSize="20sp" 
     /> 

    <EditText 
     android:id="@+id/editemail" 
     android:layout_marginStart="47dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ems="8" 
     android:inputType="textEmailAddress"/> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.1" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/txttextmobileno" 
     android:layout_marginStart="20dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/mobile_no" 
     android:textStyle="bold" 
     android:textSize="20sp" 
     /> 

    <EditText 
     android:id="@+id/editmobileno" 
     android:layout_marginStart="24dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ems="8" 
     android:inputType="phone"/> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.1" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/textpassword" 
     android:layout_width="wrap_content" 
     android:layout_marginStart="20dp" 
     android:layout_height="wrap_content" 
     android:text="Password" 
     android:textStyle="bold" 
     android:textSize="20sp" 
     /> 

    <EditText 
     android:id="@+id/editpassword" 
     android:layout_marginStart="33dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ems="8" 
     android:inputType="textPassword"/> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.1" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/textconformpassword" 
     android:layout_width="wrap_content" 
     android:layout_height="60dp" 
     android:layout_marginStart="20dp" 
     android:text="Confirm Password" 
     android:textStyle="bold" 
     android:textSize="20sp" 
     /> 

    <EditText 
     android:id="@+id/editconformpassword" 
     android:layout_width="wrap_content" 
     android:layout_marginStart="33dp" 
     android:layout_height="wrap_content" 
     android:ems="8" 
     android:inputType="textPassword"/> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_marginLeft="15dp" 
    android:layout_marginRight="15dp" 
    android:gravity="center" 
    android:orientation="horizontal"> 

    <Button 
     android:id="@+id/btnsave" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:background="#FF7F50" 
     android:gravity="center" 
     android:onClick="onclick" 
     android:text="@string/sign_up" 
     android:textColor="#ffffff" 
     android:textSize="20sp" /> 

</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.35" 
    android:layout_gravity="bottom" 
    android:gravity="bottom"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_marginStart="80dp" 
     android:gravity="center" 
     android:textSize="20sp" 
     android:textColor="#ffffff" 
     android:id="@+id/account" 
     android:textStyle="bold" 
     android:text="@string/already_have_an_account" 
     android:onClick="onclick"/> 

</LinearLayout> 

とデータベースのコードが

package mehulvarshney.ebooks; 

/** 
* Created by Lakshya Saxena on 09-07-2017. 
*/ 

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


public class Database extends SQLiteOpenHelper { 

private static final String DB_NAME = "EBooks"; 
private static final String TABLE_NAME = "LOGIN"; 
private static final String KEY_EMAIL = "Email"; 

public Database(Context context) { 

    super(context, DB_NAME, null, 1); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("CREATE TABLE "+ TABLE_NAME + "(ID INTEGER PRIMARY 
    KEY,Name TEXT,Password TEXT,Number TEXT,Email TEXT)"); 

} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); 
    onCreate(db); 
} 

public boolean insertData(String name, String pass, String number, 
          String email) { 

    SQLiteDatabase db = this.getWritableDatabase(); 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put("Name", name); 
    contentValues.put("Password", pass); 
    contentValues.put("Email", email); 
    contentValues.put("Number", number); 

    long result = db.insert(TABLE_NAME, null, contentValues); 
    db.close(); 
    if (result == -1) 
     return false; 
    else 
     return true; 


} 

public boolean valid(String s1,String s2) { 

    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor cursor = db.rawQuery("SELECT Email and Password FROM " + 
           TABLE_NAME + " WHERE " 
      + KEY_EMAIL + " = '" + s1 + "' and Password = '" + s2 + "'" 
       ,null); 

    boolean exist = (cursor.getCount()>0); 
    cursor.close(); 
    db.close(); 
    return exist; 
} 

} 

コードですが

として与えられたエラーを生成しています![]あなたがのEditTextのために間違ったIDを使用しているので、あなたがnullオブジェクト上EditText.getText()を呼び出していることは明らかであるログから

+0

nullポインタの例外もあります。 –

+2

また、javaはメソッド名のためにキャメルケースの構文を使用します。 'onClick()'メソッドの大文字小文字を確認してください。 –

+0

クラスがありません。logcatの最初の行 –

答えて

0

は、ヌルであなたのEditTextオブジェクトed_pa​​ssをreference.So。

変更この行:

ed_pass= (EditText) findViewById(R.id.ed_logpass); 

ed_pass= (EditText) findViewById(R.id.editpassword); 

にあなたのxmlレイアウトのed_logpassのようなIDがありません。

希望すると便利です。

+0

たくさんありがとうございます。私は最後の夜からエラーを探していましたが、私もXMLファイルを通過しましたが、そのIDに気付かなかった。 –

関連する問題