· 6 years ago · Mar 28, 2019, 10:46 AM
1package pl.edu.pg.eti.msolab1;
2
3import android.database.Cursor;
4import android.database.sqlite.SQLiteDatabase;
5import android.os.AsyncTask;
6import android.renderscript.ScriptGroup;
7import android.support.v7.app.AppCompatActivity;
8import android.os.Bundle;
9import android.text.Editable;
10import android.view.View;
11import android.widget.ArrayAdapter;
12import android.widget.Button;
13import android.widget.EditText;
14import android.widget.ListView;
15import android.widget.ProgressBar;
16import android.widget.TextView;
17
18import java.net.URL;
19import java.sql.Timestamp;
20import java.util.ArrayList;
21import java.util.List;
22
23public class MainActivity extends AppCompatActivity {
24
25 @Override
26 protected void onCreate(Bundle savedInstanceState) {
27 super.onCreate(savedInstanceState);
28
29 SQLiteDatabase database = openOrCreateDatabase("lab3", MODE_PRIVATE, null);
30 Timestamp timestamp = new Timestamp(System.currentTimeMillis());
31
32 database.execSQL(
33 "CREATE TABLE IF NOT EXISTS STRINGS (someString VARCHAR, timestamp TIMESTAMP);"
34 + "INSERT INTO STRINGS (someString, timestamp) VALUES ('random string'," + timestamp + " );"
35 );
36 ListView listView = findViewById(R.id.listView);
37 setContentView(R.layout.activity_main);
38 Button addButton = findViewById(R.id.addButton);
39 EditText input = findViewById(R.id.editText);
40 addButton.setOnClickListener(new AddClickHandler(this, input, database, listView));
41// Button stopButton = findViewById(R.id.stopButton);
42// stopButton.setOnClickListener(new StopClickHandler(this, progressBar, task));
43 }
44}
45
46//class ClickHandler implements android.view.View.OnClickListener{
47// private final MainActivity parentActivity;
48// public TextView actionLabel;
49// public ProgressBar progressBar;
50// public DownloadFilesTask task;
51//
52// public ClickHandler(MainActivity mainActivity, ProgressBar progressBar, DownloadFilesTask task){
53// this.task = task;
54// this.progressBar = progressBar;
55// this.parentActivity = mainActivity;
56// this.actionLabel = mainActivity.findViewById(R.id.controlLabel);
57// }
58//
59// @Override
60// public void onClick(View view){}
61//}
62
63class AddClickHandler implements android.view.View.OnClickListener{
64 SQLiteDatabase database;
65 EditText input;
66 ListView listView;
67
68 public AddClickHandler(MainActivity mainActivity, EditText input, SQLiteDatabase database, ListView listView){
69 this.input = input;
70 this.database = database;
71 this.listView = listView;
72 }
73
74 @Override
75 public void onClick(View view){
76 Timestamp timestamp = new Timestamp(System.currentTimeMillis());
77 Editable newRecordString = this.input.getText();
78 this.database.execSQL(
79 "CREATE TABLE IF NOT EXISTS STRINGS (someString VARCHAR, timestamp TIMESTAMP);"
80 + "INSERT INTO STRINGS (someString, timestamp) VALUES ('" + newRecordString.toString() + "'," + timestamp + " );"
81 );
82 Cursor c = database.rawQuery("SELECT * FROM STRINGS", null);
83
84
85 // Instanciating an array list (you don't need to do this,
86 // you already have yours).
87 List<String> list = new ArrayList<String>();
88
89 int i =0;
90 for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
91 // The Cursor is now set to the right position
92 list.add(c.getString(i));
93 i++;
94 }
95 // This is the array adapter, it takes the context of the activity as a
96 // first parameter, the type of list view as a second parameter and your
97 // array as a third parameter.
98 ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
99 this,
100 android.R.layout.simple_list_item_1,
101 list
102 );
103
104 lv.setAdapter(arrayAdapter);
105
106 // this.actionLabel.setText(R.string.runningString);
107 }
108}
109
110class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
111
112 public DownloadFilesTask(ProgressBar progressBar){
113 super();
114 }
115 protected Long doInBackground(URL... urls) {
116 long totalSize = 0;
117 for (int i = 0; i < 10; i++) {
118 totalSize++;
119 try {
120 Thread.sleep(1000);
121 } catch (InterruptedException e) {
122 e.printStackTrace();
123 }
124 publishProgress(i);
125 // Escape early if cancel() is called
126 if (isCancelled()) break;
127 }
128 return totalSize;
129 }
130
131 protected void onPostExecute(Long result) {
132
133 }
134}