安卓发短信打电话Logcat布局ADB命令.docx
《安卓发短信打电话Logcat布局ADB命令.docx》由会员分享,可在线阅读,更多相关《安卓发短信打电话Logcat布局ADB命令.docx(14页珍藏版)》请在冰点文库上搜索。
安卓发短信打电话Logcat布局ADB命令
创建Android项目对话框:
打电话程序
第一步:
编写界面-----------------------------------
第二步:
添加权限
因为打电话要牵涉到用户的话费,所以要添加一个打电话的权限:
CALL_PHONE
第三步:
编写打电话的逻辑代码
编码思路:
1.
获取界面中的按钮
2.给按钮添加监听器,监听当点击按钮时就获取文本框中的号码,并拨出去
3.因为拨号码启动的是另一个Activity:
-------------------------------
所以通过创建一个意图对象,并设置
setAction(Intent.ACTION_CALL);设置意图要启动打电话的Activity
setData(Uri.parse("tel:
"+num))设置打电话用到的电话号码
4.启动拨打电话的界面:
startActivity(Itent);
5.提示,要想用户点击文本框时出现的键盘是数字键盘,可以在xml文件中的EditText节点中增加这个属性:
android:
inputType="phone"
具体在Activity文件中编写如下代码:
publicclassMainActivity1extendsActivity{
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//1.根据ID获取界面中的按钮
ButtoncallBT=(Button)findViewById(R.id.callBT);
//2.给按钮添加监听器
callBT.setOnClickListener(newMyOnClickListener());
}
//3.定义类实现监听器接口
classMyOnClickListenerimplementsOnClickListener{
//4.重写onClick方法,当按钮被点击的时候,就会执行这个方法
publicvoidonClick(Viewv){
//5.获取文本框
EditTextnumET=(EditText)findViewById(R.id.numET);
//6.获取文本框中的文本
Stringnum=numET.getText().toString();
//7.创建一个意图对象
Intenti=newIntent();
i.setAction(Intent.ACTION_CALL);//设置动作类型
i.setData(Uri.parse("tel:
"+num));//设置数据
//8.启动拨打电话的界面
startActivity(i);
}
}
}
导出手机安装包:
APK
右击项目名导出
选择要层出的项目
如果有已经有keystore可以选第一项,如果没有选第二项创建一个Location为保存位置与文件名,扩展名可以自己随便取,然后指定密码
选择APK文件的位置与文件名
发短信程序
重点
●发送信息的代码:
android.telephony.SmsManager.sendTextMessage(StringdestinationAddress,StringscAddress,Stringtext,PendingIntentsentIntent,PendingIntentdeliveryIntent)
destinationAddress为目的地地址,即目标手机号
⏹scAddress为短信中心号码,这个要打电话问运营商,可以填null系统会自动读取手机卡的短信中心,如果需要就可以自己指定特定的短信中心。
⏹Text为短信内容
⏹sentIntent为短信中心发送成功的意图,也就是如果发送成功了就会启动这个意图做一些事情
⏹deliveryIntent为对方收到短信后要启动的意图。
这个功能可能联通不支持。
⏹scAddress,sentIntent,deliveryIntent这3个参数可以为null。
●因为每个运营商所支持的短信长度不一样,因为还要考虑短信的长度,根据长度分割短信后进行发送。
如果不分割的话,超过短信的最大长度将会发送失败。
SmsManagersmsManager=SmsManager.getDefault();//获取短信管理器
ArrayListlist=smsManager.divideMessage(content);//这判断营运商的短信长度来分割短信
for(Stringsms:
list)
smsManager.sendTextMessage(num,null,sms,null,null);
步骤:
第一步:
编写界面-----------------------------------
第二步:
添加权限
因为发短信要牵涉到用户的话费,所以要添加一个发短信的权限:
.SEND_SMS
第三步:
编写发短信的逻辑代码
思路:
1、获取要发送的内容和电话号码
2、获取发送按钮,监听单击事件,单击后把文本内容发送出去。
在Activity中完成的代码如下:
publicclassMainActivityextendsActivity{
privateEditTextnumET;
privateEditTextcontentET;
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//1.获取两个文本框
numET=(EditText)findViewById(R.id.numET);
contentET=(EditText)findViewById(R.id.contentET);
}
publicvoidonClick(Viewview){
try{
//2.获取文本框中的文本
Stringnum=numET.getText().toString();
Stringcontent=contentET.getText().toString();
//3.发送短信
SmsManagersmsManager=SmsManager.getDefault();
ArrayListlist=smsManager.divideMessage(content);
for(Stringsms:
list)
smsManager.sendTextMessage(num,null,sms,null,null);
//4.显示提示
Toast.makeText(getApplicationContext(),R.string.success,Toast.LENGTH_SHORT).show();
}catch(Exceptione){
Toast.makeText(getApplicationContext(),R.string.fail,Toast.LENGTH_SHORT).show();
}
}
}
LogCat提示等级
verbose//verbose提示信息黑色
Log.v(TAG,"verbose");
//debug蓝色
Log.d(TAG,"debug");
//info重要的信息绿色
Log.i(TAG,"info");
//warn警告黄色
Log.w(TAG,"warn");
//error错误的提示红色
Log.e(TAG,"error");
System.out输出信息是Info级别,System.err是Warn级别,使用如下:
System.out.println("父亲节晚上别忘了回家给老爹打个电话!
");
System.err.println("昨天希腊竟然赢了!
");
五种布局方式
具体代码在:
04.Layout项目中
LinearLayout(线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局)
查看相关的使用:
这里面有具体的使用,一定要看这里的。
线性布局:
这是一个什么布局呢?
这是一个嵌套型的线性布局:
总体这是一个垂直的线性布局,这个垂直线性布局里的第一行有一个水平的线性布局。
嵌套代码如下:
android="
android:
layout_width="fill_parent"
android:
layout_height="fill_parent"
android:
orientation="vertical">
android:
layout_width="fill_parent"
android:
layout_height="wrap_content"
android:
orientation="horizontal">
表格布局
帧布局
相对布局:
绝对布局:
ADB命令练习
adb命令,全称:
安卓调试条(androiddebugbar)
-s参数为指定要操作的模拟器
如:
显示模拟器emulator-5554的Logcat信息:
adb-semulator-5554logcat
查看多少个设备连接到了电脑adbdevices
adb-semulator-5554pull/sdcard/abc.txtc:
\bb.txt把emulator-5554模拟器中/sdcard/bb.txt的文件导出到d:
\bb.txt
adb-semulator-5554pushc:
\bb.txt/mnt/sdcard/bb.txt把c:
\bb.txt文件导入到emulator-5554模拟器中的/sdcard/bb.txt
显示模拟器的Log信息:
adblogcat
如果模拟器有多个,这个命令就不知道显示哪个的Log,所以可以加上-s指定模拟器:
adb-semulator-5554logcat
为了能在任意目录使用一下命令,需要将SDK目录下的platform-tools文件夹路径和tools文件夹路径配置到path环境变量中
•列出可以使用的android版本
androidlisttargets
•列出可以使用的虚拟机
androidlistavd
•创建虚拟机
androidcreateavd–n<虚拟机名>-t-c-s<屏幕尺寸>
•启动虚拟机
emulator–avd<虚拟机名>
•显示已连接的设备
adbdevices
•导入文件到手机
adbpush<手机目标路径>
•从手机导出文件
adbpull<手机源文件路径>
•安装程序
adbinstall
•卸载程序
adbuninstall<包名>
•重启adb
adbkill-server
abdstart-server
•进入资源管理器:
adb-semulator-5554shell
进入后:
查看运行的进程:
ps
查看内容详细清单:
ls–l
进入配置目录:
cdproc
打开文件:
catmeminfo
•打印某个功能的帮助信息:
如打印logcat的帮助信息:
adb-semulator-5554logcat–help
•清除历史缓存的logcat信息:
adblogcat-c