Guest User

Untitled

a guest
Jul 17th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. package org.example.events;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.ArrayList;
  5. import java.util.Date;
  6.  
  7. import com.db4o.Db4oEmbedded;
  8. import com.db4o.ObjectContainer;
  9. import com.db4o.ObjectSet;
  10.  
  11. import android.app.ListActivity;
  12. import android.os.Bundle;
  13. import android.util.Log;
  14. import android.view.KeyEvent;
  15. import android.widget.ArrayAdapter;
  16.  
  17. public class Events extends ListActivity {
  18. private final static String TAG = "EVENTS";
  19.  
  20. private ObjectContainer db = null;
  21. private ArrayList<String> events = new ArrayList<String>();
  22. private ArrayAdapter<String> adapter;
  23.  
  24. @Override
  25. public void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.main);
  28. getEvents();
  29.  
  30. adapter = new ArrayAdapter<String>(this,
  31. android.R.layout.simple_list_item_1, events);
  32. setListAdapter(adapter);
  33.  
  34. addEvent("Hello, Android!");
  35. }
  36.  
  37. @Override
  38. protected void onPause() {
  39. db().close();
  40. super.onPause();
  41. }
  42.  
  43. @Override
  44. public boolean onKeyDown(int keyCode, KeyEvent event) {
  45. Log.d(TAG, "key down!");
  46. addEvent("key down!");
  47. return super.onKeyDown(keyCode, event);
  48. }
  49.  
  50. private ObjectContainer db() {
  51. try {
  52. if (db == null) {
  53. db = Db4oEmbedded.openFile(dbPath());
  54. Log.d(TAG, "opened new database connection");
  55. }
  56.  
  57. return db;
  58. } catch (Exception e) {
  59. Log.e(TAG, "unable to open database");
  60. return null;
  61. }
  62. }
  63.  
  64. private String dbPath() {
  65. return this.getDir("data", 0) + "/" + "events.db4o";
  66. }
  67.  
  68. private void addEvent(String string) {
  69. SimpleDateFormat sdf = new SimpleDateFormat();
  70. Event event = new Event("[" + sdf.format(new Date()) + "] " + string);
  71.  
  72. db().store(event);
  73. db().commit();
  74.  
  75. events.add(event.toString());
  76. adapter.notifyDataSetChanged();
  77. }
  78.  
  79. private void getEvents() {
  80. ObjectSet<Event> result = db().queryByExample(new Event(null));
  81. events.clear();
  82.  
  83. while (result.hasNext()) {
  84. String event = result.next().toString();
  85. events.add(event);
  86. }
  87.  
  88. }
  89. }
Add Comment
Please, Sign In to add comment