android studio 中的 IF 语句 count++ 使用 java firebase
IF statement count++ in android studio using java firebase
我如何在 java android fire-base 上放置一个关于这个的函数。我正在创建一个聊天应用程序,我有一个现有的 fire-base 结构,比如 this.let 说我发送一条消息“Hello”。
Chat:
Author:"name"
Chat:"Hello"
我想添加一个推送功能,计算每个用户的消息数量。因此它会是这样的。假设我发送一条消息说 hi? 并且 马上回来
Chat:
Author:"name"
Chat:"hi?"
numMessages: 1
Chat:
Author:"name"
Chat:"Be right back"
numMessages: 2
我觉得是if语句count++?但我尝试了关于 this.ugh 的一切。
Java 和Android 各位高手希望大佬们多多指教。
全局整型变量:int counter = 0;
在您的 onClick 中添加:counter++;
随时将计数器设置为 0,否则它将不断计数 - 并且仅在重新创建 activity 时才设置为 0。
如果你想将它发送到 firebase,你需要在那里添加计数器,然后简单地将它与你的消息一起发送,用一个名为 "counter" 的 int 更新你的 Message.class(类似于字符串 "author" 和 "message",发送它将被发送并显示在您的聊天中。
这是否回答了您的问题?
更新:
首先,进入 Message.class
并添加:
int counter;
public int getCounter(){
return counter;
}
public void setCounter(int counter){
this.counter = counter;
}
如果您想在视图中显示计数器,只需在 fragment_message.xml
中添加另一个 TextView,或者您可以在消息中以编程方式添加它,在 MessageAdapter.java
中添加 populateView:
//if you added an extra TextView in your fragment_message.xml
TextView counter = (TextView) view.findViewById(R.id.yourcounterid);
counter.setText(message.getCounter());
//if you want to add the number in your messageView:
messageView.setText(message.getMessage() + " " + message.getCounter());
所以对你的 MainActivity.java
:
public class MainActivity extends AppCompatActivity{
private EditText editText;
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counter = 0;
Firebase.setAndroidContext(this);
final Firebase firebase = new Firebase("https://samp-is.firebaseio.com/");
editText = (EditText) findViewById(R.id.editText);
listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(new MessageAdapter(this, Message.class, R.layout.fragment_message, firebase.child("chat")));
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
counter++;
Message message = new Message();
message.setMessage(editText.getText().toString());
editText.setText("");
message.setAuthor("Name");
message.setCounter(counter);
firebase.child("chat").push().setValue(message);
}
});
}
}
如果我没记错的话,Firebase 应该在其数据库中添加一个 Child "counter" 并使用您的计数器值更新它。
有用吗?
我如何在 java android fire-base 上放置一个关于这个的函数。我正在创建一个聊天应用程序,我有一个现有的 fire-base 结构,比如 this.let 说我发送一条消息“Hello”。
Chat:
Author:"name"
Chat:"Hello"
我想添加一个推送功能,计算每个用户的消息数量。因此它会是这样的。假设我发送一条消息说 hi? 并且 马上回来
Chat:
Author:"name"
Chat:"hi?"
numMessages: 1
Chat:
Author:"name"
Chat:"Be right back"
numMessages: 2
我觉得是if语句count++?但我尝试了关于 this.ugh 的一切。 Java 和Android 各位高手希望大佬们多多指教。
全局整型变量:int counter = 0;
在您的 onClick 中添加:counter++;
随时将计数器设置为 0,否则它将不断计数 - 并且仅在重新创建 activity 时才设置为 0。
如果你想将它发送到 firebase,你需要在那里添加计数器,然后简单地将它与你的消息一起发送,用一个名为 "counter" 的 int 更新你的 Message.class(类似于字符串 "author" 和 "message",发送它将被发送并显示在您的聊天中。
这是否回答了您的问题?
更新:
首先,进入 Message.class
并添加:
int counter;
public int getCounter(){
return counter;
}
public void setCounter(int counter){
this.counter = counter;
}
如果您想在视图中显示计数器,只需在 fragment_message.xml
中添加另一个 TextView,或者您可以在消息中以编程方式添加它,在 MessageAdapter.java
中添加 populateView:
//if you added an extra TextView in your fragment_message.xml
TextView counter = (TextView) view.findViewById(R.id.yourcounterid);
counter.setText(message.getCounter());
//if you want to add the number in your messageView:
messageView.setText(message.getMessage() + " " + message.getCounter());
所以对你的 MainActivity.java
:
public class MainActivity extends AppCompatActivity{
private EditText editText;
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counter = 0;
Firebase.setAndroidContext(this);
final Firebase firebase = new Firebase("https://samp-is.firebaseio.com/");
editText = (EditText) findViewById(R.id.editText);
listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(new MessageAdapter(this, Message.class, R.layout.fragment_message, firebase.child("chat")));
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
counter++;
Message message = new Message();
message.setMessage(editText.getText().toString());
editText.setText("");
message.setAuthor("Name");
message.setCounter(counter);
firebase.child("chat").push().setValue(message);
}
});
}
}
如果我没记错的话,Firebase 应该在其数据库中添加一个 Child "counter" 并使用您的计数器值更新它。 有用吗?