android 实现友邻社交标题栏和帖子列表

android实现1.界面显示友邻社交标题栏和帖子列表,动态列表项包括图片、发布人和点赞数,点击列表项进入帖子详情。 2.帖子详情界面显示标题栏、发布人、发布时间、发布内容和用户评论,用户评论包括评论总数、发布评论的用户头像、昵称、发布日期、评论点赞数和评论内容,界面底部显示发表评论输入框和发布按钮,输入评论内容并点击发布按钮即可发布评论

img

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7637567
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:解决布局文件显示错乱, 布局文件内容变了, 资源文件被注解框架占领了, 全部显示错误
  • 除此之外, 这篇博客: 【Android 电量优化】电量优化 ( 充电状态获取 | 主动获取充电状态 | 广播接受者监听充电状态 | 被动获取充电状态 | 注册空广播接受者获取历史广播 )中的 三、主动获取充电状态 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:


  • 1 . 主动获取充电状态流程 :


    ① 创建 IntentFilter : 创建 IntentFilter , 并为其设置 Intent.ACTION_BATTERY_CHANGED 意图 ;

    IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    

    ② 注册广播接受者 : 调用 Context 对象的 registerReceiver 方法 , 设置 BroadcastReceiver receiver 广播接收者参数为空 , IntentFilter 就是上述创建的意图过滤器 ;

    Intent intent = context.registerReceiver(null, intentFilter);
    

    ③ 获取充电状态 : 从注册广播返回的 Intent 意图中获取对应的充电状态 ;

    int batteryChargeState = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
    

    ④ 对比充电状态 : 将上述从 Intent.ACTION_BATTERY_CHANGED 匹配的意图中获取 BatteryManager.EXTRA_PLUGGED 对应的值 , 与以下 333 个值进行对比 , 如果一致 , 说明当前是此种充电状态 ;

    • BatteryManager.BATTERY_PLUGGED_AC : 交流电充电 ;
    • BatteryManager.BATTERY_PLUGGED_USB : USB 接口充电 ;
    • BatteryManager.BATTERY_PLUGGED_WIRELESS : 无线充电 ;


    2 . 广播接受者注册用法 :


    ① 注册广播接收者 : registerReceiver 方法主要作用是在主线程注册一个广播接收者 BroadcastReceiver 运行 ;

    ② 广播接收者调用 : 当注册的 IntentFilter 中的 action 匹配到相应的广播时 , BroadcastReceiver 会被在主线程调用 ;

    ③ 历史广播保存 : 系统发送完毕的广播 , 会被保存下来 , 在后续注册时发送 ;

    ④ 广播复用机制 : 一旦有广播接收者注册广播 , 如果之前发送完毕的广播与本次注册的 IntentFilter 意图的 Action 匹配 , 次函数就会返回一个 Intent , 这个 Intent 就是之前已经发送的广播 ;

    ⑤ 如 : 本次注册的 IntentFilter 中包含 Intent.ACTION_BATTERY_CHANGED , 如果使用如下方法 context.registerReceiver(null, intentFilter) 注册空广播接收者 , 返回值就是之前发送过的 Intent.ACTION_BATTERY_CHANGED 广播 , 可以从该广播中获取对应的充电状态变化数据 ;

    ⑥ 注册多个意图 : 如果在 IntentFilter 中注册多个意图 , 广播接收者如果不为空 , 则会处理每一个意图 , 但是返回值只能返回一个意图 , 返回哪个由系统决定 ;


    广播接收者注册方法有两种功能 , 一个是注册广播接收者 , 另一个是获取之前已经发送的相同 Action 的历史广播 ;

    这里使用的注册广播接收者的获取历史广播的功能 ;



    3 . 代码示例 :

    package kim.hsl.bp;
    
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.BatteryManager;
    
    public class BatteryUtils {
    
        /**
         * 主动获取当前电池是否在充电 , 即数据线是否插在手机上
         * @return
         */
        public static boolean isBatteryCharging(Context context){
            boolean isBatteryCharging = false;
            // 主动发送包含是否正在充电状态的广播 , 该广播会持续发送
            IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
            // 注册广播接受者
            Intent intent = context.registerReceiver(null, intentFilter);
    
            // 获取充电状态
            int batteryChargeState = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
    
            // 判定是否是 AC 交流电充电
            boolean isAc = batteryChargeState == BatteryManager.BATTERY_PLUGGED_AC;
            // 判断是否是 USB 充电
            boolean isUsb = batteryChargeState == BatteryManager.BATTERY_PLUGGED_USB;
            // 判断是否是 无线充电
            boolean isWireless = batteryChargeState == BatteryManager.BATTERY_PLUGGED_WIRELESS;
    
            // 如何上述任意一种为 true , 说明当前正在充电
            isBatteryCharging = isAc || isUsb || isWireless;
    
            return isBatteryCharging;
        }
    
    }
    
    
  • 您还可以看一下 李月喜老师的企业微信开发自建内部应用开发篇课程中的 开发文档如何阅读,如何寻求帮助,如何找到同行小节, 巩固相关知识点

参考:https://peakchen.blog.csdn.net/article/details/131608605?spm=1001.2014.3001.5502

可以去github 找找demo,很容易就能找到相关demo