2013年过年回来第一篇博客,过年期间有太多的突然了,使我没办法适应,希望2013年能有大的转变,今天我学习了Android类Intent,做了一个拨号测试、一个发送信息测试,还做了Activity直接的数据传送测试,讲这个之前,因为我跳过了android的一下基础,但现在讲的也是基础,我的意思是只是单纯的讲一个Intent类的一些用法。
项目名称是Intent,我创建了两个Activity,MainActivity代码如下:
package com.cooguo.intent.activity;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
public final static int RESULT_CODE = 1;
public final static int RESULT_SECOND = 2;
private Button dailNum = null;
private Button sendMsg = null;
private Button callActivity = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dailNum = (Button)findViewById(R.id.dailNum);
dailNum.setOnClickListener(listener);
sendMsg = (Button)findViewById(R.id.sendMsg);
sendMsg.setOnClickListener(listener);
callActivity = (Button)findViewById(R.id.callActivity);
callActivity.setOnClickListener(listener);
}
private OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View view) {
Button btn = (Button)view;
switch (btn.getId()) {
case R.id.dailNum:
/*拨号测试注意在AndroidManifest.xml中权限的添加*/
Intent itn = new Intent();
itn.setAction(Intent.ACTION_CALL);
itn.setData(Uri.parse("tel:110"));
startActivity(itn);
break;
case R.id.sendMsg:
/*发送信息测试*/
Intent send = new Intent();
send.setAction(Intent.ACTION_SENDTO);
send.setData(Uri.parse("smsto:5554"));
send.putExtra("sms_body","WelloCome to....");
startActivity(send);
break;
case R.id.callActivity:
/*测试Activity之间的调用测试*/
Intent callIntent = new Intent();
callIntent.setClass(MainActivity.this, SendActivity.class);
/*向另外一个Activity传送值*/
callIntent.putExtra("Send", "测试字符串发送...");
startActivity(callIntent);
startActivityForResult(callIntent, RESULT_CODE);
break;
}
}
};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_CODE){
if(resultCode == SendActivity.RESULT_CODE){
Bundle bundle = data.getExtras();
String back = bundle.getString("back");
Toast.makeText(MainActivity.this,back,Toast.LENGTH_SHORT).show();
}
}
}
}
另外SendActivity代码如下:
package com.cooguo.intent.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class SendActivity extends Activity {
public final static int RESULT_CODE = 1;
private Button tip = null;
private String str = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.send);
Intent iten = getIntent();
Bundle bundle = iten.getExtras();
str = (String)bundle.get("Send");
tip = (Button)findViewById(R.id.tip);
tip.setOnClickListener(listener);
}
private OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View view) {
Button btn = (Button)view;
switch (btn.getId()) {
case R.id.tip:
if(null==str||"".equals(str)){
str="没有取得值!";
}
Toast.makeText(SendActivity.this,str ,Toast.LENGTH_SHORT).show();
//数据返回给之前那个Activity
Intent iten = new Intent();
iten.putExtra("back", "返回数据测试.....");
setResult(RESULT_CODE, iten);
finish();
break;
}
}
};
}
比较重要的代码都贴出来了,如果你Android基础还可以,看到上面的代码,就知道配置文件都要怎样配置了,如果你还看不太懂,可以先从比较基础的一些内容看起。
好好加油!