I have a textfile with various information including some bitmaps.
I Then load the information into a list of objects, and one of the properties of these objects is a bitmap.
The object type:
B4X:
Type AppInfo (ID As String, Name As String, Version As Int, VersionDate As Long, _
LastUpdated As Long, Bundled As Boolean, DownloadsCount As Long, _
UsersRating As Int, OrgRating As Int, SystemRating As Int, _
ExpertRating As Int, MoreInfoLink As String, TimesUsed As Int, _
LastUsed As Long, LastNagged As Long, CurrentClassification As Int, _
AppIcon As Bitmap)
The textfile-loadfunction:
B4X:
If File.Exists(File.DirRootExternal, FileName) = True Then
strTest = File.ReadString(File.DirRootExternal, FileName)
TempApps = Split(strTest,"[|]")
For i = 0 To TempApps.Length - 1
Dim Temp() As String
Dim App As AppInfo
Temp = Split(TempApps(i),"[,]")
App.ID = Temp(0)
App.Name = Temp(1)
...
...
App.AppIcon = Temp(16)
Next
End If
Thing is, all the other stuff I'm doing before, and after this makes the totalt process slow enough, so I would really like not having something to slow it down too much more.
You can write all the images to a memory stream and then write the stream to a file. Will it be significantly faster? I don't know without testing.
It will take more memory for sure.
First of all I'd like to introduce me. My name is Antonio Carlos from Brazil.
I've just started to work with Basic4Android and I'm in a hurry to say "I LOVE IT!!!"
Before using B4A I never created any app for android, due I'm not a Java programmer, but with B4A in just few hours I' could run my first app in my device.
Thanks to this dynamic forum!!
Now returning to this subject...
A simple way to write a string containing a image can be as follow:
B4X:
Sub Globals
'//
'// The string image can be created using Sencha IO as shown:
'// http://src.sencha.io/data/http://www.alphatour.com.br/wp-content/uploads/2013/08/AlphaTour_LOGO_230x95b.png
'//
Dim su As StringUtils
Dim Logo = "data:image/png;base64,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"
Dim imgLogo As ImageView
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("frmMain")
Logo = Logo.SubString(Logo.IndexOf(",")+1)
Dim buffer() As Byte
Dim b As Bitmap
buffer = su.DecodeBase64(Logo)
Dim In As InputStream
In.InitializeFromBytesArray(buffer, 0, buffer.Length)
b.Initialize2(In)
imgLogo.Bitmap = b
End Sub