Android Open Source - LitePal Save Sample Activity






From Project

Back to project page LitePal.

License

The source code is released under:

Apache License

If you think the Android project LitePal listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C)  Tony Green, Litepal Framework Open Source Project
 */*from  www.  j ava 2  s.c  o m*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.litepal.litepalsample.activity;

import java.util.ArrayList;
import java.util.List;

import org.litepal.litepalsample.R;
import org.litepal.litepalsample.adapter.DataArrayAdapter;
import org.litepal.litepalsample.model.Singer;
import org.litepal.tablemanager.Connector;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.Toast;

public class SaveSampleActivity extends Activity implements OnClickListener {

  private EditText mSingerNameEdit;

  private EditText mSingerAgeEdit;

  private EditText mSingerGenderEdit;

  private ProgressBar mProgressBar;

  private Button mSaveBtn;

  private ListView mDataListView;

  private DataArrayAdapter mAdapter;

  private List<List<String>> mList = new ArrayList<List<String>>();

  public static void actionStart(Context context) {
    Intent intent = new Intent(context, SaveSampleActivity.class);
    context.startActivity(intent);
  }

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.save_sample_layout);
    mProgressBar = (ProgressBar) findViewById(R.id.progress_bar);
    mSingerNameEdit = (EditText) findViewById(R.id.singer_name_edit);
    mSingerAgeEdit = (EditText) findViewById(R.id.singer_age_edit);
    mSingerGenderEdit = (EditText) findViewById(R.id.singer_gender_edit);
    mSaveBtn = (Button) findViewById(R.id.save_btn);
    mDataListView = (ListView) findViewById(R.id.data_list_view);
    mSaveBtn.setOnClickListener(this);
    mAdapter = new DataArrayAdapter(this, 0, mList);
    mDataListView.setAdapter(mAdapter);
    populateDataFromDB();
  }

  @Override
  public void onClick(View v) {
    switch (v.getId()) {
    case R.id.save_btn:
      try {
        Singer singer = new Singer();
        singer.setName(mSingerNameEdit.getText().toString());
        singer.setAge(Integer.parseInt(mSingerAgeEdit.getText().toString()));
        singer.setMale(Boolean.parseBoolean(mSingerGenderEdit.getText().toString()));
        singer.save();
        refreshListView(singer.getId(), singer.getName(), singer.getAge(),
            singer.isMale() ? 1 : 0);
      } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(this, getString(R.string.error_param_is_not_valid),
            Toast.LENGTH_SHORT).show();
      }
      break;
    default:
      break;
    }
  }

  private void populateDataFromDB() {
    mProgressBar.setVisibility(View.VISIBLE);
    new Thread(new Runnable() {
      @Override
      public void run() {
        mList.clear();
        List<String> columnList = new ArrayList<String>();
        columnList.add("id");
        columnList.add("name");
        columnList.add("age");
        columnList.add("ismale");
        mList.add(columnList);
        Cursor cursor = null;
        try {
          cursor = Connector.getDatabase().rawQuery("select * from singer order by id",
              null);
          if (cursor.moveToFirst()) {
            do {
              long id = cursor.getLong(cursor.getColumnIndex("id"));
              String name = cursor.getString(cursor.getColumnIndex("name"));
              int age = cursor.getInt(cursor.getColumnIndex("age"));
              int isMale = cursor.getInt(cursor.getColumnIndex("ismale"));
              List<String> stringList = new ArrayList<String>();
              stringList.add(String.valueOf(id));
              stringList.add(name);
              stringList.add(String.valueOf(age));
              stringList.add(String.valueOf(isMale));
              mList.add(stringList);
            } while (cursor.moveToNext());
          }
        } catch (Exception e) {
          e.printStackTrace();
        } finally {
          if (cursor != null) {
            cursor.close();
          }
          runOnUiThread(new Runnable() {
            @Override
            public void run() {
              mProgressBar.setVisibility(View.GONE);
              mAdapter.notifyDataSetChanged();
            }
          });
        }
      }
    }).start();
  }

  private void refreshListView(long id, String name, int age, int isMale) {
    List<String> stringList = new ArrayList<String>();
    stringList.add(String.valueOf(id));
    stringList.add(name);
    stringList.add(String.valueOf(age));
    stringList.add(String.valueOf(isMale));
    mList.add(stringList);
    mAdapter.notifyDataSetChanged();
    mDataListView.setSelection(mList.size());
  }

}




Java Source Code List

org.litepal.LitePalApplication.java
org.litepal.LitePalBase.java
org.litepal.crud.AssociationsAnalyzer.java
org.litepal.crud.ClusterQuery.java
org.litepal.crud.DataHandler.java
org.litepal.crud.DataSupport.java
org.litepal.crud.DeleteHandler.java
org.litepal.crud.DynamicExecutor.java
org.litepal.crud.Many2ManyAnalyzer.java
org.litepal.crud.Many2OneAnalyzer.java
org.litepal.crud.One2OneAnalyzer.java
org.litepal.crud.QueryHandler.java
org.litepal.crud.SaveHandler.java
org.litepal.crud.UpdateHandler.java
org.litepal.crud.model.AssociationsInfo.java
org.litepal.exceptions.DataSupportException.java
org.litepal.exceptions.DatabaseGenerateException.java
org.litepal.exceptions.GlobalException.java
org.litepal.exceptions.InvalidAttributesException.java
org.litepal.exceptions.ParseConfigurationFileException.java
org.litepal.litepalsample.activity.AggregateActivity.java
org.litepal.litepalsample.activity.AverageSampleActivity.java
org.litepal.litepalsample.activity.CRUDActivity.java
org.litepal.litepalsample.activity.CountSampleActivity.java
org.litepal.litepalsample.activity.DeleteSampleActivity.java
org.litepal.litepalsample.activity.MainActivity.java
org.litepal.litepalsample.activity.ManageTablesActivity.java
org.litepal.litepalsample.activity.MaxSampleActivity.java
org.litepal.litepalsample.activity.MinSampleActivity.java
org.litepal.litepalsample.activity.ModelListActivity.java
org.litepal.litepalsample.activity.ModelStructureActivity.java
org.litepal.litepalsample.activity.QuerySampleActivity.java
org.litepal.litepalsample.activity.SaveSampleActivity.java
org.litepal.litepalsample.activity.SumSampleActivity.java
org.litepal.litepalsample.activity.TableListActivity.java
org.litepal.litepalsample.activity.TableStructureActivity.java
org.litepal.litepalsample.activity.UpdateSampleActivity.java
org.litepal.litepalsample.adapter.DataArrayAdapter.java
org.litepal.litepalsample.adapter.StringArrayAdapter.java
org.litepal.litepalsample.model.Album.java
org.litepal.litepalsample.model.Singer.java
org.litepal.litepalsample.model.Song.java
org.litepal.litepalsample.util.Utility.java
org.litepal.model.Table_Schema.java
org.litepal.parser.LitePalAttr.java
org.litepal.parser.LitePalContentHandler.java
org.litepal.parser.LitePalParser.java
org.litepal.tablemanager.AssociationCreator.java
org.litepal.tablemanager.AssociationUpdater.java
org.litepal.tablemanager.Connector.java
org.litepal.tablemanager.Creator.java
org.litepal.tablemanager.Dropper.java
org.litepal.tablemanager.Generator.java
org.litepal.tablemanager.LitePalOpenHelper.java
org.litepal.tablemanager.Upgrader.java
org.litepal.tablemanager.model.AssociationsModel.java
org.litepal.tablemanager.model.TableModel.java
org.litepal.tablemanager.typechange.BooleanOrm.java
org.litepal.tablemanager.typechange.DateOrm.java
org.litepal.tablemanager.typechange.DecimalOrm.java
org.litepal.tablemanager.typechange.NumericOrm.java
org.litepal.tablemanager.typechange.OrmChange.java
org.litepal.tablemanager.typechange.TextOrm.java
org.litepal.util.BaseUtility.java
org.litepal.util.Const.java
org.litepal.util.DBUtility.java
org.litepal.util.LogUtil.java
org.litepal.util.SharedUtil.java