Italian B4A - Leggere un file da DropBox

Sabotto

Active Member
Licensed User
Vorrei realizzare una App che legga un file di testo che ho sul mio DropBox.
Ho scaricato la libreria di DonManfred
ma ho trovato molte difficolta perche si salta da un post all'altro per via di aggiornamenti, variazioni, intervenute incompatibilità ecc.
Inoltre va aggiornato il file manifest dell'app con un pezzo di xml, questo
B4X:
AddApplicationText(<activity
android:name="com.dropbox.core.android.AuthActivity"
android:configChanges="orientation|keyboard"
android:launchMode="singleTask" >
<intent-filter>
<data android:scheme="db-xxx" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>)
ma non ho capito se posso aggiungerlo in coda o in un punto preciso.

Al momento nel codice che ho creato ricevo un errore verso la fine della compilazione riferito a questa linea che si trova nel modulo Starter
B4X:
Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    Public kvs As KeyValueStore

End Sub

Sub Service_Create
    'This is the program entry point.
    'This is a good place to load resources that are not specific to a single activity.
    kvs.Initialize(File.DirDefaultExternal, "datastore2") '<- - - - - - linea che dà errore
End Sub

Error occurred on line: 16 (Starter)
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (Sqlite code 14 SQLITE_CANTOPEN): Could not open database, (OS error - 2:No such file or directory)
at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)... ecc ecc


Volendo posso allegare lo zip del progettino ma occorrono le librerie per testare, che sono le seguenti:
1596139738171.png
 

Sabotto

Active Member
Licensed User
Non ho ricevuto risposte a questo mio post, probabilmente perche non sono stato chiaro. Provo a riformulare cercando di spiegare meglio, perche non posso credere ch e nessun esperto abbia mai avuto a che fare con il leggere un file da DropBox.
Premetto che ho chiesto anche nel forum internazionale ma mi continuano a dire di fare una certa cosa che io ho fatto ma ottengo sempre lo stesso errore.
In pratica, scaricando questo codice di esempio mi è stato detto di dover semplicemente sostituire la mia "appkey" fornitami da DropBox, che è 55jhx4.......) qui

B4X:
auth.Initialize("55jhx4.........")

e nel file manifest

XML:
<activity
         android:name="com.dropbox.core.android.AuthActivity"
         android:configChanges="orientation|keyboard"
         android:launchMode="singleTask" >
        <intent-filter>
          <data android:scheme="db-55jhx4........" /> <--------- qui

Cio nonostante ottengo sempre l'errore appena pigio il bottone
B4X:
Sub btnStartOAuth_Click
    auth.startOAuth2Authentication
End Sub
Error occurred on line: 108 (Main)
java.lang.IllegalStateException: URI scheme in your app's manifest is not set up correctly. You should have a com.dropbox.core.android.AuthActivity with the scheme: db-55jhx4........

e quando riapro il file manifest (dopo l'errore) quel "db-55jhx....." lo ritrovo come era in origine "db-xxx", non so se sia una cosa normale, penso di si..
Qualcuno usa un codice simile per accedere al proprio dropbox, che puo aiutarmi?
Se non sono stato chiaro chiedete pure.
 

Sagenut

Expert
Licensed User
Longtime User
Con qualche difficoltà (sono da cellulare) ho guardato il codice dell'esempio di @DonManfred.
Mi pare che all'inizio del suo codice ci sia una parte che dice che si occuperà di modificare automaticamente il Manifest.....e li c'è quel "db-xxx"
Forse devi scrivere lì la tua chiave invece di modificare manualmente il Manifest?
Come detto non sono al PC e potrei aver visto fischi per fiaschi.
 
Last edited:

Sabotto

Active Member
Licensed User
Sono riuscito a connettermi . L'unica cosa che ho cambiato è che ho editato il file Manifest con l'apposito tool (Progetto - Editor Manifest) di cui non avevo notato l'esistenza. Lo modificavo con WordPad (forse era quello il problema?...)
Ora il prossimo passo è cercare di saltare sia l'immissione del codice di sblocco che il click su "Consenti" nella videata che appare e che dice "L'app Nomeapp, vorrebbe accedere ai tuoi files e cartelle". In pratica vorrei che al lancio dell'app esca direttamente una parte di un file di testo che si trova appunto nel mio dropbox.
Ma credo che devo aprire un altro post.
 
Top