首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Send

Android Send
EN

Stack Overflow用户
提问于 2016-06-06 15:44:06
回答 1查看 967关注 0票数 0

我正在为我的大学项目创建一个android应用程序。我想包括一个通知板,这将发送通知给所有相同的应用程序,如果一个通知张贴。并且已登录的用户可以查看通知。通知将存储在MySql数据库中,其中包含一个表通知,通知有5个表:通知-编号通知-详细通知-时间通知-张贴日期。我到处搜索,但我找到的是Google Cloud Messing API或REST API来做这件事。但我不想用这些。我只想将张贴的通知存储到数据库中,如果有人登录,他/她会收到新通知张贴的通知,并能够查看它。我还没有完成Java代码,只是需要如何做的想法。如果有人能帮上忙的话请告诉我。谢谢你!!

代码语言:javascript
复制
My XML code: activity_notice.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">


    <TextView
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="RECENT NOTICES"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:textColor="#ff0612"
        android:textSize="30dp"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:id="@+id/noticeText"
        android:hint="Post Notice"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="42dp"
        android:layout_alignRight="@+id/textView"
        android:layout_alignEnd="@+id/textView" />

    <ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/sndnoticeBut"
        android:src="@drawable/send1"
        android:background="@null"
        android:layout_alignTop="@+id/noticeText"
        android:layout_toRightOf="@+id/noticeText"
        android:layout_toEndOf="@+id/noticeText" />

</RelativeLayout>


Java code: Notice.java
import android.app.Activity;
import android.os.Bundle;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

import android.graphics.Typeface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;

import android.support.v7.app.NotificationCompat;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
import static java.lang.System.currentTimeMillis;

public class Notice extends Activity
{
    ImageButton notbut;
    EditText nottxt;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_notice);

        notbut=(ImageButton)findViewById(R.id.sndnoticeBut);
        nottxt=(EditText)findViewById(R.id.noticeText);

        notbut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tittle = "You Have Received A Message";
                String subject = "New Notice Posted";
                NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
                String body = nottxt.getText().toString().trim();

                NotificationManager notif = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                Notification notify = new Notification(R.drawable.noti, tittle, System.currentTimeMillis());
                PendingIntent pending = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), 0);

                notify.setLatestEventInfo(getApplicationContext(), subject, body,pending);
                notif.notify(0, notify);
            }
        });
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-06-06 17:21:08

因此,只有一台设备和该设备上的一个应用程序。该应用程序有多个存储在sqlite数据库中的用户。每个用户都可以在应用程序中编写通知。当另一个用户登录时,应该向他/她显示书面通知。

您需要的是区分某个用户是否看到通知的能力。如果last_login列还不存在,我建议您扩展users表以添加该列。然后,每次用户登录时,使用该列获取在上次登录日期之后发布的通知。这应该会产生用户没有看到的通知。显示通知并将该用户的last_login列设置为最近日期,以便下次用户登录时不会返回旧通知。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37652042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档