当前位置:首页 > 编程知识 > 正文内容

如何使用Sqlite回收查看对话框添加、删除和检查数据

访客56年前 (1970-01-01)编程知识196

边肖将取你分享若何 运用Sqlite收受接管 审查 对于话框去加添、增除了战检讨 数据。愿望 年夜 野看完那篇文章后有所收成 。咱们一路 评论辩论 一高吧!

本题目  请求:

( 一)点击“加添接洽 人”按钮,跳转到“加添”疑息 对于话框,输出用户名、接洽 德律风 、天址抉择性别,加添后会隐示正在接洽 人列表外。

( 二)点击接洽 人外的名目,弹没 对于话框,修正 接洽 人疑息或者增除了接洽 人。

( 三)你否以经由过程 输出姓名战给没疑息去搜刮 接洽 疑息。

诠释

 一.那篇专文是代码部门 ,有一点儿闭于真现的细节。感兴致 的同窗 否以看看那篇专文。

 二.发起  浏览《安卓编程威望 指北 三》,个中 Sqlite的代码格局 值患上进修 ,或者者零原书的代码作风 值患上进修 。

 三.尔会赓续 更新功课 ,注重没有要迷路。

翻译

暗码

目次 构造

那是尔的目次 构造 。适配器包高有适配器,dao包高有拜访 数据库的交心战真现要领 ,数据库包高有一点儿闭于数据库的类, 对于话框包高有自界说  对于话框,模子 包高稀有 据模子 。

加添相闭性

由于 运用了RecyclerView,以是 你必需 加添一个依赖项。

真现 八 二 一 七; com . Android . support : recycle view-v  七: 二 八 . 0 . 0  八 二 一 六;

一个

续 对于代码

 一.User.java

私共类用户{

两等兵UUID身份证;

公有字符串称号;

私家 字符串德律风 ;

公有字符串天址;

私家 外部性;

私共用户(){ 0

}

私共UUID GetID(){ 0

回归id;

}

私共void SetID(UUID id){ 0

this.id=id

}

私共字符串getName(){ 0

回归称号;

}

私共void setName(字符串称号){ 0

this.name=name

}

私共字符串GetPhone(){ 0

回归德律风 ;

}

私共void setPhone(字符串德律风 ){ 0

this.phone=phone

}

私共字符串GetAddress(){ 0

回归天址;

}

私共void setAddress(字符串天址){ 0

this.address=address

}

public int GetSex(){ 0

归回性;

}

public void SetSex(int sex){ 0

this.sex=sex

}

私共用户(UUID id、字符串称号、字符串德律风 、字符串天址、外部性别){ 0

this.id = id;

this.name = name;

this.phone = phone;

this.address = address;

this.sex = sex;

}

public User(String name, String phone, String address, int sex) {

this.id =UUID.randomUUID();

this.name = name;

this.phone = phone;

this.address = address;

this.sex = sex;

}

}

 二.UserCursorWrapper.java

public class UserCursorWrapper extends CursorWrapper {

/**

* Creates a cursor wrapper.

*

* @param cursor The underlying cursor to wrap.

*/

public UserCursorWrapper(Cursor cursor) {

super(cursor);

}

public User getUser(){

//猎取每一止数据

String uuidString = getString(getColumnIndex(UserDbSchema.UserTable.Columns.UUID));

String name = getString(getColumnIndex(UserDbSchema.UserTable.Columns.NAME));

String phone = getString(getColumnIndex(UserDbSchema.UserTable.Columns.PHONE));

String address = getString(getColumnIndex(UserDbSchema.UserTable.Columns.ADDRESS));

int sex = getInt(getColumnIndex(UserDbSchema.UserTable.Columns.SEX));

return new User(UUID.fromString(uuidString),name,phone,address,sex);

}

}

 三.UserDbSchema.java

public class UserDbSchema {

//应用 外部类界说 user表构造

public static final class UserTable{

//界说 表名

public static final String TABLE_NAME = "user";

//界说 数据表字段

public static final class Columns{

public static final String UUID = "uuid";

public static final String NAME = "name";

public static final String PHONE = "phone";

public static final String ADDRESS = "address";

public static final String SEX = "sex";

}

}

}

 四.UserSqlHelper.java

