hBasic Manual Package
changes |
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. |