Where I work they want to make an app to display meetings scheduled on exchange on tablets outside of the meeting rooms. I have been tasked with making the app, and with no experience developing for android, I feel a bit lost. So far, I have tried two different Java API libraries for Exchange Web Services, and the Microsoft EWS API for C#, and the compiled apk files making calls to EWS all crash on the tablets they want to use (Running android 4.0 and 4.4). I was wondering if there are any ways to pull meetings/make meetings on EWS without using an external library, or if anyone had a suggestion for an android specific API they know to work on android.
These are the ones that I have tried:
Java EWS (with the android wrappers people have made)
JWebServices
EWS Managed API
EWS is just a SOAP web service so you can use any http client or other SOAP library to communicate, the hard part is when you don't use one of the libraries your talking about you need to create and parse all the SOAP request and responses yourself which is not that hard its just time consuming to build all the necessary code. The only other part is Authentication but if your using Basic Auth adding the Header is easy, NTLM is harder but again it just a header. If you don't have to use Java and you want to use C# xamarin and https://www.nuget.org/packages/Microsoft.Net.Http/ will work.
What might make it easier is forget about trying to run the EWS code on Android create a Hybrid App where your EWS code runs on a WebServer and just write a simple Android App that communicates with that WebSerivce, then the only thing running locally then is the Web code which shouldn't crash and it makes maintaining and updating your app really simple and you then have a more free choice as to what you can use to write the Web backend.
Related
Well, I've tried to do some researches before creating a question but only a little has been found.
Basically, I have got a Spring-based web application. Apparently, you can navigate through web application using HTTP requests and URLs. If you want to edit a user you do a GET request /users/edit/{id} and a new page appears. Then you make some changes to the user and do a POST request /users/edit/{id} and let's say the main page appears.
So, now I need to create a desktop application which can do the same things.
Do I need to rewrite the whole app to port it on the desktop? Is it possible somehow to do sort of HTTP requests from the desktop app to the server, then get a response and process it? Or perhaps there is a proper way to do it?
I feel like it's a big topic but I only need you to point me in the right direction as I'm lacking experience in creating both desktop and web applications together (I'd say, I have never ported app from web to desktop and vice verse).
Earlier I created a few apps using JavaFX and I want to use it again as my GUI platform for the desktop app.
You can go for a solution like, Electron.
It's a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It uses Chromium and Node.js. You can develop your desktop GUI applications using front and back end components originally developed for your web application.
I'm just pointing you a way. You can look in to this solution and it's also open-source.
If you were about to develop the frontend from scratch I'd recommend you to use something like Ionic Framework where in the latest beta 4 allows you to write once run everywhere (web, PWA, desktop with Electron, and build native build for iOS and Android).
Basically Ionic is an Angular 7 library/superset that allows you to create mobile apps based on a webview. This webview can be embedded and run on any device in a native way.
Even though the same codebase can be run on multiple devices you can customise the look and feel on each platform and access through Cordova, Electron or Capacitor the native device capabilities and hardware.
If you don't want to rewrite the web client, you can use any desktop framework with the preferred language you want. Any modern language/framework will allow you to make HTTP requests against your backend and get the data through your API.
Honestly, nowadays I'd day that JavaFX is not the best option out there and I'd recommend you to go through the web-based approach.
Good luck!
I am new in android development and i have been developing android apps using cloud firebase but how can i make an app for a website which is not using firebase. I know i need to connect to its database but what if the website is hosted on wordpress.com which does not provide phpmyadmin. So is there any other way? I know there is something called rest api. Can we use rest api in websites that are developed in some framework like codeignitor? Please explain what rest api is and is there any other way to get the data for our app? Please let me know thank you.
This is going to be tough. Usually, an application communicate with a web service. A web service may be a Rest API, Firebase or any hosted service that can provide data (I don't know all of the subtilities of it).
Explaining to you how all of this works wouldn't work here as it will be objective as every application have different needs and every developper have preferences on how he want his application to communicate with the world.
One thing you should avoid at all costs would be to access an online database directly from your application as it is a huge security flaw.
Here are some links that will help you understand better all of this.
REST API concepts and examples
Make an HTTP request with Android
Web services explained
I am well aware that stackoverflow answer shouldn't be mainly links but I still thinks that they will be relevant to your problem. Be aware that this answer doesn't even cover a little part of communication between an application an a webservice. You'll have to learn that by yourself, using courses and tutorials.
How can I make an online server to access API's and handle requests? Then how can I have my android app access this online server to make requests?
I have an android app that I am building for a school project. This app will need to use multiple APIs to gather information to display to the user. However I don't want to allow people to decompile to source code and take my API keys. My plan is to build an online application that will do all of this work on the server side. This way the user only submits a query and the server sends information in response to their request. This will speed things up for the user and keep the keys from being accessed by other individuals.
Steps I think I need to take.
Set up server to access the API's
Make app access online server through HTTP requests
3....
4...
I have a very general concept in my head, but I'm not sure where to begin. If I'm wrong on any part of this question please correct me.
I do plan on moving this to the app store in the future.
edit: Do you know of tutorials that show the building of the API and then loading it to Amazon AWS or another server?
There are many options when building restful services for api consumption. You could start with php, which is the easiest to start with. Here is a nice tutorial that takes you through the initial stage all the way to the end of building login system for android using mysql and php as the server language. It contains the barebone details of setting up the infrastructure and logic. I think from there you manipulate and go further.
https://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/
check out java rest easy, it is a nice tool to use to build web API's. You can host it for cheap at red shift or amazon using their pay what you use billing.
The cheapest way for you to host your REST API is to use Amazon's API Gateway. You pay for what you use and pay nothing if it is not being used. API Gateway plays very nicely with Amazon's Lambda service that allows you to run discrete code units - again, you only pay for what you use. Lambda itself plays nicely with Amazon's pay-as-you go NoSQL datastores (SimpleDB and DynamoDB).
Is there a java api that allows you to use Netstream and netconnection functions from adobe? I'm working on my android app and I am trying to add a video chat feature on the app. Since the rest of the app is already coded in java it doesn't seem like I can attach a swf file to one of the activities. So I'm looking for alternative solutions to to connect with a web based flash video chat website from the app.
There is the JUV RTMP tool which is Java API to access RTMP servers. It also support audio/video streaming but you will need to provide the codec code.
It is a paid product, but at least works fine. I could never find a good open source solution for this.
I am on the lookout for doing analytics for a desktop application written in Java. I came across two services viz: TrackerBird and DesktopMetrics , but for a small time developer like me , those services are not affordable.
Google analytics has android support. So I was wondering if I could use the same in the desktop application which is on Java.I am looking for a headsup if anyone has implemented the same and tips on how to proceed on using GA on desktop.
the SO link here says no , but I think it can be done.
Here is the link of google code on using GA in android , says it should bind to an application context. I was wondering if I could hack it to work in a desktop app.
There is no Google supported library for GA on desktop Java. The Google Analytics Android library has a lot of dependencies on Android infrastructure (for extracting basic user information, maintaining persistent state, and tracking application lifetime). But, since GA just boils down to HTTP image requests, it should be possible for a desktop Java app to mimic those. I have not used it, but this library looks like what you want: http://code.google.com/p/jgoogleanalytics/
For more details and other useful links see Manually sending data to Google Analytics
Have you thought about using Mixpanel? It gives you 25,000 to 175,000 free data points a month and has a Java integration library:
https://mixpanel.com/docs/integration-libraries/java