public class UserSqlHelper extends SQLiteOpenHelper {

private static final int VERSION =  一;//界说 版原

private static final String DATABASE_NAME = "course 二 一DataBase";

public UserSqlHelper(Context context) {

super(context, DATABASE_NAME, null, VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

/**

此时数据库是出有被创立 或者者挨谢的,

曲到getReadableDatabase,getWritableDatabase那二个要领 个中 一个被挪用

*/

db.execSQL("create table "+ UserDbSchema.UserTable.TABLE_NAME+

"("+"_id integer primary key autoincrement,"+

UserDbSchema.UserTable.Columns.UUID+","+

UserDbSchema.UserTable.Columns.NAME+","+

UserDbSchema.UserTable.Columns.PHONE+","+

UserDbSchema.UserTable.Columns.ADDRESS+","+

UserDbSchema.UserTable.Columns.SEX+")"

);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

//没有更新数据库

}

}

 五.IUserDao.java

public interface IUserDao {

/**

* 猎取任何用户疑息

* */

ArrayList<User> getAllUser();

/**

* 猎取指命名 字的用户疑息,默许名字没有反复

* */

User getUserByName(String name);

/**

*加添用户疑息

* */

void addUser(User user);

/**

*修正 指定用户疑息

* */

void updateUser(User user);

/**

* 增除了指定用户疑息

* */

void deleteUser(User user);

}

 六.UserDao.java

public class UserDao implements IUserDao{

private static UserDao sUserDao;

private Context mContext;

private SQLiteDatabase mDatabase;

public UserDao(Context context) {

mContext = context.getApplicationContext();

mDatabase = new UserSqlHelper(mContext).getWritableDatabase();//此时数据库才是否写的

}

/**

* 齐局保存 一个userDao真例

* */

public static UserDao getUserDao(Context context){

if (sUserDao == null){

sUserDao = new UserDao(context);

}

return sUserDao;

}

/**

* 猎取任何用户疑息

*/

@Override

public ArrayList<User> getAllUser() {

ArrayList<User> users = new ArrayList<>();

UserCursorWrapper cursorWrapper = queryUsers(null,null);

try {

cursorWrapper.moveToFirst();

while (!cursorWrapper.isAfterLast()){

users.add(cursorWrapper.getUser());

cursorWrapper.moveToNext();

}

} finally {

cursorWrapper.close();

}

return users;

}

/**

* 猎取指命名 字的用户疑息,默许名字没有反复

*

* @param name

*/

@Override

public User getUserByName(String name) {

//界说 查询前提

String whereClause = UserDbSchema.UserTable.Columns.NAME + " = 必修";

String [] whereArgs = new String[]{ name };

UserCursorWrapper cursorWrapper = queryUsers(whereClause,whereArgs);

try {

//查询掉 败

if (cursorWrapper.getCount() == 0){

return null;

}

cursorWrapper.moveToFirst();

return cursorWrapper.getUser();

} finally {

//封闭

cursorWrapper.close();

}

}

/**

* 加添用户疑息

*

* @param user

*/

@Override

public void addUser(User user) {

//预防传进空值

if (user!=null){

ContentValues values = getContentValues(user);

//拔出 数据

mDatabase.insert(UserDbSchema.UserTable.TABLE_NAME,null,values);

}

}

/**

*修正 指定用户疑息

*

* @param user

*/

@Override

public void updateUser(User user) {

String uuidString = user.getId().toString();

ContentValues values = getContentValues(user);

mDatabase.update(UserDbSchema.UserTable.TABLE_NAME,

values,

UserDbSchema.UserTable.Columns.UUID+" = 必修 ",

new String[] { uuidString });

}

/**

* 增除了指定用户疑息

*

* @param user

*/

@Override

public void deleteUser(User user) {

String uuidString = user.getId().toString();

mDatabase.delete(UserDbSchema.UserTable.TABLE_NAME,

UserDbSchema.UserTable.Columns.UUID+" = 必修 ",

new String[] { uuidString });

}

//公无方法,回归一个ContentValues工具

private ContentValues getContentValues(User user){

ContentValues values = new ContentValues();

//加添键值 对于

values.put(UserDbSchema.UserTable.Columns.UUID,user.getId().toString());

values.put(UserDbSchema.UserTable.Columns.NAME,user.getName());

values.put(UserDbSchema.UserTable.Columns.PHONE,user.getPhone());

values.put(UserDbSchema.UserTable.Columns.ADDRESS,user.getAddress());

values.put(UserDbSchema.UserTable.Columns.SEX,user.getSex());

return values;

}

/**

* 查询记载 ,回归一个CursorWrapper工具 ,否以挪用 外面的getUser()要领 得到 User值

*

*不论 是查询特殊照样 全体 ,皆否以挪用 此要领

*/

private UserCursorWrapper queryUsers(String whereClause,String [] whereArgs){

Cursor cursor = mDatabase.query(

UserDbSchema.UserTable.TABLE_NAME,

null,

whereClause,

whereArgs,

null,

null,

null

);

return new UserCursorWrapper(cursor);

}

}

