Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tuber.tuber;
- import android.annotation.TargetApi;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Build;
- import android.os.Bundle;
- import android.support.design.widget.FloatingActionButton;
- import android.support.design.widget.Snackbar;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.view.View;
- import android.widget.Button;
- import android.view.View;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.ListView;
- import java.util.ArrayList;
- import java.util.GregorianCalendar;
- import java.util.List;
- import android.widget.TextView;
- import android.widget.Toast;
- import android.animation.Animator;
- import android.animation.AnimatorListenerAdapter;
- import android.annotation.TargetApi;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.support.annotation.NonNull;
- import android.support.design.widget.Snackbar;
- import android.support.v7.app.AppCompatActivity;
- import android.app.LoaderManager.LoaderCallbacks;
- import android.util.Log;
- import android.widget.Toast;
- import android.content.CursorLoader;
- import android.content.Loader;
- import android.database.Cursor;
- import android.net.Uri;
- import android.os.AsyncTask;
- import com.android.volley.AuthFailureError;
- import com.android.volley.Cache;
- import com.android.volley.Request;
- import com.android.volley.RequestQueue;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.JsonArrayRequest;
- import com.android.volley.toolbox.JsonObjectRequest;
- import com.android.volley.toolbox.StringRequest;
- import com.android.volley.toolbox.Volley;
- import com.google.gson.JsonArray;
- import android.os.Build;
- import android.os.Bundle;
- import android.provider.ContactsContract;
- import android.text.TextUtils;
- import android.view.KeyEvent;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.inputmethod.EditorInfo;
- import android.widget.ArrayAdapter;
- import android.widget.AutoCompleteTextView;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- import java.util.ArrayList;
- import java.util.List;
- import android.*;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Set;
- public class MainActivity extends AppCompatActivity {
- private Button find_tutor_button;
- private String token;
- private String username;
- private List<Entry> entries = new ArrayList<Entry>();
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.content_main);
- Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
- setSupportActionBar(myToolbar);
- token = getIntent().getStringExtra("token");
- username = getIntent().getStringExtra("username");
- final ListView EntryListView = (ListView) findViewById(R.id.list);
- final EntryAdapter EntryAdapter = new EntryAdapter(this, R.layout.list_item);
- EntryListView.setAdapter(EntryAdapter);
- // Populate the list, through the adapter
- for(final Entry entry : getEntries()) {
- EntryAdapter.add(entry);
- }
- }
- private List<Entry> getEntries() {
- // Let's setup some test data.
- // Normally this would come from some asynchronous fetch into a data source
- // such as a sqlite database, or an HTTP request
- // Creates the Volley request queue
- RequestQueue requestQueue = Volley.newRequestQueue(this);
- // Creating the JsonArrayRequest class called arrayreq, passing the required parameters
- //JsonURL is the URL to be fetched from
- JsonArrayRequest arrayreq = new JsonArrayRequest("https://cs.utm.utoronto.ca/~csc301app0/index.php/listings",
- // The second parameter Listener overrides the method onResponse() and passes
- //JSONArray as a parameter
- new Response.Listener<JSONArray>() {
- // Takes the response from the JSON request
- @Override
- public void onResponse(JSONArray response) {
- try {
- // Retrieves first JSON object in outer array
- JSONObject listing = new JSONObject();
- for(int i = 0; i < response.length(); i++) {
- Log.i("JsonObject: ", response.getJSONObject(i).toString());
- listing = response.getJSONObject(i);
- entries.add(
- new Entry(
- (String) listing.get("firstname"),
- "5/5",
- (String)listing.get("location"),
- R.drawable.arjun
- )
- );
- }
- }
- // Try and catch are included to handle any errors due to JSON
- catch (JSONException e) {
- // If an error occurs, this prints the error to the log
- e.printStackTrace();
- }
- }
- },
- // The final parameter overrides the method onErrorResponse() and passes VolleyError
- //as a parameter
- new Response.ErrorListener() {
- @Override
- // Handles errors that occur due to Volley
- public void onErrorResponse(VolleyError error) {
- Log.e("Volley", "Error");
- }
- }
- );
- requestQueue.add(arrayreq);
- return entries;
- }
- /*
- query = something like "CSC3**" or "CSC384" or "CSC***".
- Should change the list contents to only tutors who are down to tutor that subject
- - to change, need to clear
- - then (like in getEntries) create entries
- - then add all these entries
- */
- public void doSearch(String query){
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.profile:
- // User chose the "Settings" item, show the app settings UI...
- Intent intent = new Intent(this, Tutor_Main_Page.class);
- intent.putExtra("token", token);
- intent.putExtra("username", username);
- this.startActivity(intent);
- return true;
- case R.id.signout:
- // User chose the "Favorite" action, mark the current item
- // as a favorite...
- this.startActivity(new Intent(this,LoginActivity.class));
- return true;
- case R.id.changepass:
- // User chose the "Favorite" action, mark the current item
- // as a favorite...
- this.startActivity(new Intent(this,ChangePassword.class));
- return true;
- default:
- // If we got here, the user's action was not recognized.
- // Invoke the superclass to handle it.
- return super.onOptionsItemSelected(item);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement