android学习笔记(二)
来源:互联网 发布:群英会20选5绝密算法 编辑:程序博客网 时间:2024/04/29 12:33
一.adb调试桥常见指令:
1. 什么是adb:
adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
2. adb的作用:
adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).
它的主要功能有:
l 运行设备的shell(命令行)
l 管理模拟器或设备的端口映射
l 计算机和设备之间上传/下载文件
l 将本地apk软件安装至模拟器或android设备
ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.
3. adb常见指令:
l adb.exe:android debug bridge andorid调试桥
l adb devices :列出所有链接的设备
l reset adb :重启adb的调试桥:执行以下指令
l adb kill-server:杀死adb调试桥
l adb start-server:开始adb调试桥
l netstat -ano:检查占用端口的程序
l adb install xxx.apk 安装一个应用
l adb uninstall <包名> 卸载一个应用
l adb -s 设备名称
4. eclipse ADT DDMS应用:
eclipse ADT下的虚拟设备的控制台
5.android 项目目录下的文件:
l assets:资产目录,存放一个文件的,这些文件会被打包到应用程序的apk(安装包)
l bin:编译后的文件目录
l gen:自动生成的文件目录。
l project.properties 代表编译的版本
l 对应 android.jar的版本
l libs:支持jar包,会被添加到android depend目录下
l res:资源目录
l drawable 存放应用程序的图标。
l androidmanifest.xml 清单文件。 程序的配置信息,启动的图标应用程序名称包名版本号。
二.一个简单应用的实现:电话拨号器
1.样式:
activity_main.xml文件中主要应用相对布局:RelativeLayout
控件:TextView -文本
EditText -文本框
Button -按钮
主要样式:
- android:id -控件的唯一标识
- android:layout_width -控件宽度占有的比例
- android:layout_height -控件高度占有的比例
- android:text -控件显示的文本
- android:textSize -文本字体大小
- android:layout_alignLeft -与某一控件靠左对齐
- android:layout_below -在某一控件下方
- android:inputType -框体类型
布局控制文件:activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/TV_dai" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/dai" android:textSize="24sp" /> <EditText android:id="@+id/ET_call" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/TV_dai" android:layout_below="@+id/TV_dai" android:layout_marginTop="15dp" android:ems="10" android:inputType="phone" android:text="@string/call"> <requestFocus /> </EditText> <Button android:id="@+id/BT_call" android:onClick="call" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/ET_call" android:layout_below="@+id/ET_call" android:layout_marginLeft="19dp" android:layout_marginTop="22dp" android:text="@string/call" /></RelativeLayout>
2.控件逻辑处理:
1)加载布局文件:
setContentView(R.layout.activity_main);
2)查找控件Id:
Button BT_call = (Button) findViewById(R.id.BT_call);ET_call = (EditText) MainActivity.this.findViewById(R.id.ET_call);
3)给控件注册点击事件(详见点击事件的四种写法):
BT_call.setOnClickListener(new MyListener());
4)当控件被点击事件时的事件处理(抽取出来独立作为函数):
private void callphone(){....}
5)当call按钮被点击时,获取文本框的文本信息,并判断:
//判断EditText中的号码是否为空 if(TextUtils.isEmpty(munber)){ //在界面是提示 Toast toast = Toast.makeText(MainActivity.this, "号码不能为空",0); toast.show(); return; }
6)开启一个意图,处理事件:
Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:"+munber));
7)开启一个新的界面:
startActivity(intent);
三.点击事件的四种写法:
1.创建一个内部类定义点击事件
BT_call.setOnClickListener(new MyListener()); private class MyListener implements OnClickListener{@Override //当按钮被点击的时候调用的方法public void onClick(View v) { callphone();}} private void callphone(){....}
2.采用匿名内部类定义点击事件
BT_call.setOnClickListener(new OnClickListener(){ public void onClick(View v) { callphone(); } }); private void callphone(){....}
3.让当前MainActivity实现 OnClickListener接口
public class MainActivity extends Activity implements OnClickListener { ..... BT_call.setOnClickListener(this); @Overridepublic void onClick(View v) { switch (v.getId()) {case R.id.BT_call; callphone();break;}} private void callphone() { ..... } }
4.在布局文件里面绑定android:onClick="call"
(在布局文件配置的onClick的属性名,在MainActivity中必须要有余属性名相同的方法)
<Button android:onClick="call" ..... />
public void call(View v){ callphone();} private void callphone() { ..... }
(PS:一般在MainActivity.java中有多个控件要做响应处理的话,一般推荐用让当前MainActivity实现 OnClickListener接口或是在布局文件里面绑定android:onClick="call")
- Android学习笔记(二)
- Android学习笔记(二)
- android学习笔记(二)
- android学习笔记(二)
- android 学习笔记(二)
- Android学习笔记(二)
- android学习笔记(二)
- Android学习笔记(二)
- android学习笔记(二)
- Android学习笔记(二)
- Android学习笔记(二)
- android学习笔记(二)
- Android学习笔记(二)
- Android:学习笔记(二)
- Android学习笔记(二)
- android学习笔记(二)
- Android学习笔记(二)
- Android学习笔记(二)
- Math生成指定范围内不重复的随机数方法
- android 学习笔记(一)
- 自动登录技术
- DIALOG开发中的ALV
- 歌词制作软件C#实现
- android学习笔记(二)
- Ajax的简介
- V4L2编程初体验(转载)
- HDU 1542 Atlantis
- 动态生成html缓存页面
- 文件映射
- OSPF Forward Address Suppressed产生次优路径
- 防盗链
- 面对大公司和小公司,应届毕业生如何选择