B4A Library Parse Library – Push Notifications and Cloud Storage

lagore

Active Member
Licensed User
All done as per #1 post, below is some of the unfiltered logs you can see a 'Fatal Exception' near the end in relation to "Lbolts/Task" and "bolts.tast" from the Parse change log this was added in v1.7.1 and a brand new Push API was added in v1.7.0. As you can see in the first couple of line are the App & client Keys.

Unfiltered Log
ParseApplication.onCreate xml Id = 2130903040
data null
data1 K2pwLFYtF6ihKuQKJ4FiH4XwVuLAXIjrVoLEoIMn
data2 SDu2TeuuuDGmnHTEf5SRbFYNsoYAq3ySsl2DjiGy
Rejecting re-init on previously-failed class java.lang.Class<com.parse.Parse$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.Parse$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseRequest$8>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseRequest$8>
TRAFFIC_STATS_POLL true Token 2781 num clients 13
packet count Tx=231977 Rx=228471
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseRequest$2>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseRequest$2>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseRequest$7>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseRequest$7>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$39>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$39>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$36>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$36>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$33>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$33>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$2>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$2>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$16>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$16>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$44>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$44>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$41>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$41>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$42>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$42>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$45>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$45>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$34>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$34>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$18>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$18>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$35>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$35>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$28>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$28>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$30>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$30>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$20>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$20>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$22>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$22>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$23>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$23>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$17>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$17>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$6>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$6>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$7>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$7>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$15>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$15>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$10>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseObject$10>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.GcmRegistrar$2>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.GcmRegistrar$2>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.GcmRegistrar$1>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.GcmRegistrar$1>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$1>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$1>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$33>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$33>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$10>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$5>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$5>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$10>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$8>
{
"version":"1.0",
"dsxDataUrl": "http://dsx.weather.com",
"dsxSecureUrl": "https://dsx-secure.weather.com",
"eventLogs":{
"enabled":false,
"tagFilter":".*",
"geocodeRequests":{
"enabled":false
},
"followMeTracking":{
"enabled":false
},
"warningLogs":{
"enabled":false
},
"errorLogs":{
"enabled":false
}
}
}
[NET] android_getaddrinfofornet+,hn 15(0x6473782e776561),sn(),hints(known),family 0,flags 4
[NET] android_getaddrinfofornet-, err=8
[NET] android_getaddrinfofornet+,hn 15(0x6473782e776561),sn(),hints(known),family 0,flags 1024
[NET] android_getaddrinfofornet-, pass to proxy
[NET] android_getaddrinfo_proxy+
[NET] android_getaddrinfo_proxy get netid:0
[NET] android_getaddrinfofornet+,hn 15(0x6473782e776561),sn(),hints(known),family 0,flags 1024
[NET] _dns_getaddrinfo+, netid:230, mark:917734
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$8>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$5>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$5>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$1>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$1>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$9>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$9>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$3>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$3>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$7>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$7>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$8>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$28>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$28>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseInstallation$8>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$32>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$32>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$37>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$37>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$14>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$14>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$13>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$13>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$20>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$20>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$25>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$25>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$27>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$27>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$34>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.OfflineStore$34>
FATAL EXCEPTION: main
Process: b4a.example.parse, PID: 32416
java.lang.NoClassDefFoundError: Failed resolution of: Lbolts/Task;
at com.parse.ParseInstallation.hasCurrentInstallationAsync(ParseInstallation.java:90)
at com.parse.GcmRegistrar.updateAsync(GcmRegistrar.java:96)
at com.parse.Parse.initialize(Parse.java:163)
at anywheresoftware.b4a.objects.ParseObjectWrapper$ParseApplication.onCreate(ParseObjectWrapper.java:1164)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4947)
at android.app.ActivityThread.access$1500(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5696)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Caused by: java.lang.ClassNotFoundException: Didn't find class "bolts.Task" on path: DexPathList[[zip file "/data/app/b4a.example.parse-2/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
... 15 more
Suppressed: java.lang.ClassNotFoundException: bolts.Task
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 16 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseCommandCache$4>
Rejecting re-init on previously-failed class java.lang.Class<com.parse.ParseCommandCache$4>
App crashed! Process: b4a.example.parse
A snippet from the Parse change log
1.7.1 — October 15, 2014
  • Added a new set of APIs based on Bolts Tasks.
  • Fixed a bug with ParseQuery.whereEqualTo constraint.
  • Changed ParsePush.subscribeInBackground to not send an API request if the app is already subscribed to the channel.
  • Updated documentation.
  • Other small bug fixes.

v1.7.0 — September 30, 2014
  • Deadlock & local datastore fixes
  • Brand new Push API:
  • Introducing the ParsePushBroadcastReceiver, which makes customization dramatically easier. Subscribing to and handling pushes are now decoupled. To enable the new API, register the ParsePushBroadcastReceiver and replace your PushService calls with their replacement APIs in ParsePush.
  • Notification big views are automatically created if a notification's alert is too long to display in the small view.
  • The new "uri" push option will navigate to a URI with your application in the back stack.
  • Large icons are now available by subclassing ParsePushBroadcastReceiver and implementing getLargeIcon
  • PushService.subscribe is now deprecated. See ParsePush.subscribeInBackground which exposes completion and error information.
  • PushService.unsubscribe is now deprecated. See ParsePush.unsubscribeInBackground which exposes completion and error information.
  • PushService.setDefaultCallback is now deprecated. See ParsePushBroadcastReceiver.getNotification.
  • Push icons are now specified with the com.parse.push.notification_icon or ParsePushBroadcastReceiver.getSmallIconId.
I would be interested to hear if anybody has this working with Parse V1.7 or higher.
 

omidaghakhani1368

Well-Known Member
Licensed User
Hi.
When i start sample code,get error unfortunately stop parse app.
I run project java example in eclipse and get good result but in basic4android with your library even not execute app
Please help me
 

lagore

Active Member
Licensed User
As I said above I believe that the new API from v1.7 has broken the 'Parse' library
 

derez

Expert
Licensed User
Parse uses the notification of android, with the icon in the drawable directory of the specific application.
 

omidaghakhani1368

Well-Known Member
Licensed User
Hi again.
Can i track the open push in notification? (when user click on notification and read it,detect it in parse.com)
 
Top