diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0a67958..67c81e2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,7 @@
+
diff --git a/app/src/main/java/info/androidhive/speechtotext/MainActivity.java b/app/src/main/java/info/androidhive/speechtotext/MainActivity.java
index ed26b41..7958b3c 100644
--- a/app/src/main/java/info/androidhive/speechtotext/MainActivity.java
+++ b/app/src/main/java/info/androidhive/speechtotext/MainActivity.java
@@ -16,13 +16,16 @@ import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.preference.PreferenceManager;
import android.speech.RecognizerIntent;
import android.util.Log;
import android.view.Menu;
+import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
@@ -33,9 +36,10 @@ public class MainActivity extends Activity {
private TextView txtSpeechInput;
private ImageButton btnSpeak;
private final int REQ_CODE_SPEECH_INPUT = 100;
+ private final int REQ_PREF = 200;
public static final String TAG = MainActivity.class.getSimpleName();
- public static final String Url = "http://192.168.10.109:1234";
public static final int MAX_ANSWER_LEN = 500;
+ public static String Url;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -46,7 +50,7 @@ public class MainActivity extends Activity {
btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
// hide the action bar
- getActionBar().hide();
+ //getActionBar().hide();
btnSpeak.setOnClickListener(new View.OnClickListener() {
@@ -56,7 +60,9 @@ public class MainActivity extends Activity {
}
});
new SilentTalkToMeTask().execute("goodbye");
-
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
+ Url = preferences.getString(SettingsActivity.KEY_PREF_SERVER_URL, "");
+ Log.d(TAG, "Server url is " + Url);
}
/**
@@ -78,9 +84,6 @@ public class MainActivity extends Activity {
}
}
- /**
- * Receiving speech input
- * */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@@ -104,6 +107,11 @@ public class MainActivity extends Activity {
}
break;
}
+ case REQ_PREF:{
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
+ Url = preferences.getString(SettingsActivity.KEY_PREF_SERVER_URL, "");
+ }
+ break;
}
}
@@ -115,6 +123,16 @@ public class MainActivity extends Activity {
return true;
}
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.action_settings:
+ startActivityForResult(new Intent(getBaseContext(), SettingsActivity.class), REQ_PREF);
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
private class TalkToMeTask extends AsyncTask{
@Override
@@ -122,7 +140,7 @@ public class MainActivity extends Activity {
try {
return talkToServer(question[0]);
} catch (IOException e){
- Log.d(TAG, "Coincoin "+e);
+ Log.d(TAG, e.toString());
return "Cannot connect to server";
}
}
@@ -140,7 +158,7 @@ public class MainActivity extends Activity {
try {
return talkToServer(question[0]);
} catch (IOException e){
- Log.d(TAG, "Coincoin "+e);
+ Log.d(TAG, e.toString());
return "Cannot connect to server";
}
}
diff --git a/app/src/main/java/info/androidhive/speechtotext/SettingsActivity.java b/app/src/main/java/info/androidhive/speechtotext/SettingsActivity.java
new file mode 100644
index 0000000..cbcbb32
--- /dev/null
+++ b/app/src/main/java/info/androidhive/speechtotext/SettingsActivity.java
@@ -0,0 +1,22 @@
+package info.androidhive.speechtotext;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+public class SettingsActivity extends Activity {
+ final static String KEY_PREF_SERVER_URL = "pref_serverURL";
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Display the fragment as the main content.
+ getFragmentManager().beginTransaction()
+ .replace(android.R.id.content, new SettingsFragment())
+ .commit();
+ }
+
+
+}
+
+
diff --git a/app/src/main/java/info/androidhive/speechtotext/SettingsFragment.java b/app/src/main/java/info/androidhive/speechtotext/SettingsFragment.java
new file mode 100644
index 0000000..0e4f45b
--- /dev/null
+++ b/app/src/main/java/info/androidhive/speechtotext/SettingsFragment.java
@@ -0,0 +1,13 @@
+package info.androidhive.speechtotext;
+
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+public class SettingsFragment extends PreferenceFragment {
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.preference);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7e6018a..2a6cbe4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,11 +1,14 @@
-
+
Speech To Text
Settings
- Hello world!
- Say something…
- Sorry! Your device doesn\'t support speech input
+ Hello world!
+ Say something…
+ Sorry! Your device doesn\'t support speech input
Tap on mic to speak
+ Server URL
+ http://127.0.0.1:1234
+
diff --git a/app/src/main/res/xml/preference.xml b/app/src/main/res/xml/preference.xml
new file mode 100644
index 0000000..e140cba
--- /dev/null
+++ b/app/src/main/res/xml/preference.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file