【问题标题】:don't show the latest post at the top不要在顶部显示最新帖子
【发布时间】:2019-10-02 10:02:41
【问题描述】:

我想在第一行显示最新的帖子。 我怎么能在安卓上做到这一点。 我正在使用 mysql- php 作为 webservis。

我正在尝试制作 twitter clonu。 最后一个帖子,需要在第一行看到。

Github 项目

https://github.com/prensmiskin/vollley-one/tree/master/volleydenemetwo/app/src/main/java/com/example/volleydenemetwo

public void kisiekle(){
        String url = "https://goldgym.pro/akis.php";
        final String akiss = akis.getText().toString().trim();


        StringRequest istek = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.e("Cevap",response);

                try{
                    JSONObject jsonObject = new JSONObject(response);
                    JSONArray movies = jsonObject.getJSONArray("employees");




                    StringBuilder sb = new StringBuilder();

                  for (int i=0; i < movies.length();i++){
                        JSONObject b = movies.getJSONObject(i);

                       String akis_ad = b.getString("akis");


                      akisone.append(akis_ad + ","  + "\n\n");





                    }

网络服务/mysql - php
推特 https://github.com/prensmiskin/vollley-one/blob/master/akis.php
登录 https://github.com/prensmiskin/vollley-one/blob/master/login.php 注册
https://github.com/prensmiskin/vollley-one/blob/master/myphp.php

截图 https://user-images.githubusercontent.com/40228440/66035919-bb89fd00-e514-11e9-8151-ebba56fc7670.png

【问题讨论】:

  • 这听起来更像是一个概念问题。在第一次加载时,您应该加载按最新日期时间排序的记录集,之后您需要一些 PubSub 之类的事件驱动服务,例如; Websocket 客户端(web、android 活动等)将在新消息到达时收到通知,您异步订阅主题并将其推送到 UI 顶部。您是否遇到任何特定问题/错误?
  • 如何在android中编写文本。 ?如果我问这个问题,答案是使用 textview。你能具体回答我的问题吗?

标签: java android


【解决方案1】:

如果您的意思是它应该按最新(顶部)-> 最旧(底部)排序。您可以根据帖子的日期sort您的收藏。 Here 是关于它的 stackoverflow 问题。

如果您的意思是仅在某个顶部栏中显示它而不是在那之后。根据需要对列表进行排序(或者如果不需要预先排序)。拿第一个项目,你显示并删除它之后:

public void displayItems(List<Posts> posts) {
    Collections.sort(posts, new Comparator<Post>() {
        @Override
        public int compare(Post o1, Post o2) {
            //You could also make Post implement Comparable. Then the Comparator is not needed.
            return o1.getDatePosted().compareTo(o2.getDatePosted())
        }
    });
    Post firstItem = posts.get(0);
    posts.remove(0);
    // Continue doing magic
}

我发现很难弄清楚您具体要问什么,因为代码似乎与您提出的问题无关。几个提示:

  1. 查看 GSON 以进行 JSON(反)序列化(或更新的 moshi
  2. 阅读 java 风格指南(GoogleOracle)(作为一个有一点 java 经验并且几乎没有 php 的人,我发现你的代码有点难以阅读)
  3. 在为 Android 发帖时,很高兴认识您 minSdk,因为这会产生很大的影响
  4. 此外,当您询问 Android 时,最好了解更多有关您使用的布局的信息。

【讨论】:

    【解决方案2】:

    我通过改进 Web 服务端解决了这个问题。

    $statement = $conn->prepare("SELECT akis FROM tabletwo ORDER BY id DESC");
    

    我知道我的问题与 android 相关,但以这种方式解决了。

    【讨论】:

      猜你喜欢
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      相关资源
      最近更新 更多