Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.khuatduytan.quanlytaichinh;
- import android.content.ContentValues;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- /**
- * Created by Khuat Duy Tan on 1/17/2016.
- */
- public class DatabaseHelper extends SQLiteOpenHelper {
- private static String DATABASE_NAME = "QuanLyTaiChinh";
- private static String TABLE_USER = "User";
- private static String TABLE_FAMILY_MEMBER = "Family_Member";
- private static String TABLE_TYPE_NOTE = "Type_Note";
- private static String TABLE_NOTE = "Note";
- //Common column name
- public static String KEY_ID = "_id";
- //User table
- private static String KEY_USERNAME = "Username";
- private static String KEY_PASSWORD = "Password";
- private static String KEY_QUESTION = "Question";
- private static String KEY_ANSWER = "Answer";
- private static String KEY_TOTAL_MONEY ="Total_Money";
- private static String KEY_INSERT_FAMILYMEMBER_STATUS = "InsertMember_Status";
- private static String KEY_INSERT_TYPENOTES_STATUS = "Insert_TypeNotes_Status";
- private static String KEY_INSERT_TOTALMONEY_STATUS = "Insert_Money_Status";
- //Family Member table
- public static String KEY_NAME = "Name";
- public static String KEY_AGE = "Age";
- public static String KEY_ID_FAMILY = "Id_Family";
- //Type Notes table
- private static String KEY_NAME_TYPE_NOTES = "Type_Note";
- //Note table
- private static String KEY_CONTENT_NOTE = "Content";
- private static String KEY_DATE_NOTE = "Date_Created";
- private static String KEY_ID_MEMBER_IN_NOTE = "ID_Family_Member";
- private static String KEY_ID_TYPE_NOTE = "ID_Type_Note";
- private static String KEY_MONEY = "Money";
- //User table create statement
- private static String CREATE_USER_TABLE = "CREATE TABLE " + TABLE_USER + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_USERNAME +
- " TEXT, " + KEY_PASSWORD + " TEXT, " + KEY_QUESTION + " TEXT, " + KEY_ANSWER + " TEXT, " + KEY_TOTAL_MONEY + " TEXT, " + KEY_INSERT_FAMILYMEMBER_STATUS +
- " TEXT, " + KEY_INSERT_TYPENOTES_STATUS + " TEXT, " + KEY_INSERT_TOTALMONEY_STATUS + " TEXT" + ")";
- //Family Member table create statement
- private static String CREATE_FAMILY_MEMBER_TABLE = "CREATE TABLE " + TABLE_FAMILY_MEMBER + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_ID_FAMILY +
- " TEXT, " + KEY_NAME + " TEXT, " + KEY_AGE + " TEXT" + ")";
- //Type Note table create statement
- private static String CREATE_TYPE_NOTE_TABLE = "CREATE TABLE " + TABLE_TYPE_NOTE + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NAME_TYPE_NOTES + " TEXT" + ")";
- //Note table create statement
- private static String CREATE_NOTE_TABLE = "CREATE TABLE " + TABLE_NOTE + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "+ KEY_CONTENT_NOTE + " TEXT, " + KEY_DATE_NOTE + " TEXT, " +
- KEY_ID_MEMBER_IN_NOTE + " TEXT, " + KEY_ID_TYPE_NOTE + " TEXT, " + KEY_MONEY + " TEXT" + ")";
- // private static String[] ALL_KEY_FAMILY_MEMBER_TABLE = new String[]{KEY_ID, KEY_ID_FAMILY, KEY_NAME, KEY_AGE};
- public DatabaseHelper(Context context) {
- super(context, DATABASE_NAME, null, 1);
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL(CREATE_USER_TABLE);
- db.execSQL(CREATE_FAMILY_MEMBER_TABLE);
- db.execSQL(CREATE_TYPE_NOTE_TABLE);
- db.execSQL(CREATE_NOTE_TABLE);
- }
- public Cursor getDataTableUser(){
- SQLiteDatabase db = this.getWritableDatabase();
- Cursor res = db.rawQuery("SELECT * FROM " + TABLE_USER, null);
- return res;
- }
- public Cursor getDataTableMemberFamily(){
- SQLiteDatabase db = this.getWritableDatabase();
- Cursor res = db.rawQuery("SELECT * FROM " + TABLE_FAMILY_MEMBER, null);
- return res;
- }
- public long insertUserTable(String username, String password, String question, String answer, String totalMoney, String insertMemberStatus, String insertTypeNoteStatus, String insertTotalMoneyStatus){
- SQLiteDatabase db = this.getWritableDatabase();
- ContentValues contentValues = new ContentValues();
- contentValues.put(KEY_USERNAME,username);
- contentValues.put(KEY_PASSWORD,password);
- contentValues.put(KEY_QUESTION,question);
- contentValues.put(KEY_ANSWER,answer);
- contentValues.put(KEY_TOTAL_MONEY, totalMoney);
- contentValues.put(KEY_INSERT_FAMILYMEMBER_STATUS, insertMemberStatus);
- contentValues.put(KEY_INSERT_TYPENOTES_STATUS, insertTypeNoteStatus);
- contentValues.put(KEY_INSERT_TOTALMONEY_STATUS, insertTotalMoneyStatus);
- long result = db.insert(TABLE_USER, null, contentValues);
- return result;
- }
- public long insertMemberFamilyTable(String idFamily, String name, String age){
- SQLiteDatabase db = this.getWritableDatabase();
- ContentValues contentValues = new ContentValues();
- contentValues.put(KEY_ID_FAMILY, idFamily);
- contentValues.put(KEY_NAME, name);
- contentValues.put(KEY_AGE, age);
- long result = db.insert(TABLE_FAMILY_MEMBER, null, contentValues);
- return result;
- }
- public long updateUserTable(long id, String username, String password, String question, String answer, String totalMoney, String insertMemberStatus, String insertTypeNoteStatus, String insertTotalMoneyStatus){
- SQLiteDatabase db = this.getWritableDatabase();
- ContentValues contentValues = new ContentValues();
- contentValues.put(KEY_USERNAME,username);
- contentValues.put(KEY_PASSWORD,password);
- contentValues.put(KEY_QUESTION,question);
- contentValues.put(KEY_ANSWER,answer);
- contentValues.put(KEY_TOTAL_MONEY, totalMoney);
- contentValues.put(KEY_INSERT_FAMILYMEMBER_STATUS, insertMemberStatus);
- contentValues.put(KEY_INSERT_TYPENOTES_STATUS, insertTypeNoteStatus);
- contentValues.put(KEY_INSERT_TOTALMONEY_STATUS, insertTotalMoneyStatus);
- long result = db.update(TABLE_USER, contentValues, KEY_ID + "=" + id, null);
- return result;
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- db.execSQL("DROP TABLE IF EXIST " + TABLE_USER);
- db.execSQL("DROP TABLE IF EXIST " + TABLE_FAMILY_MEMBER);
- db.execSQL("DROP TABLE IF EXIST " + TABLE_TYPE_NOTE);
- db.execSQL("DROP TABLE IF EXIST " + TABLE_NOTE);
- onCreate(db);
- }
- }
- package com.example.khuatduytan.quanlytaichinh;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.database.Cursor;
- import android.graphics.Color;
- import android.graphics.Typeface;
- 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.Button;
- import android.widget.LinearLayout;
- import android.widget.ListView;
- import android.widget.SimpleCursorAdapter;
- import android.widget.TableLayout;
- import android.widget.TableRow;
- import android.widget.TextView;
- import android.widget.TableRow.LayoutParams;
- import android.widget.Toast;
- public class InsertFamilyMember extends AppCompatActivity {
- Button btnResetInsertFamilyMember, btnSubmitInsertFamilyMember, btnCancelInsertFamilyMember, btnCompleteInsertFamilyMember;
- TextView editTextNameInsertFamilyMember, editTextAgeInsertFamilyMember;
- DatabaseHelper db;
- SimpleCursorAdapter dataAdapter;
- private static final int REQUEST_CODE = 10;
- Intent data;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_insert_family_member);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- getSupportActionBar().setTitle("Insert Family Member");
- btnSubmitInsertFamilyMember = (Button) findViewById(R.id.button_submitInsertFamilyMember);
- btnResetInsertFamilyMember = (Button) findViewById(R.id.button_resetInsertFamilyMember);
- btnCancelInsertFamilyMember = (Button) findViewById(R.id.button_cancelInsertFamilyMember);
- btnCompleteInsertFamilyMember = (Button) findViewById(R.id.button_completeInsertFamilyMember);
- editTextNameInsertFamilyMember = (TextView) findViewById(R.id.editText_nameInsertFamilyMember);
- editTextAgeInsertFamilyMember = (TextView) findViewById(R.id.editText_ageInsertFamilyMember);
- db = new DatabaseHelper(this);
- FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- }
- });
- Bundle extras = getIntent().getExtras();
- final String idUser = extras.getString("IdUser");
- addDataListView();
- addFamilyMember(idUser);
- completeFamilyMember();
- cancelFamilyMember();
- resetFamilyMember();
- }
- public void addDataListView(){
- Cursor cursor = db.getDataTableMemberFamily();
- String form[] = new String []{db.KEY_NAME, db.KEY_AGE};
- int to[] = new int[] {R.id.textView_itemNameInsertFamilyMember, R.id.textView_itemAgeInsertFamilyMember};
- dataAdapter = new SimpleCursorAdapter(this, R.layout.item_memberfamily, cursor, form, to, 0);
- ListView listViewMemberFamily = (ListView) findViewById(R.id.listView_FamilyMember);
- listViewMemberFamily.setAdapter(dataAdapter);
- }
- public void completeFamilyMember(){
- btnCompleteInsertFamilyMember.setOnClickListener(
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- confirmDialog();
- }
- }
- );
- }
- public void resetFamilyMember(){
- btnResetInsertFamilyMember.setOnClickListener(
- new View.OnClickListener(){
- @Override
- public void onClick(View v) {
- editTextNameInsertFamilyMember.setText("");
- editTextAgeInsertFamilyMember.setText("");
- }
- }
- );
- }
- public void cancelFamilyMember(){
- btnCancelInsertFamilyMember.setOnClickListener(
- new View.OnClickListener(){
- @Override
- public void onClick(View v) {
- doOpenLogin();
- }
- }
- );
- }
- public void addFamilyMember(final String idFamily){
- btnSubmitInsertFamilyMember.setOnClickListener(
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String name, age;
- int temp = 0;
- name = editTextNameInsertFamilyMember.getText().toString();
- age = editTextAgeInsertFamilyMember.getText().toString();
- Cursor res = db.getDataTableMemberFamily();
- while (res.moveToNext()) {
- if (res.getString(2).equals(name)) {
- temp = 1;
- }
- }
- if (temp == 1) {
- Toast.makeText(InsertFamilyMember.this, "This member is available", Toast.LENGTH_LONG).show();
- editTextNameInsertFamilyMember.setText("");
- editTextAgeInsertFamilyMember.setText("");
- } else {
- long isInserted = db.insertMemberFamilyTable(idFamily, name, age);
- if (isInserted == -1) {
- Toast.makeText(InsertFamilyMember.this, "Insert Unsuccessful", Toast.LENGTH_LONG).show();
- } else {
- Toast.makeText(InsertFamilyMember.this, "Insert Successful", Toast.LENGTH_LONG).show();
- }
- }
- addDataListView();
- }
- }
- );
- }
- private void confirmDialog() {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder
- .setMessage("Are you sure?")
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- Cursor res = db.getDataTableMemberFamily();
- Cursor res1 = db.getDataTableUser();
- Bundle extras = getIntent().getExtras();
- String idFamily = extras.getString("IdUser");
- long id_User = 0;
- String idUserSend = null;
- String username = null;
- String password = null;
- String question = null;
- String answer = null;
- String totalMoney = null;
- String insertMemberStatus = null;
- String insertTypeNoteStatus = null;
- String insertTotalMoneyStatus = null;
- while (res1.moveToNext()){
- String idUser = res1.getString(0);
- if(idUser.equals(idFamily)){
- id_User = Long.parseLong(idUser);
- username = res1.getString(1);
- password = res1.getString(2);
- question = res1.getString(3);
- answer = res1.getString(4);
- totalMoney = res1.getString(5);
- insertMemberStatus = "Complete";
- insertTypeNoteStatus = res1.getString(7);
- insertTotalMoneyStatus = res1.getString(8);
- idUserSend = idUser;
- break;
- }
- }
- long isUpdated = db.updateUserTable(id_User, username, password, question, answer, totalMoney, insertMemberStatus, insertTypeNoteStatus, insertTotalMoneyStatus);
- if (isUpdated == -1) {
- Toast.makeText(InsertFamilyMember.this, "Update Unsuccessful", Toast.LENGTH_LONG).show();
- } else {
- Toast.makeText(InsertFamilyMember.this, "Update Successful", Toast.LENGTH_LONG).show();
- }
- // Bundle bundle = data.getExtras();
- // User user = bundle.getParcelable("User");
- doOpenInsertTotalMoney(idUserSend);
- }
- })
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- })
- .show();
- }
- public void doOpenLogin(){
- Intent intent = new Intent(this, MainActivity.class);
- startActivity(intent);
- }
- public void doOpenInsertTotalMoney(String id){
- Intent intent = new Intent(this, InsertTotalMoney.class);
- intent.putExtra("idUser", id);
- startActivityForResult(intent, REQUEST_CODE);
- // Bundle b = new Bundle();
- // b.putParcelable("User", user);
- // intent.putExtras(b);
- // startActivityForResult(intent, REQUEST_CODE);
- }
- }
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.database.Cursor;
- import android.os.Bundle;
- import android.provider.ContactsContract;
- 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.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- public class InsertTotalMoney extends AppCompatActivity {
- Button btnSubmitInsertTotalMoney, btnCancelInsertTotalMoney;
- EditText editTextInsertTotalMoney;
- DatabaseHelper db;
- private static final int REQUEST_CODE = 10;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_insert_total_money);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- }
- });
- btnSubmitInsertTotalMoney = (Button) findViewById(R.id.btn_submitInsertTotalMoney);
- btnCancelInsertTotalMoney = (Button) findViewById(R.id.btn_cancelInsertTotalMoney);
- editTextInsertTotalMoney = (EditText) findViewById(R.id.editText_insertTotalMoney);
- doOpenInsertFamilyMember();
- addTotalMoney();
- }
- public void doOpenInsertFamilyMember(){
- btnCancelInsertTotalMoney.setOnClickListener(
- new View.OnClickListener(){
- @Override
- public void onClick(View v) {
- openInsertFamilyMember();
- }
- }
- );
- }
- public void addTotalMoney(){
- btnSubmitInsertTotalMoney.setOnClickListener(
- new View.OnClickListener(){
- @Override
- public void onClick(View v) {
- confirmDialog();
- }
- }
- );
- }
- private void confirmDialog() {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder
- .setMessage("Are you sure?")
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- long id_User = 0;
- String idUserSend = null;
- String username = null;
- String password = null;
- String question = null;
- String answer = null;
- String totalMoney = null;
- String insertMemberStatus = null;
- String insertTypeNoteStatus = null;
- String insertTotalMoneyStatus = null;
- Cursor res = db.getDataTableUser();
- Bundle extras = getIntent().getExtras();
- String idUser = extras.getString("idUser");
- while (res.moveToNext()){
- if(idUser.equals(res.getString(0))){
- id_User = Long.parseLong(idUser);
- username = res.getString(1);
- password = res.getString(2);
- question = res.getString(3);
- answer = res.getString(4);
- totalMoney = editTextInsertTotalMoney.getText().toString();
- insertMemberStatus = res.getString(6);
- insertTypeNoteStatus = res.getString(7);
- insertTotalMoneyStatus = "Complete";
- idUserSend = idUser;
- break;
- }
- }
- long isUpdated = db.updateUserTable(id_User, username, password, question, answer, totalMoney, insertMemberStatus, insertTypeNoteStatus, insertTotalMoneyStatus);
- if (isUpdated == -1) {
- Toast.makeText(InsertTotalMoney.this, "Update Unsuccessful", Toast.LENGTH_LONG).show();
- } else {
- Toast.makeText(InsertTotalMoney.this, "Update Successful", Toast.LENGTH_LONG).show();
- }
- doOpenInsertTypeNotes(idUserSend);
- }
- })
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- })
- .show();
- }
- public void openInsertFamilyMember(){
- Intent intent = new Intent(this, InsertFamilyMember.class);
- startActivity(intent);
- }
- public void doOpenInsertTypeNotes(String s){
- Intent intent = new Intent(this, InsertTypeNotes.class);
- intent.putExtra("idUser", s);
- startActivityForResult(intent, REQUEST_CODE);
- }
- }
- 01-22 01:38:31.679 1331-1331/? E/AndroidRuntime: FATAL EXCEPTION: main
- Process: com.example.khuatduytan.quanlytaichinh, PID: 1331
- java.lang.NullPointerException
- at com.example.khuatduytan.quanlytaichinh.InsertTotalMoney$5.onClick(InsertTotalMoney.java:92)
- at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
- at android.os.Handler.dispatchMessage(Handler.java:102)
- at android.os.Looper.loop(Looper.java:136)
- at android.app.ActivityThread.main(ActivityThread.java:5001)
- at java.lang.reflect.Method.invokeNative(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:515)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
- at dalvik.system.NativeStart.main(Native Method)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement