安卓笔记1——入门介绍及拨打电话和发送短信案例
现在开始接触安卓开发。以后后同步发出对应笔记。老规矩,用一张图来介绍今天的内容。
图片看不清的话可以右键新窗口打开。
一.开发工具
· Eclipse + ADT(Android Developer Tools)
· Android Studio
· SDK (软件开发环境, Android调试工具, 模拟等)
二.SDK目录介绍
· add-ons :(额外开发资料, google地图资源)
· build-tools : 编译工具目录
· docs : 离线版开发文档
· extras : 向下兼容的jar包, intel工具
· platforms : Android开发版本平台jar包
· platform-tools : 平台开发工具(adb)
· sources : 开发平台源码
· system-images : 模拟器镜像文件
· tools : 开发者常用工具
三.Android 常用屏幕分辨率
· VGA: 480 x 640 标准大小
· HVGA: 320 x 480 一半大小
· QVGA: 240 x 320 四分之一
· WVGA: 480 x 800
· FWVGA: 480 x 854
四.开发工具
1,ADB (Android debug bridge) Android调试桥
↓↓↓↓↓在dos命令行输入以下命令可以得到的结果↓↓↓↓↓↓↓
· adb devices 查看当前已连接的设备
· adb start-server 开启 adb 服务
· adb kill-server 杀死 adb 服务
· adb shell 进入Android控制台(执行Linux命令)exit退出
· adb logcat 打印日志信息
· adb install xxx.apk : 安装应用
· adb uninstall 包名 : 根据包名卸载应用
· adb push hiahia.txt /sdcard/hiahia.txt : 上传文件
· adb pull /sdcard/hiahia.txt . : 下拉文件
2,端口占用
adb -s emulator-5554 :指定设备
adb可能因为360, 金山卫士, 腾讯QQ影响无法使用
端口5037被占用
netstat -ano | find "5037" 查看谁占用端口
杀掉进程kill pid
五.R文件报错处理:
1 不能以关键字命名
2 资源不能以数字开头
3 布局文件内部有错误, 有小红叉
六.点击事件的4种写法
4 定义一个内部类实现OnClickListener接口
5 使用匿名内部类对象实现
6 使用当前类,继承接口
7 定义xml属性
o 定义xml的属性android:onClick="call"
o 在代码里写方法 public void call(View view){}
七.Android常见布局
1,LinearLayout 线性布局
o 控件一个接一个排列
2,RelativeLayout 相对布局
o 控件之间以相对位置排列
3,FrameLayout 帧布局
o 一层盖一层
4,AbsoluteLayout 绝对布局
o 通过x, y指定绝对位置.
5.TableLayout 表格布局
o 类似Html表格
八,入门案例
1,拨打电话
public class MainActivity extends Activity { EditText phonenum ; Button btn_call; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //1获取控件 phonenum = (EditText) this.findViewById(R.id.et_phonenum); btn_call = (Button) this.findViewById(R.id.btn_callphone); //2设置点击监听事件 btn_call.setOnClickListener(new OnClickListener() { @SuppressWarnings("static-access") @Override public void onClick(View v) { String num = phonenum.getText().toString(); //3拨打电话 //a,获取意图 Intent intent = new Intent(); //b,设置意图内容:拨打电话的uri intent.setData(Uri.parse("tel:"+num)); //c,设置意图动作:拨打电话 intent.setAction(intent.ACTION_CALL); //intent.setAction(Intent.ACTION_CALL_BUTTON); //d,跳转到电话出界面 //开始活动 startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
2.发送短信
public class MainActivity extends Activity { EditText et_phonenum; EditText et_smsText; Button btn_sent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 1获取界面组件 et_phonenum = (EditText) this.findViewById(R.id.et_callnum); et_smsText = (EditText) this.findViewById(R.id.et_smsText); btn_sent = (Button) this.findViewById(R.id.btn_sent); // 2,设置点击事件 btn_sent.setOnClickListener(new sendSmsListerer()); } /** * 点击发送短信按钮 */ class sendSmsListerer implements OnClickListener { @Override public void onClick(View v) { String num = et_phonenum.getText().toString(); String text = et_smsText.getText().toString(); /*方法一:使用意图 Intent intent = new Intent(); intent.setData(Uri.parse("smsto:" + num)); intent.setAction(intent.ACTION_SENDTO); intent.putExtra("sms_body", text); startActivity(intent);*/ //方法二:使用短信管理器 //获取短信发送管理器 SmsManager smsmanager = SmsManager.getDefault(); smsmanager.sendTextMessage( num,//要发送的地址 null,//短信服务中心,现在一般都不写 text,//文本内容 null, null);//对方接受成功通知 Toast.makeText(MainActivity.this, "短z信发送完成", Toast.LENGTH_LONG).show(); //Toast.makeText(this, "短信发送完成", Toast.LENGTH_LONG).show();//发送成功通知 } } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。