Android SQLiteデータ修正、削除-電話帳アプリケーション
緒論
以前のリリースでは、電話帳アプリケーションのデータをSQLiteに保存してロードする機能が追加されました.
保存したデータを削除および変更する機能を追加します.
Android開発者のドキュメントを参考にしました.
https://developer.android.com/training/data-storage/sqlite
削除
-MainActivityにdeleteNumberメソッドを追加し、[LISAクラスタビューをクリック]イベントで[削除]ボタンをクリックしたときに実行します.
......
//리사이클러뷰 클릭 이벤트
mAdapter.setOnItemClickListener (new Adapter.OnItemClickListener () {\
......
//삭제
@Override
public void onDeleteClick(View v, int position) {
String name = mArrayList.get (position).getName ();
String number = mArrayList.get (position).getNumber ();
//데이터삭제
deleteNumber (name, number);
mArrayList.remove (position);
mAdapter.notifyItemRemoved (position);
}
});
.......
//SQLite 데이터 삭제
private void deleteNumber(String name, String number) {
//WHERE 절 삭제될 열을 찾는다.
String selection = DBHelper.FeedEntry.COLUMN_NAME_NAME + " LIKE ?" +
" and " + DBHelper.FeedEntry.COLUMN_NAME_NUMBER + " LIKE ?";
//삭제될 열을 찾을 데이터
String[] selectionArgs = {name, number};
db.delete (DBHelper.FeedEntry.TABLE_NAME, selection, selectionArgs);
}
-Smithを削除します.アプリケーションが閉じた後に実行されると、完全に削除されていることがわかります.
変更
-updateNumber()メソッドをMainActivityに追加し、[修正](Modify)ボタンをクリックして機能します.
.....
//SQLite 데이터 수정
//newName 은 수정된 값, oldName 수정전 값
private void updateNumber(String oldName, String oldNumber, String newName, String newNumber){
//수정된 값들을 values 에 추가한다.
ContentValues values = new ContentValues();
values.put(DBHelper.FeedEntry.COLUMN_NAME_NAME, newName);
values.put (DBHelper.FeedEntry.COLUMN_NAME_NUMBER, newNumber);
// WHERE 절 수정될 열을 찾는다.
String selection = DBHelper.FeedEntry.COLUMN_NAME_NAME + " LIKE ?" +
" AND "+ DBHelper.FeedEntry.COLUMN_NAME_NUMBER + " LIKE ?";
String[] selectionArgs = { oldName, oldNumber };
db.update(DBHelper.FeedEntry.TABLE_NAME, values, selection, selectionArgs);
}
......
//AlertDialog 를 사용해서 데이터를 수정한다.
private void editItem(String name, String number, int position) {
......
// 수정 버튼 클릭
//어레이리스트 값을 변경한다.
btn_edit.setOnClickListener (new View.OnClickListener () {
@Override
public void onClick(View view) {
String editName = edit_name.getText ().toString ();
String editNumber = edit_number.getText ().toString ();
mArrayList.get (position).setName (editName);
mArrayList.get (position).setNumber (editNumber);
//데이터 수정메서드 실행
updateNumber (name,number,editName,editNumber);
mAdapter.notifyItemChanged (position);
dialog.dismiss ();
}
});
.......
}
-MarieをAnnaに変更しました.-Android StudioでクライアントのSQLiteを表示します.ドロップダウン・メニューは、データベース・インスペクタで表示できます.
-データが変更されていることを確認します.
の最後の部分
-簡単な電話帳アプリを完成しました.入力を受信して保存、変更、または削除できます.これらのデータはグループ外ビューに表示されます.
-すべての4つの位置を確認して、すべてのコードを理解します.コードが再構築されると、リボンに転送されます.
-何か気になることがあったらメッセージをお願いします.
-次の位置は...
Reference
この問題について(Android SQLiteデータ修正、削除-電話帳アプリケーション), 我々は、より多くの情報をここで見つけました https://velog.io/@yamamamo/안드로이드-SQLite-데이터-수정-삭제-전화번호부-앱テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol