在我的Android应用程序中,我有一个注释处理器,该处理器使用 Query qp = Firestore.instance
.collection('post')
//.orderBy('like', descending: true)
.orderBy('time', descending: true)
.where('city', isEqualTo: 'مكة')
//.where('like', isGreaterThan: 12)
.where('time', isGreaterThan: DateTime.now().subtract(Duration(days: 4)))
.limit(30);
QuerySnapshot shot = await qp.getDocuments();
var _ocument = shot.documents.last;
Query q = Firestore.instance
.collection('post')
.orderBy('like', descending: true)
//.orderBy('time', descending: true)
.where('city', isEqualTo: 'مكة')
//.reference()
//.startAfter([_ocument.data.length])
//.endAt([_ocument.data.length])
//.startAt([_ocument.data.length])
//.startAfterDocument(_ocument)
.startAt(['time', _ocument.data['time']])
//.where('like', isGreaterThan: 12)
//.where('time', isGreaterThan: DateTime.now().subtract(Duration(days: 4)))
.limit(30);
生成文件并将其放置在generate.schema包下。
文件生成正确。每当我像这样使用生成的文件
JavaPoet
我收到以下错误:
GeneratedFile.someGeneratedMethod();
但是如果我包含完全限定的类名而不是像这样导入
error: package generated.schema does not exist.
代码可以编译并运行,没有任何错误。
我不想每次使用generated.schema.GeneratedFile.someGeneratedMethod();
时都添加完整的软件包。我不确定自己做错了什么,因为我仍在学习使用注释处理器。
由其他库(包括Realm,DataBinding)生成的文件都按预期正常工作。
文件生成:
我使用JavaPoet运行以下代码。
GeneratedFile
if (roundEnvironment.processingOver()) {
for (TypeElement element : apiList) {
TypeSpec clazz = generateFile(element);
JavaFile.builder(NamespaceCreator.generateClassPackage(element), clazz)
.build()
.writeTo(filer);
}
}
返回NamespaceCreator.generateClassPackage(element)
的软件包名称,即class
。答案 0 :(得分:0)
在生成类时,我正在等待最后的处理过程。
封装的代码生成if (roundEnvironment.processingOver())
正因为如此,我收到了警告:
在上一轮创建的类型为“ generated.schema.GeneratedFile”的文件将不受注释处理。
在发布问题之前,我已经意识到了这一警告,但是,为了简化一次性生成所有文件的操作,我愿意忽略对生成文件的进一步注释处理。
尽管如此,从文件生成中删除最后一个回合/通过检查之后,我仍然可以正确(带有导入)访问生成的文件而没有任何错误;我仍然不了解在使用import
进行构建期间,全面生成文件如何影响访问文件。
为此,我将发布一个新的question。