海外手表网站,全屋定制软件,电子商务网站建设类论文,郑州销售网站使用LitePal删除数据的方式主要有两种#xff0c;第一种就是直接调用已存对象的delete()方法#xff0c;所谓已存储对象就是调用过save()方法的对象#xff0c;或者说是通过LitePal提供的查询API查出来的对象#xff0c;都是可以直接使用delete方法来删除对象的。这是比较简…使用LitePal删除数据的方式主要有两种第一种就是直接调用已存对象的delete()方法所谓已存储对象就是调用过save()方法的对象或者说是通过LitePal提供的查询API查出来的对象都是可以直接使用delete方法来删除对象的。这是比较简单的方式。我演示用另一种删除数据的方式。
接下来 我们设定一个输入框和一个按钮删除输入框中指定的数据。其中我们需要获取输入框的实例即你输入的内容然后我们根据你输入的内容去删除可以和数据库内匹配的对象。发现删除数据后再添加数据sqlite中的id并不是从1开始而是从上一回的数据的外下排比如没删除前表中最后一个对象的id为39删除表内所有数据后新增一个对象的id为40但是此时表内只有一个数据对象。
package com.example.testappb;import android.content.Intent;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import org.litepal.crud.DataSupport;import java.util.List;public class RegisterActivity extends AppCompatActivity {private EditText DtelEdit;private EditText DpasswordEdit;private Button querenzhuce;private Button zhucefanhui;//声明删除信息private EditText edittext_shanchu;private Button button_shanchu;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.register_layout);//获取输入框的实例DtelEdit (EditText)findViewById(R.id.edittext_Dtel);DpasswordEdit (EditText)findViewById(R.id.edittext_Dpassword);....edittext_shanchu (EditText)findViewById(R.id.edittext_shanchu);button_shanchu (Button)findViewById(R.id.button_shanchu); button_shanchu.setOnClickListener(new View.OnClickListener() {//获取输入的信息后转化为字符串String edittextshanchu DtelEdit.toString();Overridepublic void onClick(View view) {//// ListDriveruser driveruers DataSupport.findAll(Driveruser.class);//for(Driveruser driveruser:driveruers) {//if ((driveruser.getDtel().toString()).equals(edittextshanchu)) {//DataSupport.deleteAll(Driveruser.class,Dtel ?,edittextshanchu);//driveruser.save();DataSupport.deleteAll(Driveruser.class);Toast.makeText(RegisterActivity.this,删除成功,Toast.LENGTH_SHORT).show();return;}});}
}
鉴于我们之前设置表内字段数据类型的局限性我们想要从Sqlite数据中删除某一个特定数据的话现在还无法实现因为我之前建立的Driveruser表内只有两个字段一个是手机号Dtel和密码Dpassword,这两个字段都是设置为String类型String类型的数据来匹配的话是通过equals方法来比较的但是又由于deleteAll()方法内参数的限制我们暂时还无法实现删除某一特定的对象不过我们可以删除整个表内的数据。就如DataSupport.delteAll(Driveruser.class)。delete方法内没有设置其参数。就表示要删除Driveruser表中所有的数据。和updateAll()方法是类似的。其中delete()方法中有三个参数第一个参数用于指定删除哪张表中的数据Driveruser.class就意味着删除Book表中的数据。第二个参数用于指定约束条件。例如DataSupport.deleteAllBook.class,price?,15);意思就是删除Book表中price低于15的书。其中是一个占位符。