android学习笔记(二)

来源:互联网 发布:群英会20选5绝密算法 编辑:程序博客网 时间:2024/04/29 12:33

一.adb调试桥常见指令:

1.      什么是adb:

  adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDEQemu通讯,默认情况下adbdaemon相关的网络端口,所以当我们运行Eclipseadb进程就会自动运行。

2.      adb的作用:

adbandroid sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(G1手机).

它的主要功能有:

l  运行设备的shell(命令行)

l  管理模拟器或设备的端口映射

l  计算机和设备之间上传/下载文件

l  将本地apk软件安装至模拟器android设备

ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.

3.      adb常见指令:

l  adb.exeandroid 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"

 

 

 

 

 

 


 

原创粉丝点击