当前位置: 首页 > 知识库问答 >
问题:

Firebase getter方法和命名约定

慕铭
2023-03-14

我是第一次尝试我的手在Firebase,我遇到了一个问题。只有在getter方法符合变量名或者成员变量是公共的情况下,才能从Firebase存储/数据库中获取数据。但是我对成员变量的命名约定是mvariableName,并且我在getter方法名称中没有使用“m”。现在我有多个问题:

公开模型成员变量是可行的选择还是错误的做法?这里最好的命名方法是什么?我应该将getter方法命名为getMname,还是应该将“m”排除在成员变量名之外?然后我应该为整个项目更改它还是只为这个类更改它?我只是想知道这里的最佳实践是什么。

这是读取条目的类:

public class ImagesActivity extends AppCompatActivity {

private RecyclerView mRecyclerView;
private ImageAdapter mAdapter;

private FirebaseStorage mFirebaseStorage;
private DatabaseReference mDatabase;
private List<Upload> mUploads;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_show_images);

    mRecyclerView = findViewById(R.id.recycler_view);
    mRecyclerView.setHasFixedSize(true);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this));

    mUploads = new ArrayList<>();

    mFirebaseStorage = FirebaseStorage.getInstance();
    mDatabase = FirebaseDatabase.getInstance().getReference(Constants.DATABASE_PATH_UPLOADS);

    mDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                Upload upload = postSnapshot.getValue(Upload.class);
                Log.i("UPLOAD", "Upload : " + upload.getName());
                mUploads.add(upload);
            }

            mAdapter = new ImageAdapter(getApplicationContext(), mUploads);

            mRecyclerView.setAdapter(mAdapter);

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
}
}

这些是规则:

数据库:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

存储:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if true;
    }
  }
}

和upload.class(只有在字段为public或getter方法名符合M约定时才起作用,这很难看):

public class Upload {

    public String mName;
    public String mImageUrl;

    public Upload() {
    }

    public Upload(String name, String imageUrl) {
        if (name.trim().equals("")) {
            name = "No Name";
        }

        mName = name;
        mImageUrl = imageUrl;
    }


    public String getName() {
        return mName;
    }

    public String getImageUrl() {
        return mImageUrl;
    }
}

暂时还没有答案

 类似资料:
  • 问题内容: 是否有类似于JavaBeans的DAO方法的标准命名约定? 例如,我看到的一种命名约定是用来返回单个实体并返回实体列表。 如果没有,那您​​的团队正在使用什么,为什么? 问题答案: 一般我的名字在这样的方式的方法中,该名称暗示将由方法,如所施加的CRUD操作的类型,或。 可以应用于操作,例如。 可以应用于操作,例如。 可以应用于执行操作的方法。 可以应用于操作,例如。虽然我不太确定物理

  • 问题内容: 如果我的Java类中有一个属性’gId’,该accessor方法应命名为什么? 这就是我的假设。 如果有一个属性,我认为应该是,这种外观很难看(尽管这并不是指女孩的另一种拼写)。 如果该属性只是方法名称,那么我不会首先将该属性命名为URL,这会使访问器再次变得丑陋- 我记得在Javabean Specification PDF的某处读到了有关属性的大写以及涉及首字母缩略词的案例,但现在

  • 为了在跨API开发中向开发者提供一致的开发体验,所有的命名应该保证: 简单 直观 一致 这适用于接口、资源、集合、方法以及消息的命名。 因为很多开发者并非以英语作为母语,所以命名约定的目标之一是确保大多数开发者可以更容易理解 API。对于方法和资源,我们鼓励使用简单、直观和一致的单词来命名。 API 中的命名应该使用正确的美式英语。例如,使用美式英语的 license 而非英式英语的 licenc

  • 在本节,我们不会讨论适用于大规模和可维护的最佳 CSS 命名方案,因为这不仅仅超过了个人的能力范围,也不是一个Sass样式指南可以解决的问题。我个人推荐遵从 CSS Guidelines 的建议。 良好的命名对保持整体代码的一致性和可读性非常重要,在 Sass 中可以命名的地方如下: 变量; 函数; 混合宏。 由于 Sass 占位符遵循和类名相同的命名模式,因此被视为常规的 CSS 选择器,也就在

  • 函数名 小技巧 使用小写字母,并用下划线分隔单词。使用双冒号 :: 分隔库。函数名之后必须有圆括号。关键词 function 是可选的,但必须在一个项目中保持一致。 如果你正在写单个函数,请用小写字母来命名,并用下划线分隔单词。如果你正在写一个包,使用双冒号 :: 来分隔包名。大括号必须和函数名位于同一行(就像在Google的其他语言一样),并且函数名和圆括号之间没有空格。 # Single fu

  • 问题内容: 我的完整变量名称是“唯一代码”,但是我希望此变量是“ ucode” -ish。 那么考虑Java命名约定是正确的吗? 编码 uCode UCode 问题答案: 请参阅编码约定。对于变量,建议使用驼峰式大小写。回覆。命名,我本以为 将是最合乎逻辑的选择(我知道那不在您的选择列表中)。任何变体在我看来都是 unicode 的缩写,我认为这是一种误导。以上不是一个太长的名称(例如,它不是Ab