2013-11-03 112 views
3

我有4个EditText字段,用户将输入数据。我希望能够将数据保存到数据库内部(在设备上)。将数组数据保存到数据库中

以下是声明(我的onCreate期间):

String[] debtName = new String[10]; 
double[] debtAmount = new double[10]; 
int[] debtRate = new int[10]; 
double[] debtPayment = new double[10]; 
int trigger = 0; 

后来,我拉的数据从EditTexts(一ButtonOnClick期间):

EditText editDebtName = (EditText) findViewById(R.id.dispDebtName); 
debtName[trigger] = editDebtName.getText().toString(); 

EditText editDebtAmount = (EditText) findViewById(R.id.dispDebtAmount); 
String debtAmountStr = editDebtAmount.getText().toString(); 
debtAmount[trigger] = Double.parseDouble(debtAmountStr); 

EditText editDebtRate = (EditText) findViewById(R.id.dispDebtRate); 
String debtRateStr = editDebtRate.getText().toString(); 
debtRate[trigger] = Integer.parseInt(debtRateStr); 

EditText editDebtPayment = (EditText) findViewById(R.id.dispDebtPayment); 
String debtPaymentStr = editDebtPayment.getText().toString(); 
debtPayment[trigger] = Double.parseDouble(debtPaymentStr); 

我在寻找任何简单有关如何将这些数据片段保存到数据库的资源(最好不要解析数据)。

+0

你有你的执行的SQLite数据库逻辑,如表创建和一些CRUD操作? –

+0

假设我没有对DB做任何事情。我实际上完全不熟悉他们在Java中..我可以在PHP中操纵一点,但还不足以进行比较。 – jpgerb

回答

1

如果不解析,您将收到的数据将采用CharSequence[]的形式(稍后您可以将其转换为字符串toString()方法),并且仅当您不打算对这些整数执行任何操作时和双打。但是如果你想这样做,你必须去解析这些值。

检查developer.android.com此链接:http://developer.android.com/training/basics/data-storage/databases.html

还要检查这些链接数据库教程:

  1. http://www.vogella.com/articles/AndroidSQLite/article.html
  2. http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/
+0

您能否确认 - DB只能保留与sharedpreference相同类型的变量吗? – jpgerb

+1

Android中的数据库是SQLite(而不是MySQL作为您的问题标签之一)。你可以检查支持的数据类型[这里](http://www.sqlite.org/datatype3.html)。但SQLite是[无类型](http://www.sqlite.org/datatypes.html)。 – BornToCode

+0

我已经更新了标签。 – jpgerb