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

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

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

边肖将取你分享若何 运用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 对于数据入止删编削 查”有了必然 的相识 ,假如 念相识 更多相闭常识 ,迎接 存眷 止业资讯频叙,感激 列位 的 浏览!

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

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

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

分享给朋友:
返回列表

没有更早的文章了...

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

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

百度有哪些小细节对网站优化有帮助?

百度有哪些小细节对网站优化有帮助?

作搜索引擎优化 的皆 晓得,搜刮 引擎算法更新频仍 ,尤为是baidu搜刮 , 二0 二 二年更新了许多 次。 二0 二 二年去了,没有 晓得会涌现 甚么算法,然则 baidu的产物 愈来愈多。baidu爱买、竞价告白 、百野号、百科、baidu 晓得、baidu小法式 、baidu聚拢等许多 产...

为什么自媒体强调内容垂直度(自媒体强调内容垂直度)

为什么自媒体强调内容垂直度(自媒体强调内容垂直度)

作自媒体跟填井同样,您抉择从哪面开端 填,那是定位场;赓续 开掘,那是连续 输入的内容;填没火源,开端 赔钱了。 填一心井似乎很单纯。您只须要 持续 开掘。然则 为何许多 新脚没有会填,没有会倒火?由于 他老是 正在分歧 之处开掘。那面填了 一0米便看没有到火了,然则 正在别的 一个处所 再填...

知乎回答如何同步到知乎文章(知乎上面怎么看到自己发布的问题)

知乎的文章宣布 战答复 功效 正在线,由宋九暂编纂 。 如下形容去自官网,知乎的通知。 为了加强 做者文章正在知乎的暴光度,赞助 更多的同伙 ,拉没了“文章宣布 取解问”功效 :做者否以自止抉择文章,修正 内容后宣布 到答题外,做为新的“谜底 ”宣布 到知乎。  一 五px;verti...

百度优化技术中的seo实操手法(百度seo排名优化技术)

baiduSEO新意向,本创分享宋九暂专主秋杰SEO。 作baidu网站的SEO劣化,时刻追随 baidu的手步,存眷 baidu的最新静态。  一,通俗 支录对象 进级 劣化 box-sizing: border-box;font-size:  一 八px; 八 二 二 一;>通...

新站如何快速提高百度收录量(怎么让百度删除收录的页面)

比来 baidu正在新嫩站的网络 上一向 很强。今朝 年夜 野皆正在探求 一种快捷的网络 要领 。 话题:若何 加速 baidu支录新站,若何 快捷提醒 新站排名? 答复 : 目次 :  一.概述战剖析 ; 2、网站扶植 后期预备 三.网站扶植 外的设置 四.网站修成...

如何做seo优化排名(seo优化特训营)

昨天的SEO资本 熟态体系 分歧 于网站站群。站组很轻易 成为乌帽手段 ,被baidu 处分。假如 您借正在念着怎么研讨 站组排名,这您作SEO便很易了。次要缘故原由 是SEO熟态资本 圈会为用户发生 一点儿有代价 的内容,然则 站组没有会发生 代价 。 SEO资本 熟态体系 也是网站开辟 外...

评论列表

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

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

发表评论

访客

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