用intent也可以发短信
Uri uri=Uri.parse(“smsto//00000000000”);
Intent intent=new intent(ACTION_SENDTO,uri);
Intent.puExtra(“smsbody”,”text”);
StartActivity(intent);
常见空间使用
TextView
EditText
Button
Menu四种控件
程序最终实现:
乘法计算
用到的控件有TextView(乘以),两个EditText(文本框),一个Button.一个menu。
首先将控件在main.xml中声明
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/first"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/symbol"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/second"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/result"
/>
对射申明控件在Actvity03.java中操作
private EditText first;
private EditText second;
private TextView symbol;
private Button result;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//取的控件值
first=(EditText)findViewById(R.id.first);
second=(EditText)findViewById(R.id.second);
symbol=(TextView)findViewById(R.id.symbol);
result=(Button)findViewById(R.id.result);
/*symbol.setText("乘以");
result.setText("计算结果是");*/
symbol.setText(R.string.symbol);
result.setText(R.string.result);
result.setOnClickListener(new ResultListener());
}
在Activity03复写ResultListner类
class ResultListener implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String firstone=first.getText().toString();
String secondone=second.getText().toString();
Intent intent=new Intent();
intent.putExtra("one", firstone);
intent.putExtra("two", secondone);
intent.setClass(Activity03.this, ResultActivity.class);
Activity03.this.startActivity(intent);
}
}
对按键响应
新建ResultActivity类对按键响应后操作
public class ResultActivity extends Activity{
private TextView result1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
result1=(TextView)findViewById(R.id.result1);
Intent intent=getIntent();
String first=intent.getStringExtra("one");
String second=intent.getStringExtra("two");
int factorone=Integer.parseInt(first);
int factortwo=Integer.parseInt(second);
int result=factorone * factortwo;
result1.setText(result+"");
}
}
回到Activity03在对menu控件操作
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0,1,1,"退出");
menu.add(0,2,2,"关于");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if(item.getItemId()==1)
finish();
return super.onOptionsItemSelected(item);
}
这里有个问题,menu.add(0,1,1,R.string.exit)这条语句会报错,不明白
最后在AndroidMannifest.xml对新的ResultActivity注册
可得最后结果。
结构
其中对intent的操作昨天已经说过,今天主要对EditText,Button,menu控件的学习,以及相应的OnCreateOptionsMenu,OnOptionsItemSeleted的了解