I'm trying to make a online PDF library app. I need a PDF reader plugin. If anyone know any reader, then please help me.
Google is your friend in this situation.
There is a handy library for reading and displaying PDFs in a view
AndroidPdfViewer 1.x is available on AndroidPdfViewerV1 repo, where
can be developed independently. Version 1.x uses different engine for
drawing document on canvas, so if you don't like 2.x version, try 1.x.
Library for displaying PDF documents on Android, with animations,
gestures, zoom and double tap support. It is based on PdfiumAndroid
for decoding PDF files. Works on API 11 (Android 3.0) and higher.
Licensed under Apache License 2.0.
it is located here https://github.com/barteksc/AndroidPdfViewer
If you however want a solution that will be ideal across android, windows and iOS devices http://www.radaeepdf.com/ might be more up your street
RadaeePDF SDK helps you to build better mobile applications. Using our
featured PDF reader engine's API and its set of professional features
is now a quick and simple procedure.
RadaeePDF SDK extends your App's features with stunning PDF
capabilities on smartphones, tablets, notebooks, convertibles,
desktops.
Main RadaeePDF SDK' features: PDF rendering engine for Android iOS
Windows 10 operating systems, PDF annotation, PDF creation, PDF
multimedia support.
RadaeePDF SDK supports also Xamarin and Cordova development targeting
Android and iOS.
Related
Is Chrome Apps For Mobile only a collection of Apache Cordova plugins for each mobile platform or does it intend to also replace the native web-view with Chrome based web-view ?
This question and this slide on Google Docs seem to indicate that it is only a collection of plugins. This question says that on iOS it uses the native web-view.
What about on Android and any future platforms Google might support?
Yes, all current Chrome Apps for Mobile using the cca toolkit are cordova based and thus use the Native system WebView.
On iOS, this currently seems unlikely to change because of policy restrictions (but hey, who knows).
On Android, the cordova contributors would like to experiment with supporting the use of custom web renderer implementations. This is being discussed as a possible cordova-4.0 major version bump milestone feature, and would thus target fall/winter of 2014. This is really just a dream at this point, but its certainly a feature that is on everyones mind.
I should note, there are a many downsides to doing this, its not all gravy. Using a custom WebView means adding ~20meg to application download size, and means significantly more memory/video memory usage on device. Alternatively, we could ask users to download a separate "cordova-runtime" app from the store (like Adobe Air for Android, or like you have to download a Java Runtime for desktop), but users usually dislike that experience.
Also, with Android 4.4 KitKat now having a chrome-based WebView, which enabled remote debugging and implements many modern web capabilities, the usefulness of a custom WebView is shrinking.
Finally, there is already a project that does what you ask, but isn't cordova based, and is not used by the cca tool: Intel's Crosswalk Project. Just adding it for reference. Their wiki goes over a lot of tradeoffs with their approach.
I'm about to start developing a mobile app and I'm wondering whether flash can be packaged with apps in both iOS and Android? Are there any implications to be aware of (such as iOS version compatibility?)
One of the main selling points of using the Adobe AIR SDK in Flash is to allow 'packaging' of apps for multiple platforms, including iOS and Android. You'll have to publish separately, of course, to get .ipa files and .apks, but one code-base gets you to both mobile platforms. I've had no trouble with iOS compatibility between all versions from 4.3 to 7. Depending on what you're trying to do you may want to incorporate ANEs -- Adobe Native Extensions -- which require some programming in native codes (Objective C or Java) to get some types of native functionality. I tend to use outside help for that.
For our Android app, we would like to embed our own browser/rendering engine. The most likely candidate for this, is Webkit/Chromium. We are looking for something similar to WebView, essentially, but backed by a browser (version) that we control.
Background
Significant parts of our app consist of web page fragments embedded in the view (served by the app itself). We try to do this as transparently as possible (from a visual/user experience standpoint). So far, we have been using WebView for this and that works for the most part. Except when it doesn't.
Some phone vendors have unfortunately decided to tweak the standard Android browser here and there. In some cases, this breaks our app or makes the fact the we embed a web page more noticeable.
Our Idea
We'd like to have a component similar to WebView but where we control what version of Webkit/Chromium (or some other rendering engine) is being used. It wouldn't necessarily have to be the latest and greatest version. It is more important that we can get our app to work consistently across as many Android devices as possible.
So far
Our research so far has not turned up anything useful. We have found three dead attempts to port Webkit to NDK (the bare Webkit for Android port uses functionality not available in the NDK and thus not to app developers):
Webkit Android port by Company 100 (no updates for over two years)
mogo-browser (their last revision was to delete all source code)
NDK Webkit (officially abandoned by its author)
Looking on StackOverflow, we have also found a number of similar questions, most of which being solved by pointing to WebView (we already do that, and it's not good enough)
Webkit component for Android
Embed basic WebKit + V8 in my app
Embedding a newer version of WebKit with Android app
We are currently investigating whether Chromium for Android (or parts of it) can be turned into a library that our app could use. Has anyone else done this?
Update
After having a look at the chromeview project on GitHub (accepted answer), we decided that we'd rather wait for Google to release a Chrome-based WebView on future Android devices. The Chromium rendering engine turns out to be fairly large (~40MB), which doesn't leave much space for the actual app :(
pwnall/chromeview ยท GitHub
https://github.com/pwnall/chromeview
ChromeView works like Android's WebView, but is backed by the latest Chromium code.
You should all check out the Crosswalk project. Sponsored by Intel, and in active development. They pull the Chromium sources and promise to make all new Chromium features available in Crosswalk within 6 weeks.
Crosswalk is a web runtime for ambitious HTML5 applications. It provides all the features of a modern browser, combined with deep device integration and an API for adding native extensions. It is especially suited to mobile devices.
Crosswalk supports Android 4.0 and newer, on ARM and Intel architectures.
Within in one hour of finding this project, I had my Cordova/Phonegap app running on an Android phone with Crosswalk. I'm glad I don't have to adjust my Javascript code to respect the shortcomings of the (pre-4.4) android.webkit.WebView.
https://crosswalk-project.org
Without WebKit there is a GeckoView. Sure it adds over 20Mb of libs to the project.
Nowadays, GeckoView seems an alternative to consider
I tried to use lastest code version of Chromium to build a custom WebView and it's successful.
I will give my approach but not the source code here right now.
Eventually, the size of custom WebView library is about 30MB, quite big for some small app. But it's wonderful because can support perfectly from Android 4.0.
This below is my method:
fetch source code of chromium and build web_view_apk (AndroidWebView test shell) follow this instruction https://www.chromium.org/developers/how-tos/android-build-instructions
use apktool to decompile the apk file of Aw Shell above. https://ibotpeaches.github.io/Apktool/
create your project with res, lib folder as same as decompiled project.
Manifest file is located in /src/android_webview/test/src/org/chromium/shell
src folder: you find the classes in chromium project source code which are respective the files in smali folder of decompiled project.
I will update my code later, but you can try my guide now if don't want to wait.
I would consider Chrome custom tabs:
https://developer.chrome.com/multidevice/android/customtabs
Does Android support SVG (natively)?
I found old answers here or on the web, but I don't understand the current situation.
Please give a reference if possibile.
Does Android support SVG (natively)?
That depends on what you mean by "Android", "SVG", and "natively".
Android is a mobile operating system. It has multiple versions.
SVG is a standard. It has multiple versions.
"Natively" could mean anything from "I can decode SVG through some Java classes" to "the stock Android Web browser can render SVG".
I can tell you that the stock Android Web browser renders this Web page fine on Android 3.2 and Android 4.0, but fails on Android 2.3.
I can tell you that there is no SVG parser set of Java classes, and that ImageView and similar widgets have no ability to work with SVG directly. You may be able to use WebView to display some SVG, given that the stock browser seems to support it on newer Android versions, though it's conceivable that the SVG support is via some plugin that is not automatically available to WebView.
I cannot tell you what version of SVG is supported by the browser, as that does not appear to be documented. You would need to run some tests and see if it supports the particular SVG structures that you wish to use.
http://caniuse.com/#search=svg The android browser column shows the android version whose default browser will have SVG support. All versions 3.0 and above have basic SVG support.
You can see a comprehensive advanced feature breakdown on the same page.
How does adobe digital publishing suite produce such nice tablet interactions for android devices?
Do they produce a pdf and have the app read it or is it something different?
I was able to prototype an application for the iPad using a pdf reader library and it looks and works great!
What options are there for displaying a magazine in an android tablet?
On Android it's quite problematic "embedding" PDFs in applications.
You can't do it natively like you do on iOS, so your options are:
find a commercial PDF plugin and write your app based on it.
for example Foxit: http://www.foxitsoftware.com/products/sdk/embedded/android.php
but you have to request a quote and prices may be high.
find a free open source plugin and embed it, but afaik, all are based on GPL PDF libraries, so you may have licensing problems.
use an external reader (like Adobe Acrobat or other free/open source readers) and call them from your app using Android Intents.
one other solution is use something like Adobe Digitap Publishing suite:
http://www.adobe.com/solutions/digital-publishing.html
that works on iOS, Android and RIM playbook.
you can create a customized reader app too, but you need to buy their suite, learn to use it, and maybe buy services as well.