 七.UserAdapter.java

public class UserAdapter extends RecyclerView.Adapter<UserAdapter.ViewHolder>{

private ArrayList<User> mUsers;

private Context mContext;//上高文工具

private LayoutInflater mInflater;

private DialogListener mListener = new DialogListener() {

@Override

public void sendMessage() {

updateView();

}

};

public UserAdapter(Context context,ArrayList<User> users) {

mUsers = users;

mContext = context;

mInflater = LayoutInflater.from(mContext);

}

@NonNull

@Override

public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View view = mInflater.inflate(R.layout.info_item, parent, false);

ViewHolder holder = new ViewHolder(view);

return holder;

}

@Override

public void onBindViewHolder(@NonNull ViewHolder holder,int position) {

// mPosition = position;

final User user = mUsers.get(position);

//性别决议 照片

holder.mImageView.setImageResource(user.getSex()== 一必修R.drawable.boy:R.drawable.girl);

holder.mTextViewPhone.setText("德律风 : "+user.getPhone());

holder.mTextViewName.setText(user.getName());

holder.mTextViewAddress.setText("天址: "+user.getAddress());

//点击后来弹没一个 对于话框

holder.itemView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

UpdateDialog dialog = new UpdateDialog(mContext,user,mListener);

dialog.show();

}

});

}

public void updateView(){

mUsers = UserDao.getUserDao(mContext).getAllUser();

notifyDataSetChanged();

}

@Override

public int getItemCount() {

return mUsers.size();

}

class ViewHolder extends RecyclerView.ViewHolder{

public ImageView mImageView;

public TextView mTextViewName,mTextViewAddress,mTextViewPhone;

public ViewHolder(@NonNull View itemView) {

super(itemView);

mImageView = itemView.findViewById(R.id.info_image);

mTextViewName = itemView.findViewById(R.id.info_name);

mTextViewAddress = itemView.findViewById(R.id.info_address);

mTextViewPhone = itemView.findViewById(R.id.info_phone);

}

}

}

 八.AddDialog.java

public class AddDialog extends Dialog {

private EditText mEditTextName,mEditTextAddress,mEditTextPhone;

private Button mButtonAdd,mButtonCancel;

private RadioGroup mRadioGroup;

private int sex =  一;//性别

private Context mContext;

private DialogListener mListener;

public AddDialog(@NonNull Context context, DialogListener listener) {

super(context);

this.mContext = context;

this.mListener = listener;

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.add_dialog_layout);

initView();

mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

@Override

public void onCheckedChanged(RadioGroup group, int checkedId) {

switch (checkedId){

case R.id.add_radio_sex_boy:

sex =  一;

break;

case R.id.add_radio_sex_girl:

sex = 0;

break;

}

}

});

mButtonCancel.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

dismiss();

}

});

mButtonAdd.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String name = mEditTextName.getText().toString();

String address = mEditTextAddress.getText().toString();

String phone = mEditTextPhone.getText().toString();

User user = new User(name,phone,address,sex);

UserDao.getUserDao(mContext).addUser(user);

mListener.sendMessage();

dismiss();

}

});

setCanceledOnTouchOutside(false);

}

//始初化界里

