package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import androidx.appcompat.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.List;
public class MainActivity extends AppCompatActivity{
private ImageView iv_add;
private ListView lv_show;
private EditText et_name,et_phone;
private MyAdapter myAdapter;
private DBHelper dbHelper;
private List<User> userList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_add = findViewById(R.id.iv_add);
lv_show = findViewById(R.id.lv_show);
if (userList != null) {
userList.clear();
}
dbHelper = new DBHelper(MainActivity.this, "user.db", null, 1);
updateListView();
iv_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addData();
}
});
lv_show.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
updateData(position);
}
});
lv_show.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
deleteData(position);
return true;
}
});
}
private void addData() {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
View dialogView=View.inflate(MainActivity.this,R.layout.dialog,null);
builder.setIcon(R.drawable.icon)
.setTitle("添加联系人")
.setView(dialogView);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
et_name=dialogView.findViewById(R.id.et_name);
et_phone=dialogView.findViewById(R.id.et_pwd);
String name=et_name.getText().toString();
String phone=et_phone.getText().toString();
if (phone.length()!=11){
showToast("电话号码长度不符合要求");
}else {
User user=dbHelper.get(name);
if (user.getName()==null){
if (dbHelper.insert(name,phone)){
showToast("添加成功");
updateListView();
}else{
showToast("添加失败");
}
}else {
showToast("该联系人已存在");
}
}
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
private void deleteData(int position) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.icon)
.setTitle("提示")
.setMessage("是否删除该联系人?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
User user = (User) myAdapter.getItem(position);
String deleteId = user.getId();
if (dbHelper.delete(deleteId)) {
updateListView();
showToast("删除成功");
} else {
showToast("删除失败");
}
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
private void updateData(int position) {
View dialogView = View.inflate(MainActivity.this, R.layout.dialog, null);
User user = (User) myAdapter.getItem(position);
et_name = dialogView.findViewById(R.id.et_name);
et_phone = dialogView.findViewById(R.id.et_pwd);
et_name.setText(user.getName());
et_phone.setText(user.getPhone());
String findId = user.getId();
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.icon)
.setTitle("修改联系人")
.setView(dialogView)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String name = et_name.getText().toString();
String phone = et_phone.getText().toString();
if (phone.length()!=11){
showToast("电话号码长度不符合要求");
}else {
User user=dbHelper.get(name);
if (user.getName()==null){
if (dbHelper.update(findId,name,phone)){
showToast("修改成功");
updateListView();
}else{
showToast("修改失败");
}
}else {
showToast("该联系人已存在");
}
}
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
public void updateListView(){
userList=dbHelper.query();
myAdapter=new MyAdapter(userList,MainActivity.this);
lv_show.setAdapter(myAdapter);
}
public void showToast(String msg){
Toast.makeText(MainActivity.this,msg,Toast.LENGTH_SHORT).show();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android Studio是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA。它提供了集成的Android开发工具用于开发和调试,是用于Android应用程序开发的官方IDE。 Android Studio的开发环境和模式更加的丰富和便捷,能够支持多种语言,还可以为开发者提供测试工具和各种数据分析。它有许多功能,如优化小贴士、应用翻译服务、推荐跟踪、营收曲线图、试用版测试和阶段性展示等。 在IDEA的基础上,Android Studio提供五大功能: 1. 可以帮助开发者在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。 2. 提供了应用翻译服务,让开发者可以直接在开发主体中获得专业的翻译。 3. 提供了营收曲线图,向开发者展示其应用营收,以国家进行划分。 4. 提供了试用版测试和阶段性展示,开发者可以对应用进行测试,然后向测试用户推出,测试结果不会对外公布。 5. Android Studio还解决了语言问题,支持多语言版本和翻译,让开发者更适应全球开发环境。
资源推荐
资源详情
资源评论
收起资源包目录
Android-Studio-Contacts-master.zip (47个子文件)
Android-Studio-Contacts-master
简易通讯录
gradle.properties 1KB
gradle
wrapper
gradle-wrapper.jar 58KB
gradle-wrapper.properties 230B
app
src
androidTest
java
com
example
myapplication
ExampleInstrumentedTest.java 764B
test
java
com
example
myapplication
ExampleUnitTest.java 386B
main
java
com
example
myapplication
MyAdapter.java 2KB
DBHelper.java 3KB
MainActivity.java 7KB
User.java 516B
res
mipmap-xxhdpi
ic_launcher_round.webp 6KB
ic_launcher.webp 3KB
mipmap-hdpi
ic_launcher_round.webp 3KB
ic_launcher.webp 1KB
drawable-v24
ic_launcher_foreground.xml 2KB
add.png 2KB
icon.png 2KB
mipmap-anydpi-v26
ic_launcher.xml 272B
ic_launcher_round.xml 272B
values-night
themes.xml 678B
mipmap-mdpi
ic_launcher_round.webp 2KB
ic_launcher.webp 982B
mipmap-xxxhdpi
ic_launcher_round.webp 8KB
ic_launcher.webp 4KB
mipmap-xhdpi
ic_launcher_round.webp 4KB
ic_launcher.webp 2KB
values
colors.xml 599B
strings.xml 76B
themes.xml 679B
layout
item.xml 820B
activity_main.xml 1KB
dialog.xml 1KB
drawable
ic_launcher_background.xml 5KB
AndroidManifest.xml 778B
proguard-rules.pro 750B
build.gradle 1KB
.gitignore 6B
gradlew.bat 3KB
build.gradle 291B
.idea
.name 14B
deploymentTargetDropDown.xml 558B
misc.xml 862B
compiler.xml 169B
gradle.xml 746B
.gitignore 47B
settings.gradle 331B
gradlew 6KB
.gitignore 225B
共 47 条
- 1
资源评论
crmeb专业二开
- 粉丝: 569
- 资源: 181
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功