Android 聊天交友全套源码实现流程

1. 创建新的Android项目

首先,我们需要在Android Studio中创建一个新的项目。打开Android Studio,点击“Start a new Android Studio project”,填写项目名称、包名和保存路径等信息,并选择适当的设备。最后,点击“Finish”按钮创建项目。

2. 添加所需的依赖

在项目的build.gradle文件中,添加以下依赖项:

implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
implementation 'com.github.bumptech.glide:glide:4.12.0'
implementation 'de.hdodenhof:circleimageview:3.1.0'

这些依赖项包括Material Design库、CardView库、RecyclerView库、ConstraintLayout库、Retrofit库、Glide库和CircleImageView库等。

3. 创建用户界面

res/layout目录下创建以下XML布局文件:

activity_main.xml:

<RelativeLayout xmlns:android="
    xmlns:tools="
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingTop="16dp"
    android:paddingRight="16dp"
    android:paddingBottom="16dp"
    tools:context=".MainActivity">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

item_user.xml:

<RelativeLayout xmlns:android="
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="8dp">

    <com.github.siyamed.shapeimageview.CircularImageView
        android:id="@+id/profileImage"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:src="@drawable/profile_image"
        android:scaleType="centerCrop"
        android:padding="2dp"
        app:siBorderColor="#fff"
        app:siBorderWidth="2dp"
        app:siRadius="25dp" />

    <TextView
        android:id="@+id/username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:layout_marginStart="16dp"
        android:textSize="16sp"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:layout_marginEnd="16dp"
        android:textSize="14sp"
        android:textColor="#808080" />

</RelativeLayout>

profile_image.png:

res/drawable目录下添加一个profile_image.png的图片文件,作为用户的头像。

4. 创建数据模型

创建一个名为User的Java类,用于表示用户信息:

public class User {
    private String username;
    private String message;
    private int profileImage;

    public User(String username, String message, int profileImage) {
        this.username = username;
        this.message = message;
        this.profileImage = profileImage;
    }

    public String getUsername() {
        return username;
    }

    public String getMessage() {
        return message;
    }

    public int getProfileImage() {
        return profileImage;
    }
}

5. 创建适配器

创建一个名为UserAdapter的Java类,用于将用户数据绑定到RecyclerView中的视图:

public class UserAdapter extends RecyclerView.Adapter<UserAdapter.UserViewHolder> {

    private List<User> userList;

    public UserAdapter(List<User> userList) {
        this.userList = userList;
    }

    @NonNull
    @Override
    public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_user, parent, false);
        return new UserViewHolder(view);
    }