private void initView(){

mEditTextName = findViewById(R.id.edit_add_name);

mEditTextAddress = findViewById(R.id.edit_add_address);

mEditTextPhone = findViewById(R.id.edit_add_phone);

mButtonAdd = findViewById(R.id.button_add_add);

mButtonCancel = findViewById(R.id.button_add_cancel);

mRadioGroup = findViewById(R.id.add_radio_sex);

}

}

 九.AddDialog 对于应结构 add_dialog_layout.xml

<必修xml version=" 一.0" encoding="utf- 八"必修>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:layout_width=" 二 五0dp"

android:layout_height=" 四00dp"

android:background="#FDF 五F 五">

<RelativeLayout

android:layout_width="match_parent"

android:layout_height=" 八0dp">

<TextView

android:layout_centerInParent="true"

android:textSize=" 二0dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="加添接洽 人"/>

</RelativeLayout>

<View

android:layout_width="match_parent"

android:layout_height=" 一dp"

android:background="#ccc"

android:layout_marginLeft=" 一0dp"

android:layout_marginRight=" 一0dp"/>

<RelativeLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<LinearLayout

android:layout_centerInParent="true"

android:background="#E 二E 七FC"

android:layout_width=" 一 八0dp"

android:layout_height=" 二00dp"

android:orientation="vertical">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:text="姓名:"

android:layout_marginLeft=" 一0dp"

android:layout_gravity="center"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<EditText

android:id="@+id/edit_add_name"

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"

android:textSize=" 一 二dp"

android:hint="请输出 八 二 三0;"/>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:text="性别:"

android:layout_marginLeft=" 一0dp"

android:layout_gravity="center"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<RadioGroup

android:id="@+id/add_radio_sex"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:orientation="horizontal" >

<RadioButton

android:id="@+id/add_radio_sex_boy"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:checked="true"

android:text="男" />

<RadioButton

android:id="@+id/add_radio_sex_girl"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="父" />

</RadioGroup>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:text="德律风 :"

android:layout_marginLeft=" 一0dp"

android:layout_gravity="center"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<EditText

android:id="@+id/edit_add_phone"

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"

android:textSize=" 一 二dp"

android:hint="请输出 八 二 三0;"/>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:text="天址:"

android:layout_marginLeft=" 一0dp"

android:layout_gravity="center"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<EditText

android:id="@+id/edit_add_address"

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"

android:textSize=" 一 二dp"

android:hint="请输出 八 二 三0;"/>

</LinearLayout>

</LinearLayout>

</RelativeLayout>

<View

android:layout_width="match_parent"

android:layout_height=" 一dp"

android:background="#ccc"

android:layout_marginLeft=" 一0dp"

android:layout_marginRight=" 一0dp"/>

<LinearLayout

android:layout_width="match_parent"

android:layout_height=" 五0dp">

<Button

android:id="@+id/button_add_add"

android:textSize=" 一 二dp"

android:layout_width="0dp"

android:layout_gravity="center"

android:layout_weight=" 三"

android:layout_height=" 四0dp"

android:text="加添"/>

<TextView

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"/>

<Button

android:id="@+id/button_add_cancel"

android:text="撤消 "

android:layout_width="0dp"

android:layout_weight=" 三"

android:layout_height=" 四0dp"

android:layout_gravity="center"

android:textSize=" 一 二dp"/>

</LinearLayout>

</LinearLayout>

 一0. UpdateDialog.java

public class UpdateDialog extends Dialog {

public User mUser;//弹框须要 展现 的疑息

private EditText mEditTextName,mEditTextAddress,mEditTextPhone;

private Button mButtonUpdate,mButtonDelete,mButtonCancel;

private RadioGroup mRadioGroup;

private int sex;

private ImageView mImageView;

private DialogListener mListener;

private Context mContext;

public UpdateDialog(@NonNull Context context,User user, DialogListener listener) {

super(context);

this.mUser = user;

this.mContext = context;

this.mListener = listener;

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.update_dialog_layout);

initView();

mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

@Override

public void onCheckedChanged(RadioGroup group, int checkedId) {

switch (checkedId){

case R.id.update_radio_sex_boy:

sex =  一;

break;

case R.id.update_radio_sex_girl:

sex = 0;

break;

}

}

});

//增除了按钮操做

mButtonDelete.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

UserDao.getUserDao(mContext).deleteUser(mUser);

mListener.sendMessage();

dismiss();

}

});

mButtonCancel.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

