Android框架之路——聊天Demo实现

一、所用技术

  • GreenDao存储聊天数据;
  • RecyclerView根据viewtype显示聊天界面;
  • butterknife绑定view;

   如果这些你还没有了解,你可以参考这些文章:

二、实现效果

后台每5s发送数据过来,存储到数据库中,并显示到界面上,用户可以发送文字,保存到数据库并显示。.9的图片比较丑,缺一个美工姑娘,欢迎联系。。。

三、总体思路

通过RecyclerView的viewType来决定加载左右聊天布局,通过greendao来操作数据库。一些细节问题较多,需要逐个解决。

  1. 编写activity_main.xml,主要由一个RecyclerView和下方的EditText输入框以及发送按钮组成。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white"
        android:padding="5dp"
        tools:context="com.ping.chatdemo.activity.MainActivity">
    
        <android.support.v7.widget.RecyclerView
            android:id="@+id/rv_chatList"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/linearLayout">
    
        </android.support.v7.widget.RecyclerView>
    
        <LinearLayout
            android:layout_alignParentBottom="true"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/linearLayout">
            <android.support.design.widget.TextInputLayout
                android:layout_width="0dp"
                android:layout_weight="6"
                android:layout_height="50dp">
                <EditText
                    android:id="@+id/et_content"
                    android:hint="请输入文字..."
                    android:textSize="15dp"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"/>
            </android.support.design.widget.TextInputLayout>
    
            <Button
                android:id="@+id/bt_send"
                android:padding="10dp"
                android:textSize="15dp"
                android:text="发送"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
        </LinearLayout>
    
    </RelativeLayout>
    
  2. 看一下我们的

  • 12
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Android 网络框架 demo 可以用来演示如何使用网络框架来进行网络请求和数据处理。一个典型的 demo 通常包括以下内容: 1. 网络请求库的引入:首先,在项目中引入一个适合的网络请求库,如 Retrofit、Volley 或 OkHttp 等。在项目的 build.gradle 文件中添加相应的库依赖,并同步项目。 2. 网络请求接口的定义:接下来,定义网络请求所需的接口,包括请求方法、请求参数和返回结果等。可以使用注解方式来定义接口,并在接口方法上使用相关注解配置请求方式、请求路径和请求参数等信息。 3. 发起网络请求:使用网络请求库提供的相关方法,执行网络请求操作。根据接口的定义,构造请求参数,并通过网络请求库发送请求。可以通过回调或 RxJava 等方式来处理请求的响应结果。 4. 数据解析与展示:在获得网络请求的响应结果后,对返回的数据进行解析和处理。根据服务器返回的数据格式,选择合适的方式进行解析,如 JSON 解析。将解析后的数据展示到界面上,如在 RecyclerView 或 ListView 中显示列表数据。 5. 错误处理与异常处理:在网络请求过程中,可能会出现各种错误情况,例如网络不可用、请求超时等。为了保证用户体验和程序的稳定性,需要对这些错误进行适当处理,并提供相应的错误提示或重试机制。 通过一个完整的网络框架 demo,可以帮助开发者快速了解和掌握使用网络框架进行网络请求和数据处理的基本流程和技巧。同时,也可以根据项目需求对 demo 进行修改和扩展,以满足具体的业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值