Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.example.events;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import com.db4o.Db4oEmbedded;
- import com.db4o.ObjectContainer;
- import com.db4o.ObjectSet;
- import android.app.ListActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.KeyEvent;
- import android.widget.ArrayAdapter;
- public class Events extends ListActivity {
- private final static String TAG = "EVENTS";
- private ObjectContainer db = null;
- private ArrayList<String> events = new ArrayList<String>();
- private ArrayAdapter<String> adapter;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- getEvents();
- adapter = new ArrayAdapter<String>(this,
- android.R.layout.simple_list_item_1, events);
- setListAdapter(adapter);
- addEvent("Hello, Android!");
- }
- @Override
- protected void onPause() {
- db().close();
- super.onPause();
- }
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- Log.d(TAG, "key down!");
- addEvent("key down!");
- return super.onKeyDown(keyCode, event);
- }
- private ObjectContainer db() {
- try {
- if (db == null) {
- db = Db4oEmbedded.openFile(dbPath());
- Log.d(TAG, "opened new database connection");
- }
- return db;
- } catch (Exception e) {
- Log.e(TAG, "unable to open database");
- return null;
- }
- }
- private String dbPath() {
- return this.getDir("data", 0) + "/" + "events.db4o";
- }
- private void addEvent(String string) {
- SimpleDateFormat sdf = new SimpleDateFormat();
- Event event = new Event("[" + sdf.format(new Date()) + "] " + string);
- db().store(event);
- db().commit();
- events.add(event.toString());
- adapter.notifyDataSetChanged();
- }
- private void getEvents() {
- ObjectSet<Event> result = db().queryByExample(new Event(null));
- events.clear();
- while (result.hasNext()) {
- String event = result.next().toString();
- events.add(event);
- }
- }
- }
Add Comment
Please, Sign In to add comment