Note that there are some explanatory texts on larger screens.

plurals
  1. POunable to retrieve data from sqlite database
    primarykey
    data
    text
    <p>In this app I want that as I click on button the data from my database display on List View and by using OnItemClick() it should show another activity But Unfortunately my application is is being stopped as I click on Button Plzz tell me where m I getting wrong Here is my activity class `</p> <pre><code>public class DictionaryActivity extends Activity { protected EditText searchText; protected DatabaseHelper d; protected Cursor cursor; protected ListAdapter adapter; protected ListView wordList; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); d = new DatabaseHelper(this); d.addWord(new Contact("Apple", "Fruit")); d.addWord(new Contact("Ape", "Animal")); d.addWord(new Contact("Boy", "Male")); d.addWord(new Contact("Bat", "Playing Object")); searchText = (EditText) findViewById(R.id.word); wordList = (ListView) findViewById(R.id.list); final Button button = (Button) findViewById(R.id.search); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub searchword(v); } }); } public void searchword(View view) { // || is the concatenation operation in SQLite cursor = d.getData(searchText); adapter = new SimpleCursorAdapter(this, R.layout.word_list, cursor, new String[] { "word" }, new int[] { R.id.word }); wordList.setAdapter(adapter); wordList.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id) { // TODO Auto-generated method stub Intent intent = new Intent(getApplicationContext(), WordDetails.class); Cursor cursor = (Cursor) adapter.getItem(position); intent.putExtra("Word_ID", cursor.getInt(cursor.getColumnIndex("id"))); startActivity(intent); } }); }}` </code></pre> <p>Here is DataBaseHelper Class</p> <pre><code>public class DatabaseHelper extends SQLiteOpenHelper { protected SQLiteDatabase db; private static final int DATABASE_VERSION = 1; // Database Name private static final String DATABASE_NAME = "Word_Meanings"; // Contacts table name private static final String TABLE_NAME = "Meanings"; // Contacts Table Columns names private static final String KEY_ID = "id"; private static final String KEY_WORD = "word"; private static final String KEY_MEAN = "mean"; private Contact contact; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } // Creating Tables @Override public void onCreate(SQLiteDatabase db) { String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_WORD + " TEXT," + KEY_MEAN + " TEXT" + ")"; db.execSQL(CREATE_CONTACTS_TABLE); } // Upgrading database @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // Drop older table if existed db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); // Create tables again onCreate(db); } // Adding new contact void addWord(Contact contact) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(KEY_WORD, contact.getword()); // Contact Name values.put(KEY_MEAN, contact.getmean()); // Contact Phone // Inserting Row db.insert(TABLE_NAME, null, values); db.close(); // Closing database connection } // Updating single contact public int updateWord(Contact contact) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(KEY_WORD, contact.getword()); values.put(KEY_MEAN, contact.getmean()); // updating row return db.update(TABLE_NAME, values, KEY_ID + " = ?", new String[] { String.valueOf(contact.getID()) }); } // Deleting single contact public void deleteWord(Contact contact) { this.contact = contact; SQLiteDatabase db = this.getWritableDatabase(); db.delete(TABLE_NAME, KEY_ID + " = ?", new String[] { String.valueOf(contact.getID()) }); db.close(); } // Getting contacts Count public int getCount() { String countQuery = "SELECT * FROM " + TABLE_NAME; SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery(countQuery, null); cursor.close(); // return count return cursor.getCount(); } public Cursor getData(EditText s) { // TODO Auto-generated method stub String sql = "SELECT id, word FROM Meanings WHERE word LIKE ?"; String sqlArgs[] = new String[] { s.getText().toString() + "%" }; Cursor c = db.rawQuery(sql, sqlArgs); return c; }} </code></pre> <p>here is logcat:</p> <pre><code>E/AndroidRuntime(543): FATAL EXCEPTION: main E/AndroidRuntime(543): java.lang.NullPointerException E/AndroidRuntime(543): at com.Dictionary.DatabaseHelper.getData(DatabaseHelper.java:107) E/AndroidRuntime(543): at com.Dictionary.DictionaryActivity.searchword(DictionaryActivity.java:56) E/AndroidRuntime(543): at com.Dictionary.DictionaryActivity$1.onClick(DictionaryActivity.java:47) E/AndroidRuntime(543): at android.view.View.performClick(View.java:3511) E/AndroidRuntime(543): at android.view.View$PerformClick.run(View.java:14105) E/AndroidRuntime(543): at android.os.Handler.handleCallback(Handler.java:605) E/AndroidRuntime(543): at android.os.Handler.dispatchMessage(Handler.java:92) E/AndroidRuntime(543): at android.os.Looper.loop(Looper.java:137) E/AndroidRuntime(543): at android.app.ActivityThread.main(ActivityThread.java:4424) E/AndroidRuntime(543): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(543): at java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime(543): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) E/AndroidRuntime(543): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) E/AndroidRuntime(543): at dalvik.system.NativeStart.main(Native Method) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload