Share My Creation RemMe Android

efsoft

Member
Licensed User
Hello all. This is my first application developed for Android with B4a.
The program is only a small "wallet" to store Bank cards, documents and whatever information you wish............

So i wrote some time ago.
Here is now the First full version (not Beta) of my program.
The changelog is the following:

The code has been rewritten to 50 percent
Totally changed the look of the program
Simplified the use of the upper command bar by inserting blocks to avoid overlapping of functions.
Fixed various bugs that allowed misuse of the program
Improved (hopefully) ease of use and directions help, step by step, for the function in use.
Added the change of the access password on request.

Target for future updates.
Save the current status when you stop using block for privacy to get it back on reboot
Development of the ability to open more than ten Archives that are* currently present

As this App uses the Library IME only and no other kinds of commonly used library except the Core one, to handle the archive and to protect data and password, it should be usable on any Android version. (has been tested with GB 2.3.3 and ICE 4.0.4. only.

The program is release "as is" and is and will remain free for not commercial use

THIRD UPDATE:
I added to the original version RemMeAndFull (2 single files IT & UK) the new file RemMeMultiL.zip (i.e. RemMe-MultiLanguage) which includes now both version (theme GB & H) now enabled to handle five different languages (Italian/Spanish/English/French/Deutsch) .
If you have installed RemMe to test an earlier version please uninstall it otherwise the automatic selection of the available languages will not be activated and you will get an error message. (this can cause loss of data already included in the archive).
The choice of language is available on the first start and then maintained over time but if you need to change the language on a second time this also is possible.
Take note anyway that, if you customized some item of the archive you may lose the customizations used because the program reloads the standard set of titles and names for fields and archives.
I am thinking about how eliminate this behaviour but it will require some time
As always welcome reports of errors and bugs

Thanks in advance and....sorry for my english and now also for the translated languages if any. Franco - efsoft

NOTE: The last version RemMe2014 is no longer a Beta version (see last message to see corrections (1)
The corrected last file is named RemMe2014Final.zip
 

Attachments

Last edited:

efsoft

Member
Licensed User
RemMe- few info about an object of the program

As the old threads, relating to Beta versions are now useless, i replace it with a few brief indications related to my program.

Since the code was created to provide security to data entered, I can speak here only of the control bar that allows the selection and triggers the execution of the functions of the program.
I state that I do not do something to teach. I am a beginner in Android and my code is even banal. But it may help to understand the use of my program that has no real Help.
The bar uses 4 labels, 2 image view and 1 list view only.

The two labels, one to the left and one on the right, identified respectively by the text "Archive+"-"Record+" containing the image view, also control the central List View creating a kind of ComboBox shared that can show alternately the menu to manage the archive or whatever to manage the Record.

Using the bar as mentioned above you can see that the blue label marked Search disappears. This label (which is activated by the Click event) if touched start the direct search of a record identifying it by its title (i.e. 1st field of the record).

Under that label there is the fourth label that shows the message "New Record" and when pressed in this condition starts the function to insert a new record.
In different condition, when it is visible but without title, the action selected in the list view is shown in the label and used to activate the relative action without fulther user selection.

The list can be closed by selecting an action to perform, or by using the "Undo"

Last major feature of the use of the labels is also changing the text when they are touched to start a function. In this case, the label will display the text "CLOSE" and turn the same key into the one to press to exit from the choiced process.

The code of the interface is reduced to the following:

Sub Click Label1
if Label1.Text = "Record" then
Label2.enabled = False
BtnSearch.Visible = False
ListView.Visible = True
ListView.AddSingleLine ("change ....)
ListView.AddSingleLine ("....................)
...................
...................
Label1.Text = "CLOSE"
else
Label2.enabled = True
BtnSearch.Visible = True
ListView.Clear
ListView.Visible = False
.....................
....................
Label1.Text = "Record"
End if.

Actually, the specific code is a bit 'more complex, but the one above is just a simple example.


Thanks for your attention.
 

Attachments

Last edited:

efsoft

Member
Licensed User
RemMe version quick view

For a better evaluationt here are some screenshots and the installation files of the 2 versions upgraded

GB theme like old vers.3.1 (6 pictures)
H theme that is the last original version (6 pictures)

it is possible that this post is subject to any correction. Thanks for attention.
 

Attachments

Last edited:

efsoft

Member
Licensed User
RemMe Android upgraded

Hello to all.
RemMe manages, in the version available so far, most of the functions for Records (Add, Edit, Delete) and Archive (Delete, Edit the field names).
However lacked an essential function for access to the archives.
The possibility. after inserting the first time, to change the access password if you want (or need).
This was added in the version 1.1B (i.e. Beta) but now i can say that the Beta state can be ignored and the abilty to change password has been added to the
Full H version also (the ones you can find into the zip files above).
Change the password is very simple and can be requested only after accessing the page of the Archive.
After entering, choice the function "Change Pass" from the menu ARCHIVE+. This will reopen the login page with the instructions and the command to proceed with the amendment.
Thence you get a input box that asks you to confirm the alteration of a security parameter. If you decide to cancel the request the page returns to normal function otherwise requires you to enter the new pass as did the first time.
Done as required your archives will be accessible only with the new password.

Attached Apk files
for RemMeH (IT & UK)
 

Attachments

Last edited:

efsoft

Member
Licensed User
The history and evolution continues.

When I found out B4A and the opportunity to use the old Basic (in a much more powerful way) on Android, i choose Remme as first project.
RemMe is an old program of mine created in VB and now translated to Android
The problems, however, are a little different under this O.S..
My habit of creating programs by mono window that change appearance depending on the features requires to create very crowded layouts.
Thus, the interface needs to be rethought for this and other needs.
This is one of the reasons why the 320x480 version has no screen rotation enabled because it is difficult to find a place for all elements of the layout in Landscape position without incurring in several problems.
That version taken as 1 Base simplifies attempts to use the program on different devices but also severely limits the development and testing of my program.
For this reason there is the version of Remme 480x800 160dpi Scale 1 which generally i use as an experimental basis.
It is more difficult to adjust it for devices of different sizes (to load it on the GT P1000 i had to use a negative AutoScaleRate and i can test only using UI Cloud) but offers features that I have not yet brought on the smallest official version.
Currently, I use this for the addition of different languages, to overcoming the separate versions of IT and UK.
The project plans to provide 5 different languages: English, French, German, Spanish and of course Italian.
This version is more suited to the tablet that the cellular / smartphone and requires a lot of work yet.
If you have loaded a previous version as 320x480 you need to first uninstall it and then load the vers. Tab - Beta. (This means that you could lose the current data already archived)
The latter also offers the rotation screen but still without maintaining the current status of the device after operation.
This experimental version here is free and delivered as is (as all others versions), to be tested at your own risk. the same will be subject also to variants.
Thanks as always for listening so far.
 

Attachments

Last edited:

efsoft

Member
Licensed User
List of updates and of the various versions available attached

Hello to all
Also posting the full and last versions i cannot be sure that they are without bugs
This will help you to find the relative updates if needed

Versions available :320x480-160dip
(old versions of the program created as 2 files identical different for language (IT or UK) only).
RemMeAndFull.Zip
The 2 file RemMeAnIT.apk and RemMeAnUK.apk are the same that you can find into the above mentioned .zip file
All the mentioned files are not the last updated version of the program.

(version updated, with all the bug fix and new better functionality multi language)
RemMeMultiL.zip
The file includes 2 version of the program that differ for the layout theme applied (H and GB)

(Last version updated 1.3 differs from the previous version for code and interface only)
RemMeHmlC.zip
The update of RemMeH that includes MultiLamguage (ml) e uses ComboBox code (C) instead the List View as menu. Some changes to GUI also applied.

RemMe2014.zip
The last a new version of RemMe that use Dynamic List of objects (labels) instead of List View. 320x480x160 compatible with GB, Ice Cream and JellyBeam even on Tablet. Still in Beta version 1.0

RemMe2014Final.zip

The last and final version of RemMe developed as mentioned above.


program3ef.apk
as i wrote this is the permanent Beta program for RemMe (800x480) used to test code to add.
This version will not be currently updated here .

CHANGELOG

21/06/2013 Posted first original version of RemMe Android
23/06/2013 Updated the attached .zip file owing to o little bug to the Fields Titles change function (solved)
26/06/2013 Updated RemMeUK version owing to a missing translation on help message Posted the RemMeGB version with alternative graphic theme
04/07/2013 Added RemMe upgraded allowing user to change access password.(beta Vers.)
09/07/2013 New zip files for RemMe Full with version 1.1 IT & UK upgraded and no longer Beta
14/07/2013 Posted the experimental version for Tabs 480x800 - 160dpi Base 1 (permanent Beta)
16/07/2013 Available the first multi language (IT-UK-FR) version of RemMeH 320x480
21/07/2013 Added files .apk for H and GB version of 320x480 160dpi of RemMe. These versions allow also to select 5 different languages for curent use.
26/07/2013 Fixed some errors due to misalignment of the multi language. Added zip file with versions GB and H 320x480 multi language enabled
28/07/2013 Fixed a bug that caused misfunction of the archive if the function to change the titles of the field was repeated continuosly several times
30/08/2013 Added the updated Vers. 1.3 (RemMeHmlC.zip) that use my code for dropdown menu instead of a List View as the previous versions.
10/10/2013 Added a new version of RemMe (RemMe2014.zip). This version uses dynamic list that reduce dimensions and memory use. This is a total Beta version not tested extensively The UI is the same (about) and maintains the compatibility with old archives.
01/11/2013 posted the final version of RemMe2014 now debugged i hope.
 
Last edited:

efsoft

Member
Licensed User
RemMe memories and development considerations and code

Let me be clear from the outset: I will not teach anything (I would not be able) but only summarize some of the choices made during the development of the Android version of Remme.
When i wrote "this is my first program for Android" it was really so but, to tell the truth, Remme was born back in 2002 (as RM2002 see at www.efsoft.it/test.htm) developed on a PC with Visual Basic.
Subsequently I made it a standalone program for use on winCE PDA even in the absence of connection to the PC.
Those first versions were able also handle an archive of images working as a viewer.
When I found out B4A and the opportunity to use the old Basic (in a much more powerfull way) on Android, the choice Remme as first project was automatic:

Under Android he problems, however, are a little differents.
Owing to my habit of creating programs by mono window that change appearance depending on the required features i need create very crowded layouts.
On old PDA using the stylus was not a problem select objects also too much near but the "Touch" requires that each sensitive area is accessible from several types of fingers, on several different screens and without errors.
Thus, the interface needs to be rethought for this and other needs.

If you see the Layout image of the Designer posted below you will note that includes many objects (some of which are also not visible).
But you can see that the objects on the high zone of the screen are disposed in 3 separate lines in order to be used without interfere.
You can also note that into this 3 lines there are the main buttons and instructions about the use of the program and for the function selected by the user.
The position of the main buttons allows to avoid to scroll the visible screen up when you need to use the android keyboard. The only button that will be covered by the keyboard is the button Exit but, if you required the keyboard, is quite sure that you do not want to exit from the program.
The second choice that makes the above mentioned solution more functional is the duplication in that zone of the data you need along with a window to show the instruction to use the current function.

For the old RemMe developed for the Windows world (Mobile or not) was common use to create an Help file to instruct the user.
Obviously this is not something of impossible with Android but considering the S.O. the best for mobile devices it may be not convenient to search, open and read a file or an help text, so was born the idea to drive the application's use showing to the user the next instruction.
Also this Help's lines are shown in the upper part of the program's screen to maintain them visible while you are using the keyboard.

These directives may be also not considered a correct way to operate.
I can only say that i followed the above mentioned considerations and for this reason the interface of RemMe is the one you can see now.

Following the above it is therefore necessary to create command bars that can handle the multiple functions of archive/records management.
The first of these, and even the most simple is the bar with the arrow.
The arrow inserted in the bar is the real control of the bar that pilots the choice/reading of Archive and Records and at the same time the reverse operation.
To the left is the label that shows the name of the archive chosen, while the label at the right of the arrow usually shows step by step instructions.
The second command bar is far more complex because it brings together two pop-up menus used in an asynchronous (ie the use of one inhibits the other). In addition, the first menu items are direct commands to specific functions (record addition or change settings) that initiate and direct functions not related to the use of the menu within which they appear.

It should also be noted that the text of many labels (that is modified during use) is not just a simple piece of information visible to the user but also represents a flag that informs the code in use for the current action or to perform other code. In total this second bar drives 8 different functions of management Archives / Records.
The code used is quite easy. based essentially on IF/THEN/ELSE with the particularity to modify label text during the use so that the label works as a swith OPEN/CLOSE.
I posted in a previous message above few code lines as sample.

Equally simple is the code to have an immediate translation of the program in different languages.
In this case i made some search to look at the solutions used but, may be that i did not understand the informations i found, i thought that my program, specifically wished minimal, was not the correct application to receive a complex translation system.
So i came back to the use of common Basic elements.

I created 2 bidimensional matrixes , [A(5,12) and B(5,100) for example] declared as Global variables.
A third global variable S (as search) is the one that will be used in the code to call the instructions or text of labels (B) and the names of the records and archives (A).
All the text strings are memorized directly into the program using a Code Module (CodeM) to call to use the text required. See the sample:
......................
B(1,3) = "Repeat"
B(1,4) = "WRONG entry - Retry"
B(1,5) = "Register"
B(1,6) = "Registered. Archive started"
B(1,7) = "Archives are not initialized. "& CRLF &" Type the password again and press Repeat."
......................


The following instead is the code created in the Activity
in the "Sub Activity_Create (FirstTime As Boolean)" of the main form is inserted the code that reads from the archive the variable S that determines the current Language

(Example S = 1)

In this and others activities of the program all texts are replaced by the following type of code:
........
Lbl.Text = CodeM.B (S, 3)
.......

that, if S is as in the above example gives to the Lbl the text "Repeat"
Likewise, if S was 3, instead of 1, the text would be "Repetir" (Spanish), etc.
to summarize
:
Code Module
B (0, 0) = "SI" -----> if S=0 Italian
B (0, 1) = "NO"
etc.........
B (1, 0) = "YES" ----> if S=1 English-------> Label.Text = B ( S, 0 )
B (1, 1) = "NO" -----> if S=1 English-------> Button.Text = B ( S, 1 )
etc.........
B (2, 0) = "OUI" ----> if S=2 French
B(2, 1) = "NO"
etc.........


I am not able to assess the efficiency of the system in absolute terms, but I think it is valid for the translation of texts of reduced number of elements and languages

This System allowed to select the language when you install RemMe the first time. I added the possibility also to changeb language on a second time but there is still a problem.

As the elements of the archives are integral part of the program's code i can memorize the change of the archives names and titles made by the user but not to repeat the same in the code, So when i change the language on the fly I am allowed only to reload the archive of default elements loosing so the changes made and the sinchronizations of titles and fieds modified.
This is the next problem to solve along with a better translation for the languages that i do non know (i used Google translation but ........)
Sorry for a so long text but i hope that it may help somebody to solve some problem. Thanks to all.
 

Attachments

Last edited:

efsoft

Member
Licensed User
Hello to all.
Well, version 1.3 Hml is available. Regarding the common use presents no novelty worthy of particular consideration. The real change is in the internal code used to get how to use less elaborate and a reduction in the size of the program (which should have kept the same efficiency).
The internal novelty consists in the elimination of the List View originally used to create the drop-down menu list of a few lines, controlled by the upper control bar.
In this version has been added the code that i developed for the esperimental ComboBox (same subject here in the forum with other project of mine).
The use of that code appropriately reduced for use as a double pop-up menu has led to a reduction of the size of the program (apk of 137kb against the previous 141kb) to a graphical review in part due to the elimination of some image view not more necessary and the elimination of some repetitive functions now merged and made available to various processes in use phase.
For the moment, consider the version presented still in Beta is only a precaution to giustify some other small Bug-Fix that is impossible to avoid when you cannot do extensive testing (also for the variety of models and versions of the Android system.
For the moment I can only tell you that the new Remme has been installed and tested under Android GB 2.3.3 - ICS 4.0.4 and 4.2 jellybeam without, as far as I know, have encountered problems.
Thanks for attention.
 

Attachments

efsoft

Member
Licensed User
Hello to all,
The latest variant of Remme published in the forum was that relating to the modification of management menu, that currently uses my code for the emulation of ComboBoxes. (which is reduced when used as menu).
Having already for previous versions posted some details of the functions menu Remme, i do the same for the actual code used.
The only difference is that, this time, you will find in the folder Zip files directly usable in a B4A to follow its operations.
You will note that you find a single drop down list for two different list of actions
Thanks for your attention, have fun
 

Attachments

efsoft

Member
Licensed User
Always the same and always different.

This is Remme , With Android continues the development which modifies the code without altering use and user interface ( except for small details ) .
This version ( called 2014) uses the dynamically created labels in addition to the emulated combo menu already applied to previous version .
The result is to maintain to the size of the first versions ( about 136Kb ) without losing the added functions and with a reduced use of memory ( 300Kb ) without noticeable slowdowns of use .
In practice, this version uses only 1 List view ( 1 instead of 4 used in early versions that used the standard list views) .
And certainly true that this change is dictated by the taste of the experiment instead of from a real necessity or problems of the previous versions with which it maintains compatibility with the stored data.
However some simplifications obtained with the code used (even if it is not equally simple to adapt the experimental code to a real program ) can then allow to easily add the blossoming possibilities to overcome the limit of the ten stock manageable today by Remme .
Needless to say, this version is a Beta absolute that has yet to be tested in every detail. The only thing known is that it seems to run properly with GB , IceCream and JellyBeam ..
If you install it (at your own risk ) and encounter problems using it please contact me.

ATTENTION: Found a bug. App works correctly in Italian but doe not work changing language. Trying to adjust. (1)
SOLVED : Fixed bugs. Program available correctly using the others languages.
FIXED : Fixed malfunction in the modification records for Cards
RESTORED: Records' duplication check
 

Attachments

Last edited:

efsoft

Member
Licensed User
At the end ....

I think I can consider RemMe2014 no longer a Beta version.
As far as I have tried the program I was able to solve a number of additional bugs caused by having replaced 2 of the 3 lists dynamic lists that I had tried.
In addition to those already listed and solved during boot the Beta, the following issues have been fixed now:
1) failure to cancel on exit the details of the Record displayed.
2) List and Card displayed simultaneously in some cases.
3) Failure of cancellation of Card by performing a direct search / (Search button).
4) not shown the record at the deletion request (Card)
5) Correct the unnecessary duplication of code to create dynamic lists. (advised by me previously in a different 3d)
6) Few minor adjustments to the graphical interface....
Attached the zip file of the final version correct (at least I hope) that you can also find as enclosure of the first message here.
 

Attachments

Top