DDMS试图的学习及Button的引用
1.DDMS介绍:
DDMS全称Dalvik Debug Monitor Service.DDMS为IDE和emultor及真正的android设备架起来了一座桥梁,Android DDMS将捕捉到终端的ID,并通过adb建立调试器,从而实现发送指令到测试终端的目的
1)每一个Android应用都运行在一个Dalvik虚拟机实例里,而每一个虚拟机实例都是一个独立的进程空间。虚拟机的线程机制,内存分配和管理,Mutex等等都是依赖底层操作系统而实现的。所有Android应用的线程都对应一个Linux线程。
2)DDMS启动时会与ADB之间建立一个device monitoring service用于监控设备。当设备断开或链接时,这个service就会通知DDMS
3)当一个设备链接上时,DDSM和ADB之间又会建立VM monitoring service用于监控设备上的虚拟机
4)通过ADB Deamon与设备上的虚拟机的debugger建立链接,这样DDMS就开始与虚拟机对话了
通过DDMS看到目标机器上运行的进程/现成状态,可以 android的屏幕到开发机上,可以看进程的heap信息,可以查看logcat信息,可以查看进程分配内存情况,可以像目标机发送短信以及打电话,可以向android发送地理位置信息。可以像gdb一样attach某一个进程调试。 android SDK tools提供了ddms的功能
开启进入 DDMS。 1. 可以直接点击 :DDMS图标 切换到 DDMS试图。
2.如果没有发现 DDMS图标。Window---->Open Perspective---->DDMS 或 Window---->Open Perspectie---->Other
DDMS主界面
界面单独介绍:1.Devices:显示现在能够使用的设备,比如虚拟机或真机 ; 以及每个设备存在的程序;
2.Emulator Control:能够给设备打电话,发短信;
3.Logcat:类似于Java程序的Console,报错、显示信息都在此处显示;
4.File Explorer:设备中的文件,可以上传和下载;
2.Button控件引用
<Button android:id="@+id/btn_one" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="确定" />
后台源码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn=(Button)findViewById(R.id.btn_one); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "您点击了我!",Toast.LENGTH_LONG).show(); } }); }
图片显示效果:
源码二:
<Button android:id="@+id/btn_one" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button1" /> <Button android:id="@+id/btn_two" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button2" />
后台源码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn_one=(Button)findViewById(R.id.btn_one); btn_one.setOnClickListener(listener); Button btn_two=(Button)findViewById(R.id.btn_two); btn_two.setOnClickListener(listener); } private OnClickListener listener=new OnClickListener() { @Override public void onClick(View view) { Button btn=(Button)view; switch (btn.getId()) { case R.id.btn_one: Toast.makeText(MainActivity.this, "您点击了!"+btn.getText(),Toast.LENGTH_LONG).show(); break; case R.id.btn_two: { Toast.makeText(MainActivity.this, "您点击了!"+btn.getText(),Toast.LENGTH_LONG).show(); System.out.println("您点击了Button2"); } break; default: break; } } };
效果图: