Android开发刚刚没有多长时间,我们就能学习这么前沿的技术.真的是太高兴了.呵呵,一定要好好学.这门课是由大牛黎活明老师讲的,这更加让我期
待.
今天是3G开发的第一天的课,主要学习了环境的搭建.熟悉Android的开发环境.和两个通过调用系统提供的服务来完成电话拨号和发送短信
的小程序.别看这两个程序小,在实际开发中会经常使用到.如在我们做的程序中,显示用户信息等,并直接点击拨打,就能给其拨打电话,而不用退出来输入号
码,很实用并且简单.
1.Android应用程序架构
src/
java原代码存放目录
gen/
自
动生成目录
gen
目录中存放所有由
Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自
动根据你放入res目录的xml界面文件、图标与常量,同步更新修改
R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含
了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有
被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/
资源(Resource)目录
存放应用使用到的各种资源,如xml界面文件,图片或数据。
AndroidManifest.xml
功能清单文件
列
出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。
当新添加一个
Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。
default.properties
项目环境信息,一般是不需要修改此文件
2.电话拔号器
1)AndroidManifest.xml中添加电话服务权限:
<uses-permission
android:name="android.permission.CALL_PHONE"/>
2)界面布局
LinearLayout
(线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、
FrameLayout(帧布局)
3)Activity:
为
按钮增加单击事件,在这个事件中添加处理事件的代码
在Android开发中,为了效率的考虑我们使用内部类会很多,这里就是经常会出现的一个地
方.
为按钮添加单击事件,并在事件中处理程序.
button.setOnClickListener(new
View.On
ClickListener(){
public void on
Click(View
v) {
EditText editText =
(EditText)findViewById(R.id.mobile);
Intent intent
= new Intent(Intent.ACT
ION_CALL, Uri.parse("tel:"+
editText.getText()));
DialerAction.this.startActivity(intent);
}
总结:
--findViewById(R.id.mobile)
根据ID取得相应的组件.
--Intent意图
--startActivity(intent)将意图通知系统.
3.短信发送器
1)AndroidManifest.xml
中添加短信服务权限:
<uses-permission
android:name="android.permission.SEND_SMS"/>
2)界面布局
3)Activity
String mobile =
mobileView.getText().toString();
String content =
contentView.getText().toString();
SmsManager smsManager =
SmsManager.getDefault();
PendingIntent sentIntent =
PendingIntent.getBroadcast(SMSSender.this, 0, new Intent(), 0);
if(content.length()>70){//如果字数超过70,需拆分成多条短信发送
List<String> msgs = smsManager.divideMessage(content);
for(String msg : msgs){
smsManager.sendTextMessage(mobile, null, msg, sentIntent, null);
//最后二个参数为短信已发送的广播意图,最后一个参数为短信对方已收到短信的广播意图
}
}else{
smsManager.sendTextMessage(mobile, null, content, sentIntent, null);
}
Toast.makeText(SMSSender.this, "短信发送完成",
Toast.LENGTH_LONG).show();
总结:
--使用系统服务的时候不要忘记在AndroidManifest.xml中添加服务权限
--短信服务在
这里,使用了SmsManager类,来操作.
--发送短信时要判断是否大于70个字
--Toast使用的时候,不要忘记show().
要不然不会显示.