Back to project page sodf.
The source code is released under:
Copyright (c) 2013 Lorenz Lehmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Sof...
If you think the Android project sodf listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package lal.apps.smartfoodenvironment.activities; /*from ww w.jav a 2s . c o m*/ import lal.apps.smartfoodenvironment.R; import lal.apps.smartfoodenvironment.model.MicrowaveVocabulary; import lal.sodf.framework.SodfCallback; import lal.sodf.framework.SodfFramework; import lal.sodf.framework.SodfWrapper; import lal.sodf.framework.ontology.KeyNode; import lal.sodf.framework.ontology.SodfVocabulary; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.nfc.NfcAdapter; import android.nfc.Tag; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.view.Menu; import android.widget.TextView; import android.widget.Toast; public class MicrowaveActivity extends Activity implements SodfCallback{ private Handler handler; private PendingIntent pendingIntent; private TextView time; private TextView heat; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_microwave); handler = new Handler(); pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0); time = (TextView) findViewById(R.id.microwave_time); heat = (TextView) findViewById(R.id.microwave_temp); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_start, menu); return true; } /* (non-Javadoc) * @see lal.sodf.framework.SodfCallback#readComplete(lal.sodf.framework.SodfWrapper) */ @Override public void readComplete(final SodfWrapper data) { handler.post(new Runnable(){ @Override public void run() { //check if there was an error if (data.exception != null){ Log.e("SFE", "Error on read: "+data.exception); return; } //check if the microwave function is there KeyNode microwaveFunction = data.data.getFunctionsSubtree().getKeyNodeChild(MicrowaveVocabulary.MICROWVAE_PREPARE); if (microwaveFunction == null){ Toast toast = Toast.makeText(getBaseContext(), "This item cannot be prepared in a microwave", Toast.LENGTH_LONG); toast.show(); time.setText(R.string.microwave_timeDefault); heat.setText(R.string.microwave_tempDefault); return; } //get the interactions for the function values KeyNode interactions = microwaveFunction.getKeyNodeChild(SodfVocabulary.SODF_INTERACTION); time.setText(interactions.getKeyValueNodeChild(MicrowaveVocabulary.MICROWAVE_DURATION).getFirstValue()); heat.setText(interactions.getKeyValueNodeChild(MicrowaveVocabulary.MICROWAVE_HEAT).getFirstValue()); } }); } /* (non-Javadoc) * @see lal.sodf.framework.SodfCallback#writeComplete(int) */ @Override public void writeComplete(int resultCode) { //no writing done here } /* (non-Javadoc) * @see android.app.Activity#onNewIntent(android.content.Intent) */ @Override protected void onNewIntent(Intent intent) { Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); //ensure that a tag was tapped and the user wants to write data if (tag != null){ SodfFramework.readData(tag, this); } } /* (non-Javadoc) * @see android.app.Activity#onResume() */ @Override protected void onResume() { super.onResume(); //register to get all NFC tags NfcAdapter.getDefaultAdapter(this).enableForegroundDispatch(this, pendingIntent, null, null); } /* (non-Javadoc) * @see android.app.Activity#onPause() */ @Override protected void onPause() { //has to be disabled because the app is not in foreground anymore NfcAdapter.getDefaultAdapter(this).disableForegroundDispatch(this); super.onPause(); } }