hBasic > hManual > Package

hBasic Manual
Package changes

Support to android target api level

Identity Changes

Scoped Storage

API

 This release includes all mods and (most) patches from v1.61 with support to target API 34;

 minSdkVersion : 19            (backward support to no less than ICS)
 targetSdkVersion : 34        (forward support up to Android 14)
 built with platform Sdk version: 34 (otherwise known as compileSdkVersion)

 - since July 2020 v3.00
 The package_name is changed to com.rfo.basich  com.rfo.hbasic (so it can co-exist with other versions).

  Note: hBasic will overwrite Sample_Programs if another version of hBasic was run before).

About Android APKs on Google Playstore

Google requires that by the end August of each year (after a new Android version comes out),  all Playstore apps and updates must target a level no more than one year older than the current release.

New apps must meet this requirement from August (or new version announcement).
Old Apps (already on Playstore) must also be updated.

For August 2024 the minimum requirement will be a target of API 34 (Android 14) which would last up to August of 2025.

hBasic comes with source code in a zip package. If you are able to compile from source, then you need to be able to upgrade the platform-api level to whatever you need before compilation. (This info is beyond the scope of this manual).  Alternatively, you may compile with hSuite.
App Identity

Package ID : com.rfo.basich com.rfo.hbasic

Titles for Program Output, SELECT, TEXT.INPUT, and TGET were changed to generic names. (since v2.91)

Splash screen was changed to the hBasic splash screen (optional and user-definable within hSuite).

APK Signature
Since v2.91 the APK is signed with a new key (different from previous). You will need to un-install any old version ( < v2.91 ) before installing.

Since v3.04 the APK is also signed with v2 scheme - a requirement for devices running Android 11+.
Since v3.06 the APK is also signed with v3 scheme - ( a side affect from using bundletool ).

Package version
version$() will return the app version (as before).
version$(0) will return the base version which by default is the hMaster code base version.

Both versions are user-definable  within hSuite.

Scoped Storage

hBasic was moved to scoped storage since v3.00.
This means that the app is boxed into an External storage area that it can read or write to. Outside apps cannot normally access this private area. This area is often emulated with  faster 'internal' storage but still classified as 'External'.

Base Drive (or Base Path)
The base_drive or BasePath is the start of scoped storage.
It is usually found at <sdcard>/Android/data/com.rfo.hbasic.
(note: legacy Basic's default base drive used to be just <sdcard>/)
Base Directory
The base_directory is therefore <sdcard>/Android/data/com.rfo.hbasic/rfo-basic
with source, data & databases under this base.

App Path
The App_Path or app directory is just the name e.g "rfo-basic".
This will be different for custom (standalone) apps.

The mount point of <sdcard> is something like /storage/emulated/0 depending on the device.

To read and write from/to outside of this area you will need an ftp client to connect to hBasic's embedded ftp server (hFTP server). You may need this if you are developing on a PC and need to transfer your basic files to your phone. To start the server, tap on Editor menu > Start FTP server.

An alternative is to use a file-manager that has permission to enter hBasic's scoped storage. Recommended is Total-Commander.

All apps that have been compiled for Android 11 and higher (Target API 30+) are forced to be scoped. They can no longer access areas outside of scoped storage.

Scoped storage is furthur explained in this forum post.




Leading Cloud Surveillance, Recording and Storage service; IP camera live viewing

Leading Enterprise Cloud IT Service; cloud file server, FTP Hosting, Online Storage, Backup and Sharing

Powered by FirstCloudIT.com, a division of DriveHQ, the leading Cloud IT and Cloud Surveillance Service provider since 2003.