- 当我们学习andriod应用开发时,除UI设计,信息的传递与存储同样必不可少。今天我们就以实例简单了解一下intent与SQLite这两个常用类。
Intent
本文例子中,包含两个Activity类,分别为MainActivity和SendMessageActivity,我们的诉求是将MainActivity文本框中的信息,在点击按钮后跳转到SendMessageActivity中,并且显示出来。
界面如下:
- 首先,MainActivity 实现代码如下:
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/** Called when the user taps the Send button */
public void sendMessage(View view) {
// Do something in response to button
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}
我们先定义看一个Intent实例 intent,它联系了MainActivity与DisplayMessageActivity这两个类。然后通过putExtra方法,将EditText中的信息传输进去,最后调用startActivity(intent)方法。
- SendMessageActivity的代码如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
// Get the Intent that started this activity and extract the string
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Capture the layout's TextView and set the string as its text
TextView textView = findViewById(R.id.textView);
textView.setText(message);
- 定义intent实例通过getIntent()方法,接收来自MainActivity的信息,再通过Intent类的getStringExtra()方法获得信息。最后将该信息通过setText方法传递给textView控件。