相关疑难解决方法(0)

Activity OnDestroy从未调用过?

我在ListActivity中使用以下代码

// a separate class in project
public class MyActivity extends ListActivity {
    // some common functions here..
}

public class SelectLocation extends MyListActivity {

    public void onCreate(Bundle savedInstance) {
        // here.....
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (adap != null) adap = null;
        if (list != null) list = null;
        System.gc();
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都指导我为什么onDestroy在我的代码中没有调用方法?

android ondestroy

27
推荐指数
3
解决办法
7万
查看次数

Firebase Android:使用许多侦听器缓慢"加入",似乎与文档相矛盾

实施一个Android +火力地堡的应用程序,其具有多对多的关系:用户< - >窗口小部件(窗口小部件可被共享的多个用户).

注意事项:

  1. 列出用户拥有的所有小部件.
  2. 用户只能看到与他/她共享的小部件.
  3. 能够看到共享给定Widget的所有用户.
  4. 单个Widget可以由具有相同权限的多个用户拥有/管理(修改Widget并更改共享对象).与Google云端硬盘与特定用户共享的方式类似.

实现提取(join-style)的方法之一是遵循以下建议:https://www.firebase.com/docs/android/guide/structuring-data.html(" Joining Flattened Data"):

// fetch a list of Mary's groups
ref.child("users/mchen/groups").addChildEventListener(new ChildEventListener() {
  @Override
  public void onChildAdded(DataSnapshot snapshot, String previousChildKey) {
    // for each group, fetch the name and print it
    String groupKey = snapshot.getKey();
    ref.child("groups/" + groupKey + "/name").addListenerForSingleValueEvent(new ValueEventListener() {
      @Override
      public void onDataChange(DataSnapshot snapshot) {
        System.out.println("Mary is a member of this group: " + snapshot.getValue());
      }
      @Override
      public void onCancelled(FirebaseError firebaseError) { …
Run Code Online (Sandbox Code Playgroud)

android join database-performance firebase firebase-realtime-database

7
推荐指数
1
解决办法
889
查看次数

ondestroy不总是被称为?

我已经在onDestroy我的活动中添加了一些缓存清理代码,但大部分时间代码都没有执行,除非我通过显式完成活动finish().

编辑:只读或onDestroyfinish()在系统资源不足时调用.那么我需要在哪里放置缓存清理代码?如果我将其放入onPause()并且用户返回应用程序,则清除缓存.我实际上是将重要的临时文件存储在不应删除的缓存中onPause.

android ondestroy

6
推荐指数
1
解决办法
9062
查看次数

如何在较新版本的 Android 3.1 及更高版本中实现 Firebase Recycler Adapter?

基本上,我想要做的是使用 aFirebaseRecyclerAdapterRecyclerView用我自定义设计的CardView. 较新版本的代码已更改,因此,我尝试实现它但没有奏效。这是我一年前用来编写的代码,它运行良好并填充了我的RecyclerView

FirebaseRecyclerAdapter<DataClass,DataViewHolder> FBRA= new FirebaseRecyclerAdapter<DataClass, DataViewHolder>(
            DataClass,
            R.layout.myCardView,
            DataViewHolder.class,
            databaseReference
    ) {
        @Override
        protected void populateViewHolder(DataViewHolder viewHolder, DataClass model, int position) {
            viewHolder.setTitle(model.gettitle());
            viewHolder.setDate(model.getDate());
        }
   }; 
  myRecyclerView.setAdapter(FBRA);
Run Code Online (Sandbox Code Playgroud)

现在我们必须使用这样的东西,但问题是这段代码没有填充我的recyclerView(我需要在这里做哪些更改才能recyclerView用我的 cardView填充我的?)

@Override
protected void onStart() {
    super.onStart();

    Query query = FirebaseDatabase.getInstance()
            .getReference()
            .child("Official_Services");

    FirebaseRecyclerOptions<ServiceClass> options = new FirebaseRecyclerOptions.Builder<ServiceClass>()
            .setQuery(query, ServiceClass.class)
            .build();

    FirebaseRecyclerAdapter<ServiceClass, ServiceViewHolder> FBRA = new FirebaseRecyclerAdapter<ServiceClass, ServiceViewHolder>(options) {

        @NonNull
        @Override
        public ServiceViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) …
Run Code Online (Sandbox Code Playgroud)

java android firebase firebase-realtime-database firebaseui

5
推荐指数
1
解决办法
2956
查看次数

Firebase 连接检查 Android 中的在线离线状态

如果用户同时关闭 wi-fi、3g、4g 等并反向(没有互联网连接)。Firebase 数据库名称子连接:(true/false) 因此,当互联网连接、wi-fi、3g、4g 等关闭或丢失时,用户处于离线状态,因此无法找到他。

记住两个场景:之前和之后。如果用户在其他用户搜索他之前离线,那么他不会显示在列表结果中,如果用户在其他用户搜索他之后离线,那么它会在用户上显示 NO MORE AVAILABLE 图标

请有人帮助我解决这个问题。

java android firebase firebase-authentication firebase-realtime-database

2
推荐指数
1
解决办法
1万
查看次数

Android Worker中的Firebase事件监听器

我正在尝试从Android WorkManager实施一个带有Firebase数据库引用事件监听器的Worker。如果应用程序位于前景/背景中,则效果很好。但是,一旦我关闭了应用程序并且工作程序运行,事件监听器就不会触发,据我所知,我在日志中没有收到与此相关的任何错误消息。

这是一个示例代码:

class FirebaseWorker(context: Context, params: WorkerParameters) : Worker(context, params) {
override fun doWork(): Result {
    val firebaseDatabaseRef = FirebaseDatabase.getInstance().reference
    firebaseDatabaseRef.addListenerForSingleValueEvent(object : ValueEventListener {
        override fun onDataChange(dataSnapshot: DataSnapshot) {
            // Handle DataSnapshot
        }

        override fun onCancelled(databaseError: DatabaseError) {
            // Handle DatabaseError
        }
    })

    return Result.SUCCESS
  }
}
Run Code Online (Sandbox Code Playgroud)

请让我知道在关闭应用程序后是否可以做任何事情来在后台获取和处理Firebase实时数据库数据。

java android firebase firebase-realtime-database android-workmanager

2
推荐指数
2
解决办法
518
查看次数