Java 从Sqlite实时向recyclerView添加数据?
我制作了一个应用程序,它正在从TCP客户端接收一些数据,并将数据存储在SQlite DB中,实际上,我已经制作了一个Java 从Sqlite实时向recyclerView添加数据?,java,android,sqlite,tcp,android-recyclerview,Java,Android,Sqlite,Tcp,Android Recyclerview,我制作了一个应用程序,它正在从TCP客户端接收一些数据,并将数据存储在SQlite DB中,实际上,我已经制作了一个recyclerView来可视化所有数据,但现在我的问题是,我要花两周的时间来实时刷新recyclerView,我的意思是,如果一个TCP客户端将向我的TCP服务器发送一个新包,并且如果我正在使用recyclerView进行活动,则必须动态添加数据。 我还将接受关于如何改进我的应用程序的任何类型的提示和建议。 实际上,这是我在安卓系统中创建的第一个应用程序 您可以找到我的服务器(T
recyclerView
来可视化所有数据,但现在我的问题是,我要花两周的时间来实时刷新recyclerView
,我的意思是,如果一个TCP客户端将向我的TCP服务器发送一个新包,并且如果我正在使用recyclerView
进行活动,则必须动态添加数据。我还将接受关于如何改进我的应用程序的任何类型的提示和建议。 实际上,这是我在安卓系统中创建的第一个应用程序 您可以找到我的
服务器
(TCPServer)、回收服务适配器
、适配器
(构造函数)、allert.java
(我调用回收服务适配器
的类)
希望有人能帮助我,我将非常感激。尝试发送广播方法。以下是步骤:
private class ExampleBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//do stuffs here, e.g. getting extras from intent
}
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("com.example.MainActivity");
exampleBroadcastReceiver = new ExampleBroadcastReceiver();
LocalBroadcastManager.getInstance(this).registerReceiver(exampleBroadcastReceiver, filter);
}
public class MainActivity extends AppCompatActivity {
private ExampleBroadcastReceiver exampleBroadcastReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
//stuffs
}
}
private class ExampleBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//do stuffs here, e.g. getting extras from intent
}
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("com.example.MainActivity");
exampleBroadcastReceiver = new ExampleBroadcastReceiver();
LocalBroadcastManager.getInstance(this).registerReceiver(exampleBroadcastReceiver, filter);
}
@Override
protected void onPause() {
super.onPause();
try {
LocalBroadcastManager.getInstance(this).unregisterReceiver(exampleBroadcastReceiver);
} catch (IllegalArgumentException e) {
if (!e.getMessage().contains("Receiver not registered")) {
// unexpected, re-throw
throw e;
}
private class ExampleBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//do stuffs here, e.g. getting extras from intent
}
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("com.example.MainActivity");
exampleBroadcastReceiver = new ExampleBroadcastReceiver();
LocalBroadcastManager.getInstance(this).registerReceiver(exampleBroadcastReceiver, filter);
}
已编辑
我使用LocalBroadcastManager的实例注册了接收器。什么是
updateReceiver=newupdateReceiver()
?在Server.java中,为了发送带有附加功能的广播,我只需通过intent传递数据?@i.Mytyuk抱歉,UpdateReceiver是我在项目中使用的一个类,我在这里复制了它,但忘了更改它。是的,请使用附加功能放置您想要显示的数据。还有一点我忘了,最好使用Lo注册接收器calBroadcastManager
如果接收者应该只从您自己的应用程序接收意图。我已经编辑了我的答案。