Android

This topic contains 12 replies, has 6 voices, and was last updated by Avatar of silas silas 3 months, 3 weeks ago.

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #42166
    Avatar of toxic
    toxic
    Member

    Hello everyone,

    I’m realy happy with ajaxplorer, especially with the wide number of authentication and access plugins !

    But I recently bought an android device (Galaxy S2 with latest 2.3.4 firmware) and I find that the mobile ui is not quite so good as on iphone.

    I use ajaxplorer inside a frame, and first of all, inside the frame it doesnt’t work at all (I also got some javascript in my frame : iscroll4 to get a smotth scrolling list). It simply keeps loading endlessly and the browser is using 100% of the CPU untill I finally kill it.

    but outside the frame it loads, so I thought I’d make myself a costom-header plugin (even thought I don’t quite understand how to write plugins yet).

    But in fact, ajaxplorer don’t run well on android browser. Example : when moving a folder/file into a new location, choosing the new location don’t offer scrolling, so I can move it successfully to the few first directories in the list, but not further down !

    So I told myself, why not develop an android app…

    And that’s where I lack some documentation… I’ve been looking for an xml api.. Sems there is no doc about it…
    I’ve been looking at the ajax requests, and I see very interesting calls I could easily reproduce using a native java app.. Like get_action=ls and a direcroty…
    But there’s a secure token attached, I saw it doesn’t change over time (at lest in the same session). But I’m quite not sure how to get it yet…

    So I’ll be working on this project from now on : get an android native UI working for ajaxplorer.
    I’ll start by debugging how the ajax interface does it, but you might have some hints, or tricks for me, so don’t hesitate to share them ! (e.g. : is there only GET requests except for uploading a file ? )

    One thing I’m especially looking for is this : how to get a list of all “actions” supported by ajaxplorer and the most common plugins, with their parameters and so on.
    I’m looking for this because I know I don’t use all the power of ajaxplorer, so if I only code by debugging what I use, there will be some actions not supported by my “app”…

    Ah, yeah, one last thing : if you’re also interested in such an app, don’t hesitate to encourage me, and if you wish to take part in developping, I can release it on my public git under GPL license if you so desire.

    A last question : I only got one instance of ajaxplorer. So I won’t handle right away the possibility to change the server. Is this some function you might want ? I can add it later on. For instance, my app will be launchable though an intent on android, so I can pass data in the intent : the url of the server, so it’s realy easy to get it working, it just take a little bit of time, and that I don’t have much.

    So if the owner of this forum agrees, wou’re welcome to push feature-requests in this post to show your interest in android, and I’ll do what I can to get everyone happy.


    #54178
    Avatar of charles
    charles
    Keymaster

    @toxic
    see my email (if your adress is real?), maybe we could discuss directly as I won’t have time to rewrite the whole doc before i’m leaving :-). You can already have a look at the API DOC located in the client/doc/ folder of the distribution, the 3.0 pdf is not totally up-to-date but gives you a good idea, the main principles are not changed.
    Only the login negociation for opening the connexion is a bit of a mess (get the secure_token, get a seed for hashing password, log the user in, etc…). Tell me if you did not receive my mail; The basic was : work directly on the 3.4 Technology Preview, it will be a precious gain of time.
    charles


    Charles, Pydio author - doing my best to help !
    If you like the software or want to say thanks, pay by a tweet, mention #pydio or follow us

    #54235
    Avatar of toxic
    toxic
    Member

    Hi back.

    I started on this project, but I had immense troubles with my https and my basic_auth…
    So I released a POC that “works” on my server.
    http://git.emolinier.com/?p=androjaxplorer.git

    You can download it, as usual (use the “snapshot” link).

    All the app does is display a list of all repositories, and offer to browse them (but no download yet…).

    One important thing though : I’m using http_basic_auth, so I have no idea how the auth is realy working…(issuing a http request with correct user&pass gets me logged in already).

    One other thing I’d realy like someone else to look at it the “standard” authentication… I’m sorry to tell since I don’t need this, I’m gonna try and have a fully working app before I get to handle this…

    Oh, yeah, one last thing : for https (ssl), the idiotic HttpClient of android don’t use the common root trustCertificates, so I had to add mine (Comodo’s) in a keyStore in res/raw/mystore.bks
    This store will need to be extended to allow other root certificates, and maybe add an option to allow all self-signed certificates… But that’s realy not developer-friendly in android, so I’ll leave it for now, and I hope someone is going to be interested in my app and request this….
    Just for the record, I used this technique to build this keyStore :
    self-signed-method : http://blog.crazybob.org/2010/02/android-trusting-ssl-certificates.html
    legitimately-signed-method : http://blog.donnfelker.com/2011/06/13/trusting-android-certificates-part-duex/

    Again, this app is not perfect (it doesn’t download files, nor display it’s properties, it does not login on “standard” ajaxplorer installs…), but that was my first try at android, and believe me when I say I typed in at least 10 times as many code as I committed in the git (trying out things for https or http_basic_auth, and discovering the lame List management in android and so on…)
    Beware one last thing : It might be that the app crashes if you’r doing things “too fast”, when clicking on something, there is no “security” atm, so the app will do the job, and if the previous job wasn’t finished, then it might crash…

    So if there’s an android/JAVA developper around the corner, feel free to give advices on how to do this better ;)

    Hope I’m not alone on this one… I think if someone helps me with the switch_repository thing (and auth) we’ll have a pretty usable app very quickly !


    #54238
    Avatar of toxic
    toxic
    Member

    And yes, some Git magic :

    You can download the last binary and directly install it on your android from here :

    http://git.emolinier.com/?p=androjaxplorer.git;a=blob_plain;f=bin/AndroJaXPlorer.apk;hb=refs/heads/master

    For this you need of course to allow “untrusted sources” for the apps :
    Settings>Applications>allowUntrustedSources


    #54274
    Avatar of toxic
    toxic
    Member

    I just added some basic download feature.

    It’s not running in a separate thread for now, so it’s blocking the UI, it’s not posing any progress… But well it’s a start ;)


    #54663
    Avatar of toxic
    toxic
    Member

    Well, I’ve improoved it again, even if it seems noone is interested…

    Now you can cut&paste files within the same repository, download is also better : is hows a progressbar, but it seems the progressbar has problems with huge file :’(
    Download if fine anyway ;)

    again, here the binary : http://git.emolinier.com/?p=androjaxplorer.git;a=blob_plain;f=bin/AndroJaXPlorer.apk;hb=refs/heads/master

    you need http_basic_auth plugin to use it, and if someone gives any interest in this, I could develop normal login…

    Cya.


    #54665
    Avatar of charles
    charles
    Keymaster

    hi toxic
    really excited to see an androïd client emerge! I guess i’ll have to buy a first price androïd system to have a go on it, any suggestion?
    -c


    Charles, Pydio author - doing my best to help !
    If you like the software or want to say thanks, pay by a tweet, mention #pydio or follow us

    #54667
    Avatar of MDE
    MDE
    Member

    Also excited to see an android client. Would be awesome to have the normal log-in as well.


    #54730
    Avatar of toxic
    toxic
    Member

    You don’t need to buy an android phone or tablet.

    You can just follow the develeopper startup guide from google and you’ll get a working emulator to see what it looks like.

    Regarding the standard login, I’d need a little help, if someone would be so nice to tell m what flow to follow (ie. what http requests at what url with what data) that would trumendestly help.

    I’m currently improving the background downloading thing. Note that this app currently has too little functionality, and that I am not eager to pay $30 to distribute it on the android market. So for now you’ll have to grab the apk file on my repo ;)


    #55163
    Avatar of neilus
    neilus
    Member

    hey toxic hows the development on this app going, keep up the good work, i also have a galaxy s 2 and think this would be a brilliant app to have.
    i tried out the latest version of this app on your site but i seem to be having some problems that i hope u might be able to help me with
    i put in my server details and click connect the progress bar at the top fills about 1/3 of the way and says unable to login to server

    below that i get the popup

    you are now logged in you can browse the following repositories
    but nothing loads and if i check the ajaxplorer web server logs there are no logon attempts

    i have tried this on both wifi and 3g with no success.
    im running ajaxplorer 3.2.4 php 5.3.5


    #55182
    Avatar of druckgott
    druckgott
    Member

    Hi, I have an galaxy ace, and if I want to install the akp, there comes the error: Can´t parsen the pakates, there is a problem.
    Can you help me. Normaly I can install apk´s without problems

    thx
    druckgott


    #55504
    Avatar of neilus
    neilus
    Member

    how do set ajaxplorer to use http_basic_auth as per
    “One important thing though : I’m using http_basic_auth, so I have no idea how the auth is realy working…(issuing a http request with correct user&pass gets me logged in already).”


    #75419
    Avatar of silas
    silas
    Participant

    Hello All,

    Please what is the current status of this project?

    Thanks


Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.