2012-09-09 19 views
2

我剛剛開始在android上開發,目前只使用驚人的應用程序AIDE直接在我的設備上進行編碼(包括galaxy nexus和nexus 7)。如何在我的設備上讀取我的數據庫文件,而無需使用計算機

在這裏看看這裏有很多答案用數據庫拉到您的計算機使用adb,但我沒有使用電腦。

我看到在可調模式下構建應用程序並使用'run-as'的答案,但我得到了一個沒有權限的錯誤。我沒有root權限,並不是完全不願意使用它,而是想確保沒有非root用戶的方式來執行此操作。

我試圖使用connectbot運行的東西。

在此先感謝

+0

您可以在Play商店中搜索:[SQLite的經理(https://play.google.com/store/apps/details?id=com.xuecs.sqlitemanager&feature=search_result) –

回答

0

我沒有根並不完全反對,但要確保沒有非根方式來做到這一點。

有沒有非根方式做到這一點,沒有工作在你的最後。一個應用程序(比如說AIDE)沒有權限訪問另一個應用程序的內部存儲(比如你的)。

非root選項包括:

  • 添加備份功能可將您的應用程序,將數據庫複製到外部存儲器,此時你可以使用像在以前的文章中提到的aSQLiteManager應用程序(也可用directly on the Play Store)。

  • 在開發過程中將某種SQLite編輯器暫時燒入您的應用程序中,並在開始生產時將其刪除。

+0

不幸的是,目前,我仍然只是通過非常基本的教程。其中一些做數據庫的東西。所以我沒有達到可以在調試中添加/烘焙的功能,也沒有可以自己查看數據庫或轉儲它們的功能。我認爲根是將要走的路。我將能夠使用SQLiteManager查看數據文件夾,對吧?或者我的應用程序所創建的數據庫是否仍然不受其他用戶甚至root的限制? –

+0

你知道運行功能嗎?這聽起來像是一個可能的非根選項......可能! –

+0

@RussWheeler:將文件複製到外部存儲可能比獲得root訪問更簡單,並且它也是您的用戶的一項功能。話雖如此,歡迎您嘗試根選項。 「我將能夠使用SQLiteManager查看數據文件夾,對嗎?」 - 是的,Play商店的描述使它看起來像一個SQLiteManager使得它相對容易。 「你知道跑步功能嗎?」 - 我所知道的唯一「功能」就是涉及一臺開發PC,由於某種原因,您正在避開它。 – CommonsWare

1

工具,比如http://sourceforge.net/projects/asqlitemanager/可以讀取和寫入本地SQL文件定位在SD卡上。 (沒有紮根電話)
在根深蒂固的手機上,很多應用程序甚至可以讀/寫系統數據庫。

我建議不要把在本地數據庫的重要數據不加密,它首先


編輯:
如果我理解正確的話,你有一個SQLite的應用程序,您要訪問 sqlite數據庫從您的應用程序外(但在您的設備上)

如果是這種情況,我會嘗試在我的應用程序(僅用於調試版本)有一個「祕密」選項,將啓動一個n從external sqlite browser application開始的活動。
或者你可以有活動,將你的數據庫複製到SD卡上的文件夾,在那裏你可以很容易地編輯它
但是,你是什麼真的需要
您是否需要查看值?
您是否需要檢查結構?
您是否需要對數據庫進行完整編輯?
你也許能夠正​​好有個轉儲(SD卡寫入TXT文件),而不涉及一個完整的源碼編輯器中的數據(根據你這些問題的答案)

+0

我有一個sqlite的應用,但它無法讀取我的應用程序創建的數據庫(對不起,也許我沒有解釋我的應用程序創建了數據庫) –

+0

Re:你的編輯/更新。我需要的僅僅是跟蹤數據是否正確,可能是空行等。我會說通用數據庫的東西,但在這個階段主要只是爲了檢查正在存儲的數據。正如我在另一個回覆中所說的,我太新手了,無法添加功能來轉儲或顯示數據。但是你的祕密選項到底做了什麼?如果你不知道運行的功能,我想我只需要將其作爲根源。 –

+0

@RussWheeler,你可以將你需要的信息寫入你的SD卡上的文件。它應該是一件容易的事情......我的意思是「隱藏」,意思是「隱藏於用戶之中」。但是如果您不知道如何開始外部應用程序活動,請忽略它。無論如何,爲您的要求,一個簡單的輸出文件應該是足夠的 – Izack

相關問題