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(). 要不然不会显示.
传智播客--3G之目录结构说明,电话拔号器和短信发送器实现
最新推荐文章于 2018-08-15 21:48:50 发布