Я новичок в программировании Android и хочу заполнить свою диаграмму p ie значениями из моей базы данных MS SQL.
Кто-нибудь, пожалуйста, помогите мне, я уже довольно долго застрял.
Значения, которые я хочу ввести в свою диаграмму P ie, - это «сумма_сходов» и «категория расходов» 'которые находятся под моей таблицей «Расходы».
Я получил это до сих пор, но он не работает
final Spinner budgetNameSpinner = (Spinner) getView().findViewById(R.id.BudgetNameSpinner);
String chosenBudget = budgetNameSpinner.getSelectedItem().toString();
String s = getActivity().getIntent().getExtras().getString("UserLoginDetails");
if (DbConnectionClass.connection == null) {
new DbConnectionClass().connectDB();
}
if (DbConnectionClass.connection != null) {
Statement statement = null;
try {
statement = DbConnectionClass.connection.createStatement();
String query = "SELECT expenses_category, SUM(expenses_amount) AS TotalExpenses FROM EXPENSES_T LEFT JOIN USERLOGINDETAILS_T ON EXPENSES_T.username_id_fk = USERLOGINDETAILS_T.user_id LEFT JOIN BUDGET_T ON EXPENSES_T.budget_id_fk = BUDGET_T.budget_id WHERE USERLOGINDETAILS_T.user_name = '" + s + "' AND BUDGET_T.budget_name = '" + chosenBudget + "' GROUP BY expenses_category";
ResultSet rs = statement.executeQuery(query);
//ArrayList<PieEntry> data = new ArrayList<>();
List<PieEntry> pieEntries = new ArrayList<>();
int size = 0;
if (rs != null) {
rs.last();
size = rs.getRow();
}
for (int i = 0; i < size; i++) {
String ExpenseCategories = rs.getString("expenses_category");
Float ExpenseAmount = rs.getFloat("TotalExpenses");
Float eC[] = {ExpenseAmount};
String eA[] = {ExpenseCategories};
pieEntries.add(new PieEntry(eC[i], eA[i]));
}
PieDataSet dataSet = new PieDataSet(pieEntries, "Expenses");
PieData data = new PieData(dataSet);
//get chart
PieChart chart = (PieChart) getView().findViewById(R.id.piechart);
dataSet.setColors(ColorTemplate.COLORFUL_COLORS); //set color
chart.setData(data);
chart.animateY(1000); //animate pie chart
chart.invalidate();
} catch (Exception e) {
}
В приведенном выше коде я пытался изменить с простого код, который я получил с Youtube.