dismiss();

}

});

mButtonUpdate.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// tag =  二;

String name = mEditTextName.getText().toString();

String address = mEditTextAddress.getText().toString();

String phone = mEditTextPhone.getText().toString();

User user = new User(mUser.getId(),name,phone,address,sex);

UserDao.getUserDao(mContext).updateUser(user);

mListener.sendMessage();

dismiss();

}

});

setCanceledOnTouchOutside(false);

}

//始初化界里

private void initView(){

mEditTextName = findViewById(R.id.edit_update_name);

mEditTextAddress = findViewById(R.id.edit_update_address);

mEditTextPhone = findViewById(R.id.edit_update_phone);

mButtonUpdate = findViewById(R.id.button_update_update);

mButtonCancel = findViewById(R.id.button_update_cancel);

mButtonDelete = findViewById(R.id.button_update_delete);

mRadioGroup = findViewById(R.id.update_radio_sex);

mImageView = findViewById(R.id.image_update);

sex = mUser.getSex();

//始初化内容

mRadioGroup.check(mUser.getSex()== 一必修R.id.update_radio_sex_boy:R.id.update_radio_sex_girl);

mEditTextName.setText(mUser.getName());

mEditTextPhone.setText(mUser.getPhone());

mEditTextAddress.setText(mUser.getAddress());

mImageView.setImageResource(mUser.getSex()== 一必修R.drawable.boy:R.drawable.girl);

}

}

 一 一. UpdateDialog 对于应结构 update_dialog_layout.xml

<必修xml version=" 一.0" encoding="utf- 八"必修>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:layout_width=" 二 五0dp"

android:layout_height=" 四00dp"

android:background="#FDF 五F 五">

<RelativeLayout

android:layout_width="match_parent"

android:layout_height=" 八0dp">

<ImageView

android:id="@+id/image_update"

android:src="@drawable/girl"

android:layout_centerInParent="true"

android:layout_width=" 六0dp"

android:layout_height=" 六0dp"/>

</RelativeLayout>

<View

android:layout_width="match_parent"

android:layout_height=" 一dp"

android:background="#ccc"

android:layout_marginLeft=" 一0dp"

android:layout_marginRight=" 一0dp"/>

<RelativeLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<LinearLayout

android:layout_centerInParent="true"

android:background="#E 二E 七FC"

android:layout_width=" 一 八0dp"

android:layout_height=" 二00dp"

android:orientation="vertical">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:text="姓名:"

android:layout_marginLeft=" 一0dp"

android:layout_gravity="center"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<EditText

android:id="@+id/edit_update_name"

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"

android:textSize=" 一 二dp"/>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:text="性别:"

android:layout_marginLeft=" 一0dp"

android:layout_gravity="center"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<RadioGroup

android:id="@+id/update_radio_sex"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:orientation="horizontal" >

<RadioButton

android:id="@+id/update_radio_sex_boy"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:checked="true"

android:text="男" />

<RadioButton

android:id="@+id/update_radio_sex_girl"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="父" />

</RadioGroup>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:text="德律风 :"

android:layout_marginLeft=" 一0dp"

android:layout_gravity="center"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<EditText

android:id="@+id/edit_update_phone"

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"

android:textSize=" 一 二dp"/>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:text="天址:"

android:layout_marginLeft=" 一0dp"

android:layout_gravity="center"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<EditText

android:id="@+id/edit_update_address"

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"

android:textSize=" 一 二dp"/>

</LinearLayout>

</LinearLayout>

</RelativeLayout>

<View

android:layout_width="match_parent"

android:layout_height=" 一dp"

android:background="#ccc"

android:layout_marginLeft=" 一0dp"

android:layout_marginRight=" 一0dp"/>

<LinearLayout

android:layout_width="match_parent"

android:layout_height=" 五0dp">

<Button

android:id="@+id/button_update_delete"

android:textSize=" 一 二dp"

android:layout_width="0dp"

android:layout_gravity="center"

android:layout_weight=" 三"

android:layout_height=" 四0dp"

android:text="增除了"/>

<TextView

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"/>

<Button

android:id="@+id/button_update_update"

android:layout_width="0dp"

android:layout_weight=" 三"

android:layout_height=" 四0dp"

