Я написал код, который должен позволить мне получить все данные под столбцом в базе данных и сохранить их в массиве строк. Я преобразую строковый массив, содержащий информацию, в двойной массив. Все значения в двойном массиве добавляются вместе, чтобы получить одно общее значение, и это значение затем отображается в EditText. Однако всякий раз, когда я запускаю действие, появляется ошибка, указывающая java.lang.NullPointerException.java.lang.NullPointerException ошибка при использовании массивов
Это код для массивов:
DatabaseTotalEntries getAllData = new DatabaseTotalEntries(this); //Creates a new method in the database class
getAllData.open();
String[] RunningCosts = getAllData.getCost(); //Transfers all the data under the Total Running Costs column into a String Array
String[] RunningTimes = getAllData.getTime();
String[] EnergyUsages = getAllData.getEnergy();
getAllData.close();
double[] doubleRunningCosts = new double[RunningCosts.length];
for(int i=0; i<RunningCosts.length; i++)
{
doubleRunningCosts[i] = Double.parseDouble(RunningCosts[i]);
} // Converts the string array 'RunningCosts' into a double array
double TotalCost = 0;
for (int in = 0; in <doubleRunningCosts.length; in++)
TotalCost += doubleRunningCosts[in]; //Adds the values in the double string array together to get one total value
DecimalFormat decf = new DecimalFormat("##");
totalCostBox.setText(decf.format(TotalCost)); //Sets the variable 'TotalCost' to appear in the totalCostBox edit text
LogCat говорит инцидент произошел на линии 31, которая
double[] doubleRunningCosts = new double[RunningCosts.length];
Это метод GetData я использую в моей базе данных:
public String[] getCost() {
// TODO Auto-generated method stub
ArrayList<String> costarraylist = new ArrayList<String>();
String[] applianceCostcolumns = new String[] { KEY_TOTAL_COST };
Cursor costcursor = allDatabase.query(DATABASE_TABLE, applianceCostcolumns, null, null, null, null, null);
String result;
int iApplianceCost = costcursor.getColumnIndex(KEY_TOTAL_COST);
for (costcursor.moveToFirst(); !costcursor.isAfterLast(); costcursor
.moveToNext()) {
result = costcursor.getString(iApplianceCost);
costarraylist.add(result);
};
return null;
}
Кто-нибудь знает, в чем проблема? Спасибо
Я хотел бы предложить пошагового это в отладчике. –
Поскольку у вас есть линия, бросающая NullPointer, просто посмотрите на строку и попытайтесь понять, какая часть этой строки может предполагать существующий объект (большой намек - вызов метода на объекте предполагает, что объект есть и будет вызывать нулевой указатель, если это не так). –