【发布时间】:2017-01-09 13:56:42
【问题描述】:
这是用于向火力基地添加新闻的java文件
public class newsadding extends AppCompatActivity {
FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference myRef = database.getReference("allNews");
EditText date, name;
Button btsave, btdelete, btshow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_newsadding);
date =(EditText) findViewById(R.id.id);
name =(EditText) findViewById(R.id.editName);
btsave = (Button) findViewById(R.id.btSave);
btdelete = (Button) findViewById(R.id.btDelete);
btshow = (Button) findViewById(R.id.btShow);
// save the record
btsave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String n = date.getText().toString();
String nom = name.getText().toString();
try {
myRef.child("allNews").push().setValue(n+" : "+nom);
Toast.makeText(newsadding.this, "Record saved", Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
Toast.makeText(newsadding.this, "Record not saved" + e.toString(), Toast.LENGTH_SHORT).show();
}
}
});
// delete a record
btdelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
String n = date.getText().toString();
String q = database.getReference().toString();
Toast.makeText(newsadding.this, "record deleted", Toast.LENGTH_SHORT).show();
}
catch (Exception ex) {
Toast.makeText(newsadding.this, ex.getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
// show all records
btshow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i1 = new Intent(newsadding.this, usernews.class);
startActivity(i1);
}
});
}
}
这是用于在列表视图中显示信息的文件
public class usernews extends AppCompatActivity {
FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference myRef = database.getReference("allNews").child("allNews");
TextView fullnews;
ProgressBar loading;
private ListView lsStudents;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_usernews);
loading = (ProgressBar) findViewById(R.id.loading);
lsStudents=(ListView) findViewById(R.id.list);
fullnews=(TextView) findViewById(R.id.fullnews);
fullnews.setVisibility(View.INVISIBLE);
Toast.makeText(usernews.this,
"يرجى التأكد من أنك متصل بالإنترنت إذالم تكن متصل بعد...", Toast.LENGTH_LONG).show();
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
final List<String> areas = new ArrayList<String>();
for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) {
// Get value from areaSnapShot not from dataSnapshot
String value1 = String.valueOf(areaSnapshot.getValue());
areas.add(value1);
if (lsStudents.equals(null)){
loading.setVisibility(View.VISIBLE);
}
if (!lsStudents.equals(null)){
loading.setVisibility(View.GONE);
}
}
String value2 = String.valueOf(dataSnapshot.getValue());
ArrayList<String> areas2 = new ArrayList<String>(areas);
Collections.reverse(areas2);
ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(usernews.this,android.R.layout.simple_expandable_list_item_1, areas);
lsStudents.setAdapter(areasAdapter);
lsStudents.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
fullnews.setVisibility(View.VISIBLE);
String newss = (lsStudents.getItemAtPosition(position).toString());
fullnews.setText(newss);
}
});
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Toast.makeText(usernews.this,
error + "!!!!!خطاء في الاتصال !!!!!!", Toast.LENGTH_LONG).show();
}
});
}
}
现在我知道您可以通过 fire base 页面上的通知栏从 fire base 发送信息,但我不想手动添加信息,因为我的应用程序中的这些页面用于新闻,我不能总是手动进行,因为我不是唯一添加这些新闻的人,所以我需要应用程序显示一个简单的栏,上面写着新新闻,我的应用程序名称和徽标在背景上带有消息声音。有人可以帮忙吗?
【问题讨论】:
-
当他/她发布新闻时,您可以直接从用户设备发送通知。
-
是的,我想过这样我使用添加新闻按钮的 OnButtonClick 消息发送但问题我不知道该怎么做。
标签: android android-studio push-notification