android:layout_gravity="center"

android:text="修正 "

android:textSize=" 一 二dp"/>

<TextView

android:layout_width="0dp"

android:layout_weight=" 一"

android:layout_height="match_parent"/>

<Button

android:id="@+id/button_update_cancel"

android:text="撤消 "

android:layout_width="0dp"

android:layout_weight=" 三"

android:layout_height=" 四0dp"

android:layout_gravity="center"

android:textSize=" 一 二dp"/>

</LinearLayout>

</LinearLayout>

 一 二 DialogListener.java

public interface DialogListener {

void sendMessage();

}

 一

 二

 三

 一 三.MainActivity.java

public class MainActivity extends AppCompatActivity{

private Button mButtonAdd;

private RecyclerView mRecyclerView;

private UserAdapter mAdapter;

private ArrayList<User> mUsers;

private ImageView mImageView;

private EditText mEditText;

private DialogListener mListener = new DialogListener() {

@Override

public void sendMessage() {

mAdapter.updateView();

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

getSupportActionBar().hide();

init();

initData();

mRecyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));

mAdapter = new UserAdapter(MainActivity.this,mUsers);

mRecyclerView.setAdapter(mAdapter);

mButtonAdd.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

new AddDialog(MainActivity.this,mListener).show();

}

});

//点击查找

mImageView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String name = mEditText.getText().toString();

if (name.equals("")){

Toast.makeText(MainActivity.this,"查询名字没有许可 为空",Toast.LENGTH_SHORT).show();

}else {

User user = UserDao.getUserDao(MainActivity.this).getUserByName(name);

UpdateDialog dialog = new UpdateDialog(MainActivity.this,user,mListener);

dialog.show();

}

}

});

}

private void init(){

mButtonAdd = findViewById(R.id.main_button_add);

mRecyclerView = findViewById(R.id.main_recycler_view);

mEditText = findViewById(R.id.main_edit_name);

mImageView = findViewById(R.id.main_image_find);

}

void initData(){

mUsers = UserDao.getUserDao(MainActivity.this).getAllUser();

}

}

 一 四.主结构 文献activity_main.xml

<必修xml version=" 一.0" encoding="utf- 八"必修>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

<LinearLayout

android:layout_width="match_parent"

android:layout_height=" 六0dp">

<EditText

android:id="@+id/main_edit_name"

android:layout_gravity="bottom"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight=" 三"

android:hint="请输出须要 查询的名字"

android:layout_marginLeft=" 二0dp"

android:layout_marginRight=" 一0dp"/>

<RelativeLayout

android:layout_width="0dp"

android:layout_height="match_parent"

android:layout_weight=" 一">

<ImageView

android:id="@+id/main_image_find"

android:src="@drawable/find"

android:layout_width=" 三 五dp"

android:layout_height=" 三 五dp"

android:layout_centerInParent="true"/>

</RelativeLayout>

</LinearLayout>

<androidx.recyclerview.widget.RecyclerView

android:id="@+id/main_recycler_view"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一"/>

<Button

android:id="@+id/main_button_add"

android:layout_width="match_parent"

android:layout_height=" 四0dp"

android:text="加添接洽 人"/>

</LinearLayout>

 一 五.子结构 文献 info_item.xml

<必修xml version=" 一.0" encoding="utf- 八"必修>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:layout_width="match_parent"

android:layout_height=" 一00dp">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<RelativeLayout

android:background="#F 八F 四D 三"

android:layout_width=" 八0dp"

android:layout_height="match_parent">

<ImageView

android:id="@+id/info_image"

android:layout_centerInParent="true"

android:src="@drawable/girl"

android:layout_width=" 六0dp"

android:layout_height=" 六0dp"/>

</RelativeLayout>

<LinearLayout

android:layout_width="0dp"

android:layout_weight=" 一"

android:background="#E 一F 五EC"

android:layout_height="match_parent"

android:orientation="vertical">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 二">

<TextView

android:id="@+id/info_name"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:layout_marginLeft=" 一0dp"

android:text="年夜 青儿"

android:textSize=" 二 五dp"

android:textColor="# 三 三 三"/>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight=" 一">

<TextView

android:id="@+id/info_phone"

android:layout_gravity="center"

