I work simple android app for sending sms. I have 2 activities. One is main for sending 2 different messages with 2 different content but messages send to same number. On secund activity i have 3 fields: one is for input number to send messages, and other two are for message content. When I click save button app save user input and go back to main activity. And here start my problem. How can i send users input for number to send messages and messages content to main activity to send sms with saved user input? I am totally beginner with android developing so please help! Here is my MainActivity.java:
package com.example.davor.light;
import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.telephony.SmsManager; import android.telephony.SmsMessage; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // GUMBI INFORMACIJE Button ukljuci = (Button) findViewById(R.id.ukljuci); Button iskljuci = (Button) findViewById(R.id.iskljuci); Button postavke = (Button) findViewById(R.id.postavke); final ImageView slika = (ImageView) findViewById(R.id.slika); // INFORMACIJA O PORUCI final String broj = "097"; final String ukljuciPoruka = "Uključi"; final String iskljuciPoruka = "Isključi"; // KLIK NA GUMB ISKLJUČI iskljuci.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(broj, null, iskljuciPoruka, null, null); Toast.makeText(getApplicationContext(), "Isključeno! poslano na broj " + broj, Toast.LENGTH_LONG).show(); slika.setImageResource(R.drawable.off); } catch (Exception e) { Toast.makeText(getApplicationContext(),"Nemoguće isključiti!",Toast.LENGTH_LONG).show(); } } }); postavke.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent PostavkeActivity = new Intent(MainActivity.this, Postavke.class); startActivity(PostavkeActivity); } }); } @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) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
And here is code for my second activity from witch I want to pull users input to MainActivity:
package com.example.davor.light;
import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast;
public class Postavke extends Activity {
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_postavke); gumbZaPovratak(); SharedPreferences loadSettings = PreferenceManager.getDefaultSharedPreferences(this); String ucitajBroj = loadSettings.getString("spremiBroj", ""); String ucitajUkljuci = loadSettings.getString("spremiUkljuci", ""); String ucitajIskljuci = loadSettings.getString("spremiIskljuci", ""); final EditText postavkeBroj = (EditText) findViewById(R.id.postavkeBroj); postavkeBroj.setText(ucitajBroj); final EditText postavkeUkljuci = (EditText) findViewById(R.id.postavkeUkljuci); postavkeUkljuci.setText(ucitajUkljuci); final EditText postavkeIskljuci = (EditText) findViewById(R.id.postavkeIskljuci); postavkeIskljuci.setText(ucitajIskljuci); Button spremi = (Button) findViewById(R.id.postavkeSpremi); spremi.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ spremiPostavke("spremiBroj", postavkeBroj.getText().toString()); spremiPostavke("spremiUkljuci", postavkeUkljuci.getText().toString()); spremiPostavke("spremiIskljuci", postavkeIskljuci.getText().toString()); Toast.makeText(getApplicationContext(), "Spremljeno", Toast.LENGTH_LONG).show(); finish(); } }); } private void postavkeBroj() { EditText postavkeBroj = (EditText) findViewById(R.id.postavkeBroj); } private void spremiPostavke (String ključ, String vrijednost) { SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(ključ, vrijednost); editor.commit(); } private void gumbZaPovratak(){ Button nazad = (Button) findViewById(R.id.nazad); nazad.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } @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_postavke, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }