一、创建电话拨号器、及注册权限
1)实现接口中的方法
获得文本框的内容
String phoneNo = textPhone.getText().toString();
找到android中的打电话程序并调用
intent.setAction("android.intent.action.CALL");
intent.setData(Uri.parse("tel:"+phoneNo));//蓝色固定
顺便提一下intent的基本作用
一个intent包含了一组信息
Component name(要启动的组件名称)
Action(请求的activity要做什么动作)
Data(从一个activity向另一个activity传送的数据)
Extras(Activity中存放的键值对,可以在另外的activity中存取)
2)注册权限
在androidManifest.xml注册调用android电话拨号的权限
<uses-permission android:name="android.permission.CALL_PHONE"/>
二、发送短信
1)发送短信
SmsManager sms = SmsManager.getDefault();
2)分割短信
List<String> texts = sms.divideMessage(strMsg);(strMsg是获得短信息)
for(String str:texts){
sms.sendTextMessage(strTel,null,str,null,null);(strTel是电话号码)
}
3)在功能清单上注册发送权限
<uses-permission android:name="android.permission.SEND_SMS"/>
三、弹出窗口
1)重写
onCreateOptionsMenu(Menu menu)和onOptionsItemSelected(MenuItem item)两个方法
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0,1,1,R.string.exit);
menu.add(0,2,2,R.string.about);
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==1)
finish();
if(item.getItemId()==2)
{
Intent intent=new Intent();
intent.setClass(this,要转的activity);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
™2)在功能清单文件中加入android:theme=
"@android:style/Theme.Dialog"
四、访问SDCard的权限
<!--在SDCard中创建与删除文件的权限-->
™<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!--往SDCard写入数据权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
a)为什么使用SDCard?
文件是存放在手机空间上,一般手机的存储空间不是很大;对于像视频这样的大文件,我们可以把它们存放在SDCard。
b)SDCard是什么?
你可以把它看做是移动硬盘或U盘(我们常说的内存卡);可以用来存储数据,SDCard需要单独购买,手机上默认不带有SDCard
c)如何使用SDCard?
™在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件)。创建SDCard可以在Eclipse创建模拟器时随同创建。
™使用DOS命令进行创建。
在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令创建一张容量为2G的SDCard,文件后缀可以随便取,建议使用.img:
™mksdcard 2048M D:\AndroidTool\sdcard.img
d)把文件存放在SDCard?
判断手机是否装有SDCard,并且可以进行读写
if(
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){......}
获得SDCard的目录,有两种方法
File sdCardDir = Environment.getExternalStorageDirectory();//动态获取目录
File sdCardDir = new File("/mnt/sdcard");//直接指定目录
e)向SDCard中写入文件、可以使用字节流或者字符流
-------字符流-----------
//创建文件对象
File file = new File(path);
//如果文件不存在则创建文件
if(file.exists()==false){
file.createNewFile();
//追加写入
FileOutputStream fos = new FileOutputStream(file,true);
//写入文件
fos.write(content.getBytes());
//关闭流
fos.close();
}
-----使用包装过的字符流,可以按行写入,速度更快,使用也更方便
五、使用Junit对android进行单元测试
第一步:androidManifest。xml中加入下面字段,在application节点和activity节点之间加入
<uses-library android:name="android.test.runner" />
第二步:在application外面加入
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="activity的包名"
android:label="标签名" />