#java #android #google-app-engine
# #java #Android #google-app-engine
Вопрос:
Я пишу приложение для Android, которое использует серверную часть Google App Engine (SDK версии 1.9.3), и при попытке применить фильтр к данным, полученным из серверной части хранилища данных, я получаю ошибку «нет такого метода». Я также включил все необходимые файлы jar.
Ошибка:
FATAL EXCEPTION: main
Process: com.example.picit, PID: 30105
java.lang.NoSuchMethodError: com.google.appengine.api.datastore.Query.setFilter
at com.example.picit.Login$1.onClick(Login.java:111)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
код:
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Filter heightMaxFilter = new FilterPredicate("username",FilterOperator.EQUAL,un.getText().toString());
Query q = new Query("User").setFilter(heightMaxFilter);
PreparedQuery pq = datastore.prepare(q);
for (Entity result : pq.asIterable()) {
String firstName = (String) result.getProperty("firstName");
String lastName = (String) result.getProperty("lastName");
System.out.println(firstName " " lastName);
}
Ответ №1:
Думаю, вы хотите addFilter
:
setFilter
устарел.