I'm searching for an API for bbPress.
I've searched here on SO but the posts I'm seeing are quite old.
So is there an api for bbPress. If yes, please how do I access it?
If no, is there anyway I can implement user registration and login via an Android app?
Also, check this repository: https://github.com/buddypress/BP-REST
In general, BuddyPress REST API is in development. Current focus will be on members management and their profile fields.
You can also check https://bpdevel.wordpress.com site, that's a development blog, where Boone is taking care of all the REST things (see latest posts).
User registration and log in can be implemented independently from BuddyPress, using default WordPress endpoints, that were shipped with the latest WordPress 4.7.
All BuddyPress offers for API Documentation is the Codex: https://codex.buddypress.org/
If you want to know if there is a function that does x, then just look in the respective file and that should give you the information for the hooks you need, for example if it’s something to do with activity, then look at bp-activity.php I know this isn't perfect but it should give you what you are looking for. All the function names are very descriptive, so it shouldn’t take more than a few seconds to find a function that fits your needs.
Database classes can be found in these files:
bp-{component name}/bp-{component name}-classes-php
Template functions can be found here:
bp-{component name}/bp-{component name}-templatetags-php
Once you realize how files and functions within files are organized it should be pretty easy to find what you are looking for exactly. Hope this helps!
Alternatively, you could do something like webview around the login/registration page. Not ideal I know but is an option if you don't want to go through the hassle.
There is a bbPress API, which leverages WP JSON API v1.0:
https://github.com/thenbrent/BB-API
But you should consider upgrading it to v2.0 of an API, as it's much better.
Related
I'm developing my first android app (a social media kind-of App) and after some research found that a graph database (specifically Neo4j) could be the adecuate solution for data storage. I've been also been in touch with graph theory and graph algorithms lately and decided to give it a shot.
I've grown an interest on GDB due to how intuitive and easy is to understand and represent relationships between entities this kind of DB. I've also liked Cypher Query Language (Neo4j Query Language) intuitiveness for retrieving information from graphs. Thats the reason I would like to connect my app with a Neo4j database.
What I want to do is remotely storing my users database and retrieve user information for login. After some research I've found that Neo4j has different language's drivers including one for Java. And since Java is Android official language I would like to know if Neo4j java API will work on my Android project. Reading through Neo4j API documentation though, there's a statement that says that it has been deprecated and that I should use cypher and procedures instead, but I've failed on finding documentation about this. What would be the way to connect my app with a neo4j GDB using Cypher and procedures?.Where can I find some tutorials, documentation, examples to achieve
Please keep in mind that I'm still a beginner in Android development and GDB. Any help will be appreciated.
Forget REST. Look for using graphql (pros: only data you need, less network calls). There must be a lib for Android to consume gql, certainly from FB.
Look for the graphql plugin at https://github.com/neo4j-graphql/neo4j-graphql
However, be aware of security if you put your gdb on the web directly.
Will Lyon (Neo4j)'s article : https://www.oreilly.com/learning/building-a-simple-graphql-server-with-neo4j
Disclaimer. I'm asking this on someone else's behalf and given that I know as much about Android development as penguins about flight, it may be clumsy. In such case, let me know and I'll remove it or try to reformulate.
I've created a web service that's reachable at the URL on the following form.
http://server/Blopp.svc/Store/value1/value2
The back-end part I've got covered but I'm worried about the front-end development. I've got a colleague that's making the app and he's got the rudimentary GUI done. However, in order not to do a lot of convoluted coding, he's heard that there's a certain library for making such URL calls.
What's the name of it? Is there certain other aspects to take into consideration or is there an (almost) standard one that everybody uses?
Please not that the app's functionality is at the moment limited to providing the web service with data. All the logic and presentation is done on the website and not inside the app.
I've never built up an Android app, so I'm asking for understanding if this is a dumb formulation. I just want to help my co-worker and he seemed to struggle with the details.
Is there perhaps a smoother way to make the call to a web service if I substitute the patter of the URL to use query strings? Any other approach that makes it easier for an Android developer? I'm not familiar with the area but I want to make things easy for my team-mate.
There are quite a few different HTTP libraries available and it would really depend on your specific requirements which one you used (if any - you can roll your own HTTP requests using HttpURLConnection) Two of the more popular ones are:
Volley
http://developer.android.com/training/volley/index.html
Written by one of the guys on the Google Play team and part of the AOSP. Very flexible and easy to use however I would hesitate to recommend it as it relies on the now deprecated Apache Http classes in its public API.
Retrofit
http://square.github.io/retrofit/
From Square. Version 2 is currently in late stages of beta. It allows you to define your API as an interface. It has dependancies on their OkHttp library as well. Very fast and also has RxJava support baked in.
I am currently part of 5 person dev team but our members are in different countries. Until now all the dev projects I have worked on were in the university with local teams and we would just share the project over Google Drive and work on it that way. This has worked for us so far but now for different reasons I would like to try to things differently with this new project.
I have a 4 year old computer lying around which I would like to use as a server and to store the project centrally on this server with some sort of VCS solution as well. I want to use this computer as I would like to stay away from all the public cloud based solutions out there.
I would appreciate all suggestions on how I can use that computer and configure it in a way that would best suit our needs. Thanks
You should not be using systems like Google Drive or Dropbox to synchronise code files with your team mates. These systems do nothing to prevent teammates from overriding each-others code (if they happen to work on the same file), and provide very weak tracking methods.
There are many other systems out there which can be used for that. My favourite is Github. You can setup a private repository there, and share it with whoever you want. You can also make some of your repos public. I would recommend you do this where you can, since it allows people anywhere to use your code, and even offer improvements. In addition, if you consider yourself a professional programmer, a rich public Github account can make an impressive portfolio for potential employers or investors.
Using a system like Github allows you to create branches off your main code so multiple people can easily work on the same code files, and provides advanced tools to track what work was done on which files, when and by whom.
In addition, your repos in Github are hosted by Github, removing the need to rely on your own server which is generally a bad idea - what would happen if that specific machine would crash? All your work would be lost.
I would recommend reading up more on the matter:
Github Guide
Git-flows
There are also several clients applications which work with Github. My favourite client is Source Tree, but there are others out there too.
So I published my android app, I proguarded it, applied LVL and even changed some of the LVL code but offcourse, I found it cracked somewhere using a tool called Lucky Patcher. I am not going to ask how can I protect against 1 click tools like that, as I guess there is no single answer ( unless you have an idea and can point me toward).
I need to ask you to help figure out how my code was cracked. I understand that this tool takes APK file and removes licensing. Now given that, how can I take this APK file and reverse engineer it back to Java files to see how the tool cracked my code (so I fix it)
Please help me
Thanks
After Proguard, there's no way to decompile your code into humanly-readable Java.
While it makes the reverse engineering process more difficult, it's not impossible for a clever reverser to figure out the hidden algorithm.
As for tools,
Use android-apktool to decompile to smali and extract all the encoded xml resources.
Use dex2jar to translate Dalvik into jar
and finally jd-gui to see the resulting reversed java code
There's a lot of info here on how to go from a DEX file back to Java source. Also, have you looked at this blog post which addresses many of the ways to protect your source?
piracy is a big issue , and i don't think that any platform or OS can be fully protected from it .
however , google already made some tutorials regarding protection against it , for example:
http://www.google.com/events/io/2011/sessions/evading-pirates-and-stopping-vampires-using-license-verification-library-in-app-billing-and-app-engine.html
also:
http://android-developers.blogspot.co.il/2010/09/securing-android-lvl-applications.html
i think that you can also put some sophisticated obstacles using C instead of java.
also , as google suggests, consider using a different approach : make the core features free , and make the rest purchaseable via in-app billing . you can also add ads and a feature to remove them by in-app billing as well .
I was thinking about this and it seems like if you really wanted to secure your application from hackers there is really only 1 way to do it. You can implement all kinds of fancy methods of insuring your application is licensed and paid for as described in the google article but all it takes is a good hacker to decompile your application and find where the code is and then comment it out or change a function to always return true.
Instead, implement some portion of your application that is required for use in jni/ndk, and check for validation in that code. It doesn't have to be extremely complicated code but you can't just put something like a function (eg. checkValidity) as a user could easily comment the java call that calls into the ndk. Instead you should make some call to your ndk to actually do something that is non-trivial for your application to run -- something the user can't just comment out or switch out with a defined function that does the same thing. From within the ndk code do the verification of your application's integrity/licensing and if it fails kill the application or whatever you need to do.
In order to bypass this the hacker would need to re-implement the ndk code or reverse engineer it.. Which should be much more complicated and not worth while.
This obviously isn't a simple solution and still won't guarantee your application never gets hacked, but it should be much harder to break than the other methods..
I personally think that Obfuscation {Proguard, Dexguard} and native {.so} are pretty effective way to go if used properly.
It definitely deters less experienced 'players' and definitely complicates the life of even experienced 'players'
Don't simply copy/paste the Google android example codes....
i am new on this issue so please let me down easy :)
I am trying to develop a android application and i am trying to work with Google Tasks Api.
When i created the project (in eclipse) i chose the Google Api, but im not sure if that means i have access to other libraries like Tasks or only android related classes. Just in case i downloaded the Tasks Api jar file ad import it into my project.
Now my issue is how to i make a http call to get back some json/data from this api, or any other google api, i believe they should be similar.
i believe the steps i need to take is:
1. import the Google Tasks Api into a java class
2. grab permissions from user to access the api
3. make a http request and get the data back
4. style the data
So, with these in mind i need a small crash course to at least point me in the right direction, because at the end of the day i need to know what i don't know to get more informed :)
Thanks.
This looks like a good tutorial - http://code.google.com/apis/tasks/articles/oauth-and-tasks-on-android.html
Here is some more example code - http://code.google.com/p/google-api-java-client/source/browse/tasks-android-sample/src/main/java/com/google/api/services/samples/tasks/android/TasksSample.java?repo=samples