Changes between Version 7 and Version 8 of AndroidBoincImpl


Ignore:
Timestamp:
Aug 30, 2016, 9:45:24 PM (8 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AndroidBoincImpl

    v7 v8  
    11[[PageOutline]]
    22
    3 = AndroidBOINC =
     3= BOINC for Android =
    44
    5 AndroidBOINC is a port of BOINC to Android devices.
    6 Using AndroidBOINC, BOINC projects can distribute scientific tasks
    7 to Android devices,
     5This doc describes a port of the BOINC client to Android devices.
     6Using this client, BOINC projects can distribute scientific tasks to Android devices,
    87enabling volunteers to contribute CPU time of modern smartphones and tablet computers.
    9 
    10 Projects are free to download the sources of AndroidBOINC from UCB's BOINC repository and configure the client.
    11 Projects are in charge of their version's distribution e.g. on Google's !PlayStore.
    128
    139== Architecture ==
    1410
    15 The Android application consists of the regular BOINC Client
     11The client consists of the regular BOINC core client
    1612and an Android-specific GUI.
    17 AndroidBOINC combines the two independent BOINC components of Client and GUI.
    18 
    19 The BOINC Client was adapted to accommodate the needs of mobile devices
    20 and can be cross compiled to run on ARM-Android-based devices.
    21 To allow volunteers to control the Client,
    22 AndroidBOINC's second component is a GUI,
    23 developed for Android using the common design patterns.
    24 AndroidBOINC bundles those two components together, to be distributed in a single APK.
    25 
    26 Client and GUI communicate via RPCs, similar to versions on Windows or Linux.
    27 
    28 Talking Android, AndroidBOINC consists of a Service (called Monitor),
    29 which interacts with the BOINC Client and holds data (!ClientStatus, !AppPreferences)
    30 which is accessed from various Activities.
    31 
     13These two components are bundled together, to be distributed in a single APK.
     14Client and GUI communicate via RPCs, similar to BOINC on Windows or Linux.
    3215
    3316=== Aspects of the Android platform ===
     
    4730  file at compile-time,
    4831  the user then gets prompted to grant access upon installation.
    49   AndroidBOINC requires the "Network" and permission in order to
     32  BOINC requires the "Network" and permission in order to
    5033  transmit workunits and setup socket for the RPC communication
    5134  in-between Manager and Client.
    5235  The permission "RECEIVE_BOOT_COMPLETED" is used to start
    53   the BOINC Client upon boot.
     36  the BOINC core client upon boot.
    5437  Permissions get granted to the App-specific Linux User ID,
    5538  and therefore also applies to its child-processes.
     
    6548
    6649 * Distribution:
    67   Like every other application, AndroidBOINC comes in an APK package.
    68   The BOINC Client gets distributed as part of the Android app and resides
     50  Like every other application, BOINC comes in an APK package.
     51  The BOINC core client gets distributed as part of the Android app and resides
    6952  in its "assets" directory.
    70   When executed, the Client gets copied to the local storage space and executed from there.
     53  When executed, the core client gets copied to the local storage space and executed from there.
    7154
    7255=== Considerations for mobile devices ===
    7356
    7457In order to accommodate the limitations of mobile devices,
    75 two features got introduced to the BOINC Client:
     58several features were added to the BOINC Client:
    7659
    77  * Wifi detection: AndroidBOINC, by default, does communication with its project scheduler
    78   only when logged into a Wifi.
     60 * Wifi detection: BOINC, by default, does network communication
     61  only when logged into a Wifi network.
    7962  This helps volunteers keeping control of limitations on a data plan.
    8063
    81  * Charging only: AndroidBOINC, by default, computes tasks
     64 * Charging only: BOINC, by default, computes tasks
    8265  only when the device is being connected to a power source, preventing battery drowns.
    8366
     
    9275=== Config file ===
    9376
    94 A config file (currently prefs.xml, should be renamed) will contain
     77A config file (currently prefs.xml, should be renamed) will contain boolean flags
    9578 * "run at boot?"
    9679 * "seen welcome?" (has the user seen the welcome dialog?)
     
    151134 * leave the client running
    152135 * need an "exit all" button some
     136