· 7 years ago · Feb 20, 2019, 11:14 PM
1public class SearchActivity extends Activity implements OnClickListener,
2 OnItemClickListener {
3
4private EditText mHistoryNameEditText;
5private Button mInsertButton;
6private ListView mHistoryListView;
7
8private ListAdapter mHistoryListAdapter;
9
10private ArrayList<SearchHistoryDetails> searchArrayList;
11
12private ArrayList<SearchHistoryDetails> HistoryObjArrayList;
13
14@Override
15protected void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.activity_main);
18
19 mHistoryNameEditText = (EditText) findViewById(R.id.editText1);
20 mInsertButton = (Button) findViewById(R.id.button1);
21 mInsertButton.setOnClickListener(this);
22
23 mHistoryListView = (ListView) findViewById(R.id.names_lsitviews);
24 mHistoryListView.setOnItemClickListener(this);
25
26 searchArrayList = new ArrayList<SearchHistoryDetails>();
27
28 mHistoryListAdapter = new ArrayAdapter<String>(this,
29 android.R.layout.simple_list_item_1, populateList());
30
31 mHistoryListView.setAdapter(mHistoryListAdapter);
32
33 HistoryObjArrayList = new ArrayList<SearchHistoryDetails>();
34}
35
36@Override
37public void onClick(View v) {
38 if (v.getId() == R.id.button1) {
39 String providedUgraduateName = mHistoryNameEditText.getText()
40 .toString();
41
42 SearchHistoryDetails undergraduateDetailsPojoObj = new SearchHistoryDetails();
43 undergraduateDetailsPojoObj.setuGraduateName(providedUgraduateName);
44
45 HistoryObjArrayList.add(undergraduateDetailsPojoObj);
46
47 insertUndergraduate(undergraduateDetailsPojoObj);
48
49 finish();
50 }
51}
52
53public void insertUndergraduate(
54 SearchHistoryDetails paraUndergraduateDetailsPojoObj) {
55
56 AndroidOpenDbHelper androidOpenDbHelperObj = new AndroidOpenDbHelper(
57 this);
58
59 SQLiteDatabase sqliteDatabase = androidOpenDbHelperObj
60 .getWritableDatabase();
61
62 ContentValues contentValues = new ContentValues();
63
64 contentValues.put(AndroidOpenDbHelper.COLUMN_NAME_UNDERGRADUATE_NAME,
65 paraUndergraduateDetailsPojoObj.getuGraduateName());
66 long affectedColumnId = sqliteDatabase.insert(
67 AndroidOpenDbHelper.TABLE_NAME_GPA, null, contentValues);
68
69 sqliteDatabase.close();
70 Toast.makeText(this,
71 "Values inserted column ID is :" + affectedColumnId,
72 Toast.LENGTH_SHORT).show();
73
74}
75
76public List<String> populateList() {
77
78 List<String> uGraduateNamesList = new ArrayList<String>();
79
80 AndroidOpenDbHelper openHelperClass = new AndroidOpenDbHelper(this);
81
82 SQLiteDatabase sqliteDatabase = openHelperClass.getReadableDatabase();
83
84 Cursor cursor = sqliteDatabase.query(
85 AndroidOpenDbHelper.TABLE_NAME_GPA, null, null, null, null,
86 null, null);
87
88 startManagingCursor(cursor);
89
90 while (cursor.moveToNext()) {
91
92 String ugName = cursor
93 .getString(cursor
94 .getColumnIndex(AndroidOpenDbHelper.COLUMN_NAME_UNDERGRADUATE_NAME));
95
96 SearchHistoryDetails ugPojoClass = new SearchHistoryDetails();
97 ugPojoClass.setuGraduateName(ugName);
98
99 searchArrayList.add(ugPojoClass);
100
101 uGraduateNamesList.add(ugName);
102 }
103
104 sqliteDatabase.close();
105
106 return uGraduateNamesList;
107}
108
109@Override
110protected void onResume() {
111 super.onResume();
112 searchArrayList = new ArrayList<SearchHistoryDetails>();
113 mHistoryListAdapter = new ArrayAdapter<String>(this,
114 android.R.layout.simple_list_item_1, populateList());
115 mHistoryListView.setAdapter(mHistoryListAdapter);
116}
117
118@Override
119protected void onStart() {
120 super.onStart();
121 searchArrayList = new ArrayList<SearchHistoryDetails>();
122 mHistoryListAdapter = new ArrayAdapter<String>(this,
123 android.R.layout.simple_list_item_1, populateList());
124 mHistoryListView.setAdapter(mHistoryListAdapter);
125}
126
127@Override
128public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
129
130 Toast.makeText(getApplicationContext(), "Clicked on :" + arg2,
131 Toast.LENGTH_SHORT).show();
132
133 SearchHistoryDetails clickedObject = searchArrayList.get(arg2);
134
135 Bundle dataBundle = new Bundle();
136 dataBundle.putString("clickedUgraduateName",
137 clickedObject.getuGraduateName());
138}}
139
140public class AndroidOpenDbHelper extends SQLiteOpenHelper {
141
142public static final String DB_NAME = "allsearch_history_db";
143public static final int DB_VERSION = 1;
144
145public static final String TABLE_NAME_GPA = "search_table";
146public static final String COLUMN_NAME_UNDERGRADUATE_NAME = "undergraduate_name_column";
147
148public AndroidOpenDbHelper(Context context) {
149 super(context, DB_NAME, null, DB_VERSION);
150}
151
152@Override
153public void onCreate(SQLiteDatabase db) {
154
155 String sqlQueryToCreateUndergraduateDetailsTable = "create table if not exists "
156 + TABLE_NAME_GPA
157 + " ( "
158 + BaseColumns._ID
159 + " integer primary key autoincrement, "
160 + COLUMN_NAME_UNDERGRADUATE_NAME
161 + " text not null); ";
162
163 db.execSQL(sqlQueryToCreateUndergraduateDetailsTable);
164}
165
166@Override
167public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
168 if (oldVersion == 1 && newVersion == 2) {
169 // Upgrade the database
170 }
171}}
172
173Cursor cursor = sqliteDatabase.query(
174 AndroidOpenDbHelper.TABLE_NAME_GPA, null, null, null, null, null,
175 AndroidOpenDbHelper.COLUMN_NAME_UNDERGRADUATE_NAME + " DESC");
176
177Cursor cursor = sqliteDatabase.query(
178 AndroidOpenDbHelper.TABLE_NAME_GPA,
179 new String[] {AndroidOpenDbHelper.COLUMN_NAME_UNDERGRADUATE_NAME},
180 null, null, null, null,
181 AndroidOpenDbHelper.COLUMN_NAME_UNDERGRADUATE_NAME + " DESC");
182
183Cursor cursor = sqliteDatabase.query(
184 AndroidOpenDbHelper.TABLE_NAME_GPA, null, null, null, null, null,
185 BaseColumns._ID + " DESC");
186
187for(i=arraylist.size()-1;i>0;i--)
188{
189 adapter.add(arraylist.get(i));
190}
191
192adapter.notifyDataSetChanged()