2014-02-18 16 views
0

我在Matlab中創建了我想在我的java項目(Android)中使用的數據矩陣。我可以把它放在一個文件中並在運行時讀取它。但是由於數據是不變的,我想知道是否沒有更好的方法將其與源代碼整合。如何將數據導入java項目運行前

回答

0

這樣做將是把你的矩陣以適當的格式(MathML或TeX的可能)到資產的Android項目的文件夾中最明顯的方法[去旁邊SRC資源及其他],然後讀取應用程序像這樣的文件:

... 
public void onCreate(Bundle savedInstanceState) { 
    ... 

    InputStream iStream = getAssets().open("myMatrices.tex"); 
    // Then pass the iStream to whatever parser you choose 
} 

下面是Java的數學解析器很好看的:What's a good library for parsing mathematical expressions in java?

硬編碼的矩陣作爲常量你的課程也很好,雖然不太靈活。所以,如果你已經知道你需要,去硬編碼的所有矩陣,這將刮鬍子解析一段時間,有點.apk文件大小[由於沒有包括任何第三方的解析器庫]

+0

的我會通過在需要它的類的源代碼中聲明它爲常量來獲得某些東西? – LocalFluff

+0

好吧,如果它已經是一種格式,你可以馬上用於計算/顯示 - 是的,你可以節省一些時間而不必分析資產文件。加速不會很明顯,但它會在那裏。 另一方面使用資產文件可能會給你更多的靈活性 - 但這取決於手頭的任務。如果你打算放置數百個矩陣,那麼將它們全部硬編碼並不會很方便,你最好使用文件和解析器。 如果您的任務需要10個矩陣,並且無意添加更多 - 您可以使用硬編碼矩陣。 –