MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button startService; private Button stopService; private EditText editText=null; private MyReceiver receiver=null; private EditText username, password, positionName; private SQLiteDatabase DB; private ListView values; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); username = (EditText) findViewById(R.id.username); password = (EditText) findViewById(R.id.userpwd); positionName = (EditText) findViewById(R.id.positionName); values = (ListView) findViewById(R.id.values_list); DB = SQLiteDatabase.openOrCreateDatabase(getFilesDir() + "/info.db", null); editText=(EditText)findViewById(R.id.editText); startService = (Button) findViewById(R.id.start_service); stopService = (Button) findViewById(R.id.stop_service); startService.setOnClickListener(this); stopService.setOnClickListener(this); // 长按删除 values.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // 获取所点击项的_id TextView tv = (TextView) arg1.findViewById(R.id.tv_id); final String id = tv.getText().toString(); // 通过Dialog提示是否删除 AlertDialog.Builder builder = new AlertDialog.Builder( MainActivity.this); builder.setMessage("确定要删除吗?"); // 确定按钮点击事件 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { delete(id); replaceList();// 删除后刷新列表 } }); // 取消按钮点击事件 builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); return true; } }); // 点击更新 values.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // 获取_id,username,password项 TextView tvId = (TextView) arg1.findViewById(R.id.tv_id); TextView tvName = (TextView) arg1 .findViewById(R.id.tv_username); TextView tvPass = (TextView) arg1 .findViewById(R.id.tv_password); TextView tvPName = (TextView) arg1 .findViewById(R.id.tv_positionName); final String id = tvId.getText().toString(); String username = tvName.getText().toString(); String password = tvPass.getText().toString(); String positionName = tvPName.getText().toString(); // 通过Dialog弹出修改界面 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("修改"); // 自定义界面包括两个文本输入框 View v = View.inflate(MainActivity.this, R.layout.alertdialog, null); final EditText etName = (EditText) v .findViewById(R.id.alert_name); final EditText etPass = (EditText) v .findViewById(R.id.alert_pass); final EditText etPName = (EditText) v .findViewById(R.id.alert_positionName); // Dialog弹出就显示原内容 etName.setText(username); etPass.setText(password); etPName.setText(positionName); builder.setView(v); // 确定按钮点击事件 builder.setPositiveButton("保存", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String newName = etName.getText().toString(); String newPass = etPass.getText().toString(); String newPName = etPName.getText().toString(); updata(newName, newPass, id, newPName); replaceList();// 更新后刷新列表 } }); // 取消按钮点击事件 builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } }); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.start_service: Intent startIntent = new Intent(this, MyService.class); startService(startIntent); // 启动服务 //注册广播接收器 receiver=new MyReceiver(); IntentFilter filter=new IntentFilter(); filter.addAction("com.example.liwenxiao.myservice"); MainActivity.this.registerReceiver(