我正在开发预算应用,我想让用户增加收入和费用,然后我想在概览活动中获得两组数据的总和。我在网上进行了研究,发现将这些值放在2个不同的表中是最好的方法。(如果您有任何其他想法,请告诉我。)
我如何将收入和费用放在不同的表格上,然后如何链接它们以获得总和?
我已经完成了将费用的数据保存在一个表中,但不知道如何为收入创建另一个表。请原谅我不知道最好的方法,因为我不熟悉使用SQLite。
add_expense.java
glVertexAttribPointer(texCoordIndex[1], 2, GL_FLOAT, GL_FALSE, sizeof(Vertex2), reinterpret_cast<void*>(offsetof(Vertex2, texCoord)));
.....
glEnableVertexAttribArray(texCoordIndex[1]);
创建add_income.java也是如此。
DatabaseHelper.java
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class add_expense extends AppCompatActivity {
DatabaseHelper myDbexpense;
EditText editAmountexpense, editDateexpense, editNotesexpense;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_expense);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_expense);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Add Expense");
toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_back));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
myDbexpense = new DatabaseHelper(this);
editAmountexpense = (EditText) findViewById(R.id.amount_expense);
editDateexpense = (EditText) findViewById(R.id.date_expense);
editNotesexpense = (EditText) findViewById(R.id.notes_expense);
AddData();
Spinner spinner;
ArrayAdapter<CharSequence> adapter;
spinner = (Spinner) findViewById(R.id.categorydropdown_expense);
adapter = ArrayAdapter.createFromResource(this, R.array.expensecategory_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getBaseContext(), parent.getItemAtPosition(position) + " selected as category", Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
}
public void AddData(){
FloatingActionButton fab2 = (FloatingActionButton) findViewById(R.id.fab_tick_expense);
fab2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
boolean isInserted;
if (myDbexpense.insertData(
editAmountexpense.getText().toString(),
editDateexpense.getText().toString(),
editNotesexpense.getText().toString())) {
isInserted = true;
Intent intent=new Intent(add_expense.this,MainActivity.class);
startActivity(intent);
}
else isInserted = false;
if(isInserted == true)
Toast.makeText(add_expense.this,"Data Inserted",Toast.LENGTH_LONG).show();
else
Toast.makeText(add_expense.this,"Data not Inserted",Toast.LENGTH_LONG).show();
}
});
}
}
答案 0 :(得分:0)
在onCreate
类的DatabaseHelper
方法中创建两个表,并相应地处理插入/读取。或者,如果您想使用单个表,请使用负值和收入的正值。
有很多方法可以解决这个问题。只需要设计并决定如何实现它。