'Class module
Sub Class_Globals
    Private fromAssets As Boolean
End Sub
Public Sub Initialize (FromAssetsFile As Boolean)
    fromAssets = FromAssetsFile
End Sub
Public Sub LoadFileFileFromJar(FileName As String) As InputStream
    If fromAssets Then Return File.OpenInput(File.DirAssets, FileName)
    Dim r As Reflector
    r.Target = Me
    r.Target = r.RunMethod("getClass")
    Dim In As InputStream = r.RunMethod2("getResourceAsStream", "/" & FileName, "java.lang.String")
    If In.IsInitialized = False Then
        LogColor("Cannot find file: " & FileName, Colors.Red)
    End If
    Return In
End Sub
Public Sub LoadBitmapFromJar(FileName As String) As Bitmap
    Dim bmp As Bitmap
    Dim In As InputStream = LoadFileFileFromJar(FileName)
    bmp.Initialize2(In)
    In.Close
    Return bmp
End Sub
Public Sub AssetFromJar(FileName As String) As Boolean
Try
    If File.Exists(File.DirInternalCache, FileName) = False Then
        Dim out As OutputStream = File.OpenOutput(File.DirInternalCache, FileName, False)
        File.Copy2(LoadFileFileFromJar(FileName), out)
        out.Close
        Msgbox("dosya chahe kaydedili","")
      
        Dim out2 As OutputStream = File.OpenOutput(File.DirDefaultExternal, FileName, False)
        File.Copy2(LoadFileFileFromJar(FileName), out2)
        out2.Close
        Msgbox("dosya root kaydedili","")
      
        Return True
      Else
          Msgbox("asset : Chaste dosya var","")
        Return True    ' File OK anyway
    End If
Catch
    Log("Failed to copy file to Assets: " & FileName)
    Msgbox("Kopyalanamadı","")
    Return False
End Try
End Sub
Public Sub LoadBitmapSampleFromJar2(FileName As String, Width As Int, Height As Int) As Bitmap
   If File.Exists(File.DirInternalCache, FileName) = False Then
     Dim out As OutputStream = File.OpenOutput(File.DirInternalCache, FileName, False)
     File.Copy2(LoadFileFileFromJar(FileName), out)
     out.Close
     Msgbox("dosya2 chahe kaydedili","")
     Dim out2 As OutputStream = File.OpenOutput(File.DirDefaultExternal, FileName, False)
     File.Copy2(LoadFileFileFromJar(FileName), out2)
     out2.Close
     Msgbox("dosya2 root kaydedili","")
   End If
   Return LoadBitmapSample(File.DirInternalCache, FileName, Width, Height)
End Sub
Public Sub Loader(FileName As String) As Boolean
If File.Exists(File.DirInternalCache, FileName) = False Then
        Dim out As OutputStream = File.OpenOutput(File.DirInternalCache, FileName, False)
        File.Copy2(LoadFileFileFromJar(FileName), out)
        out.Close
        Msgbox("dosya chahe kaydedili","")
      
        Dim out2 As OutputStream = File.OpenOutput(File.DirDefaultExternal, FileName, False)
        File.Copy2(LoadFileFileFromJar(FileName), out2)
        out2.Close
        Msgbox("dosya root kaydedili","")
      
        Return True
      Else
          Msgbox("asset : Chaste dosya var","")
        File.Copy(File.DirInternalCache,"home.png",File.DirRootExternal,"home2.png")
        File.Copy(File.DirInternalCache,"home.png",File.DirDefaultExternal,"home2.png")
        Msgbox("dosya home2 root kaydedili","")
        Return True    ' File OK anyway
    End If
End Sub