Android仿微信通讯录添加

引言

随着智能手机的普及,社交软件成为人们日常生活中必不可少的一部分。微信作为国内最大的社交软件,其通讯录功能也成为了用户经常使用的功能之一。本文将会介绍如何在Android平台上实现一个仿微信通讯录添加的功能,帮助读者更好地了解Android开发中的相关知识点。

功能概述

仿微信通讯录添加功能主要包括以下几个方面:

  1. 显示已添加的联系人列表;
  2. 通过搜索功能查找联系人;
  3. 实现添加联系人的功能;
  4. 实现删除联系人的功能。

准备工作

在开始开发之前,需要准备好以下工具和资源:

  • Android Studio:用于开发和编译Android应用的集成开发环境;
  • JDK:Java开发工具包,用于编译Java代码;
  • 设备或模拟器:用于测试和运行Android应用。

开发步骤

创建项目

首先,打开Android Studio并创建一个新的Android项目。在项目创建过程中,需要设置应用的包名、项目名称和最低支持的Android版本等信息。

创建布局文件

接下来,创建用于显示已添加联系人列表的布局文件。创建一个名为activity_main.xml的文件,并添加以下代码:

<LinearLayout
    xmlns:android="
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
        android:id="@+id/contact_list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

</LinearLayout>

创建数据模型

在开始编写Java代码之前,需要先定义一个数据模型来表示联系人的信息。在MainActivity.java所在的包下创建一个名为Contact的类,并添加以下代码:

public class Contact {
    private String name;
    private String phoneNumber;

    public Contact(String name, String phoneNumber) {
        this.name = name;
        this.phoneNumber = phoneNumber;
    }

    public String getName() {
        return name;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }
}

创建适配器

接下来,创建适配器来将联系人数据与列表项进行绑定。在MainActivity.java中添加以下代码:

public class ContactAdapter extends ArrayAdapter<Contact> {
    public ContactAdapter(Context context, List<Contact> contacts) {
        super(context, 0, contacts);
    }

    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_contact, parent, false);
        }

        Contact contact = getItem(position);

        TextView nameTextView = convertView.findViewById(R.id.name_text_view);
        TextView phoneNumberTextView = convertView.findViewById(R.id.phone_number_text_view);

        nameTextView.setText(contact.getName());
        phoneNumberTextView.setText(contact.getPhoneNumber());

        return convertView;
    }
}

创建列表项布局

为了展示每个联系人的信息,需要创建一个用于显示列表项的布局文件。在res/layout目录下创建一个名为list_item_contact.xml的文件,并添加以下代码:

<LinearLayout
    xmlns:android="
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/name_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/phone_number_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="14sp"
        android:textColor="#888888"/>

</LinearLayout>

创建MainActivity

现在,我们可以开始编写MainActivity类来实现相关功能了。首先,在MainActivity.java中添加以下代码:

public class MainActivity extends AppCompatActivity {
    private List<Contact> contacts;
    private ContactAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        contacts = new ArrayList<>();
        adapter = new ContactAdapter(this, contacts);

        ListView contact