Java tutorial
/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.scigames.slidereview; import org.json.JSONException; import org.json.JSONObject; import com.scigames.serverutils.DownloadProfilePhoto; import com.scigames.serverutils.SciGamesHttpPoster; import com.scigames.serverutils.SciGamesListener; import com.scigames.slidereview.R; import com.scigames.slidereview.LoginActivity; import com.scigames.slidereview.MenuActivity; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.content.res.Resources; import android.graphics.Typeface; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class MenuActivity extends Activity implements SciGamesListener { private String TAG = "MenuActivity"; private String baseDbURL = "http://db.scigam.es"; private boolean debug = false; private String firstNameIn = "FNAME"; private String lastNameIn = "LNAME"; private String massIn = "MASS"; private String studentIdIn = "STUDENTID"; private String visitIdIn = "VISITID"; private String rfidIn = "RFID"; private String slideLevelIn = "SLIDELEVEL"; private String photoUrl = "none"; AlertDialog infoDialog; TextView greets; TextView fname; TextView lname; TextView schoolname; TextView teachername; TextView mpass; TextView classid; TextView classname; Typeface Museo500Regular; Typeface Museo700Regular; Typeface ExistenceLightOtf; Button reviewBtn; DownloadProfilePhoto photoTask = new DownloadProfilePhoto(MenuActivity.this, "sUrl"); SciGamesHttpPoster task = new SciGamesHttpPoster(MenuActivity.this, baseDbURL + "/pull/objective_images.php"); AlertDialog alertDialog; public MenuActivity() { } /** Called with the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); Log.d(TAG, "super.OnCreate"); Intent i = getIntent(); Log.d(TAG, "getIntent"); //if(!debug){ firstNameIn = i.getStringExtra("fName"); lastNameIn = i.getStringExtra("lName"); ; studentIdIn = i.getStringExtra("studentId"); visitIdIn = i.getStringExtra("visitId"); rfidIn = i.getStringExtra("rfid"); photoUrl = i.getStringExtra("photo"); photoUrl = baseDbURL + "/" + photoUrl; slideLevelIn = i.getStringExtra("slideLevel"); massIn = i.getStringExtra("mass"); Log.d(TAG, "slideLevelIn: " + slideLevelIn); Log.d(TAG, "...getStringExtra"); //} // Inflate our UI from its XML layout description. setContentView(R.layout.menu_page); Log.d(TAG, "...setContentView"); ExistenceLightOtf = Typeface.createFromAsset(getAssets(), "fonts/Existence-Light.ttf"); //Typeface Museo300Regular = Typeface.createFromAsset(getAssets(),"fonts/Museo300-Regular.otf"); Museo500Regular = Typeface.createFromAsset(getAssets(), "fonts/Museo500-Regular.otf"); Museo700Regular = Typeface.createFromAsset(getAssets(), "fonts/Museo700-Regular.otf"); displayProfile(); } @Override protected void onNewIntent(Intent i) { //for the 2nd, 3rd, 4th... time we arrive at Menu Activity. Log.d(TAG, "onNewIntent"); rfidIn = i.getStringExtra("rfid"); studentIdIn = i.getStringExtra("studentId"); slideLevelIn = i.getStringExtra("slideLevel"); massIn = i.getStringExtra("mass"); firstNameIn = i.getStringExtra("fName"); lastNameIn = i.getStringExtra("lName"); ; visitIdIn = i.getStringExtra("visitId"); photoUrl = i.getStringExtra("photo"); photoUrl = baseDbURL + "/" + photoUrl; Log.d(TAG, "Menu Activity INs: "); Log.d(TAG, rfidIn + studentIdIn + slideLevelIn + massIn); displayProfile(); } @Override protected void onResume() { super.onResume(); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); Log.d(TAG, "...super.onResume()"); } private void displayProfile() { setContentView(R.layout.menu_page); Log.d(TAG, "...setContentView"); //display name and profile info Resources res = getResources(); greets = (TextView) findViewById(R.id.student_name); greets.setText(String.format(res.getString(R.string.profile_name), firstNameIn, lastNameIn)); setTextViewFont(Museo700Regular, greets); Log.d(TAG, "...Profile Info"); reviewBtn = (Button) findViewById(R.id.btn_review); reviewBtn.setOnClickListener(mReview); setButtonFont(ExistenceLightOtf, reviewBtn); infoDialog = new AlertDialog.Builder(MenuActivity.this).create(); infoDialog.setTitle("Debug Info"); infoDialog.setButton(RESULT_OK, "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Write your code here to execute after dialog closed } }); if (debug) { // infoDialog.setTitle("studentId"); // infoDialog.setMessage(studentIdIn); // infoDialog.show(); } task.setOnResultsListener(this); task.cancel(true); task = new SciGamesHttpPoster(MenuActivity.this, baseDbURL + "/pull/return_profile.php"); task.setOnResultsListener(MenuActivity.this); //download photo ImageView profilePhoto = (ImageView) findViewById(R.id.profile_image); profilePhoto.setTag(photoUrl); profilePhoto.setScaleX(1.4f); profilePhoto.setScaleY(1.4f); profilePhoto.setX(120f); profilePhoto.setY(123f); photoTask.cancel(true); photoTask = new DownloadProfilePhoto(MenuActivity.this, photoUrl); //AsyncTask<ImageView, Void, Bitmap> pPhoto = photoTask.execute(profilePhoto); } OnClickListener mReview = new OnClickListener() { public void onClick(View v) { Log.d(TAG, "mReview.onClick"); Intent i = new Intent(MenuActivity.this, ReviewActivity.class); Log.d(TAG, "new LoginActivity Intent"); i.putExtra("rfid", rfidIn); i.putExtra("page", "slideReview"); Log.d(TAG, "startActivity..."); MenuActivity.this.startActivity(i); Log.d(TAG, "...startActivity"); } }; public void failedQuery(String failureReason) { Log.d(TAG, "failedQuery in Profile Activity"); } @Override public void onResultsSucceeded(String[] student, String[] slide_session, String[] slide_level, String[] objective_images, String[] fabric, String[] result_images, String[] score_images, String attempts, boolean no_session, JSONObject serverResponseJSON) throws JSONException { massIn = student[7]; //update all text fields Resources res = getResources(); //TextView greets = (TextView)findViewById(R.id.greeting); setTextViewFont(Museo500Regular, greets); greets.setText(String.format(res.getString(R.string.profile_name), student[2], student[3])); setTextViewFont(Museo500Regular, greets); //setTextViewFont(Museo500Regular, teachername, classid, mpass, classname); Log.d(TAG, "...Profile Info"); } //---- methods for setting fonts!! public static void setTextViewFont(Typeface tf, TextView... params) { for (TextView tv : params) { tv.setTypeface(tf); } } public static void setEditTextFont(Typeface tf, EditText... params) { for (EditText tv : params) { tv.setTypeface(tf); } } public static void setButtonFont(Typeface tf, Button... params) { for (Button tv : params) { tv.setTypeface(tf); } } @Override public void onBackPressed() { //do nothing getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); } }