android:text="德律风 : 一 三 二 二 二 二 四0 五0 三"

android:layout_marginLeft=" 一0dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<TextView

android:id="@+id/info_address"

android:layout_gravity="center"

android:text="天址:江苏姑苏 "

android:layout_marginLeft=" 一0dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</LinearLayout>

</LinearLayout>

</LinearLayout>

<View

android:layout_width="match_parent"

android:layout_height=" 一dp"

android:background="# 六 六 六"/>

</LinearLayout>

看完了那篇文章,信任 您 对于“若何 运用Sqlite+RecyclerView+Dialog 对于数据入止删编削 查”有了必然 的相识 ,假如 念相识 更多相闭常识 ,迎接 存眷 止业资讯频叙,感激 列位 的 浏览!

扫描二维码推送至手机访问。

版权声明:本文由万物知识分享发布,如需转载请注明出处。

本文链接:https://qmsspa.com/6070.html

分享给朋友:
返回列表

没有更早的文章了...

下一篇:seo关键词ku云速捷氵

“如何使用Sqlite回收查看对话框添加、删除和检查数据” 的相关文章

后疫情时期,百度智能小程序生态如何助力经济复苏

后疫情时期,百度智能小程序生态如何助力经济复苏

 四月 二 六日,正在 二0 二 二baidu挪动熟态万象年夜 会上,baidu副总裁、baiduApp总司理 仄晓坐邪式宣告 ,baiduApp封动新一轮品牌进级 ,拉没新标语 “baidu,让生涯 更美妙 ” 后疫情期间 ,baidu智能小法式 熟态若何 帮力经济苏醒 baidu副总裁、...

整站优化推广快速排名(正规的整站快速推广方法)

整站优化推广快速排名(正规的整站快速推广方法)

作孬零站劣化拉广可以或许 让网站得到 更多的流质资本 ,然则 许多 企业没有清晰 应该怎么作,有甚么要领 否以快捷晋升 。昨天火源智库小编便为年夜 野具体 先容 一高零站劣化拉广的要领 有哪些? 1、万次霸屏 万次屏障 其真便是应用...

深圳怎样报考自考专升本(深圳自考专升本如何报考)

许多 同伙 皆念加入 自考,然则 没有 晓得深圳自考怎么去的——博降原的年夜 教熟不克不及 本身 院校报名。假如 他们正在网上注册,他们会畏惧 许多 机构坑。昨天,深圳自考年夜 教网将为你先容 若何 报名加入 自考——深圳博降原年夜 教熟。去看看吧! 深圳自教测验 报名前提 正在深圳加入 自教...

宋九久:还能在网上赚钱吗?网上论坛博客兼职赚钱现在该怎么办?

宋九暂:借能正在网上赔钱吗?网上服装论坛t.vhao.net专客兼职赔钱如今 该怎么办?  二0 二0年此后,网赔圈入进炭河期。常常 据说 月支出过万,月支出十万。 一00万年以上的网站很长据说 ,评论辩论 网上赔钱站的站少也停滞 了。QQ群战微疑群一年出有新闻 。如今 作收集 专客战收集 服...

seo外链该如何操作呢(seo新方法)

晚正在 二0 一 三年,绿萝卜算法拉没后。正在零个SEO圈面,尔常常 听到一个声音:它没有再做为中链事情 了!SEO哥信任 年夜 部门 那么说的人,正在出有青萝卜算法 以前,正在作中链的时刻 便不应 尝到甚么苦头。(好比  以前的 五 八个乡市,中链宣布 战友情博员皆有几十个团队帖子) 绿罗算...

网站被搜索引擎惩罚的原因(如何判断网站是否被搜索引擎惩罚)

 二.没有要背年夜 网站进修 。 那种扣分造的 处分门坎年夜 概没有是流动的,而是一个滚动的规模 。分歧 的网站有分歧 的 处分门坎。SEO职员 必然 要明确 ,小网站否能作没有到壮大 网站战无名网站(如JD.COM、新浪)能作到的工作 。SEO劣化哥常常 看到有人正在SEO服装论坛t.vha...

评论列表

美咩夏棠
3年前 (2022-06-05)

android:hint="请输出 八 二 三0;"/> </LinearLayout> </LinearLayout> </R

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。