一、参数布局设置
会自动保存/data/data/包名/share_refers中
public class PreferenceActivityTest extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置显示参数设置布局。 addPreferencesFromResource(R.xml.preferences); } }
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 设置系统铃声 --> <RingtonePreference android:ringtoneType="all" android:title="设置铃声" android:summary="选择铃声(测试RingtonePreference)" android:showDefault="true" android:key="ring_key" android:showSilent="true"> </RingtonePreference> <PreferenceCategory android:title="个人信息设置zu"> <!-- 通过输入框填写用户名 --> <EditTextPreference android:key="name" android:title="填写用户名" android:summary="填写您的用户名(测试EditTextPreference)" android:dialogTitle="您所使用的用户名为:" /> <!-- 通过列表框选择性别 --> <ListPreference android:key="gender" android:title="性别" android:summary="选择您的性别(测试ListPreference)" android:dialogTitle="ListPreference" android:entries="@array/gender_name_list" android:entryValues="@array/gender_value_list" /> </PreferenceCategory> <PreferenceCategory android:title="系统功能设置组 "> <CheckBoxPreference android:key="autoSave" android:title="自动保存进度" android:summaryOn="自动保存: 开启" android:summaryOff="自动保存: 关闭" android:defaultValue="true" /> </PreferenceCategory> </PreferenceScreen>
二、启动Activity
/获取启动当前Activity的上一个Intent Intent intent = new Intent(SecondActivity.this , StartActivity.class); //启动intent对应的Activity startActivity(intent);
三、使用Bunder在不同Activity交换数据
发送数据
Person p = new Person(name.getText().toString() , passwd.getText().toString() , gender); //创建一个Bundle对象 Bundle data = new Bundle(); data.putSerializable("person", p); //创建一个Intent Intent intent = new Intent(BundleTest.this , ResultActivity.class); intent.putExtras(data); //启动intent对应的Activity startActivity(intent);
另一个接受数据
/获取启动当前Activity的上一个Intent Intent intent = new Intent(SecondActivity.this , StartActivity.class); //启动intent对应的Activity startActivity(intent);
四、启动其他Activity返回结果
//重写该方法,该方法以回调的方式来获取指定Activity返回的结果 @Override public void onActivityResult(int requestCode , int resultCode , Intent intent) { //当requestCode、resultCode同时为0,也就是处理特定的结果 if (requestCode == 0 && resultCode == 0) { //取出Intent里的Extras数据 Bundle data = intent.getExtras(); //取出Bundle中的数据 String resultCity = data.getString("city"); //修改city文本框的内容 city.setText(resultCity); } }
//获取启动该Activity之前的Activity对应的Intent
Intent intent = getIntent(); Bundle data = new Bundle(); data.putString("city" ,cities[groupPosition][childPosition]); intent.putExtras(data); // 设置该SelectActivity的结果码,并设置结束之后退回的Activity SelectCityActivity.this.setResult(0 , intent); //结束SelectCityActivity。 SelectCityActivity.this.finish();
五、Activity生命周期