hello world in android
1.首先介绍一下,第一次建立android应用程序中的,hello world
1 package zyf.android.test.hello; 2 import android.app.Activity; 3 import android.os.Bundle; 4 import android.widget.TextView; 5 public class Hello extends Activity { 6 /** Called when the activity is first created. */ 7 @Override 8 public void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 // setContentView(R.layout.main); 11 TextView tv = new TextView(this); 12 tv.setText("这是一个测试Android的helloWorld"); 13 setContentView(tv); 14 } 15 }
代码分析:
在Android 中,用户界面控件被封装成了各种Class 叫做Views。一个View 是一个可以显示的控件对
象,比如RadioButton,Animation,TextLable 等。其中的一个简单的控件是TextView:
TextView tv = new TextView(this);
传入TextView 构造函数的参数是一个Context 对象,通过这个对象可以使用系统提供的功能接口,比如加载资源,访问数据库和共享数据等等。Activity 类从Context 类继承而来,所以Activity 本身是一个Context(Java 中的继承概念)。TextView 对象构建以后就可以设置要显示的数据了。tv.setText("这是一个测试Android 的helloWorld");最后是连接TextView 到屏幕, 类似这样:
setContentView(tv);
setContentView() 方法可以控制具体哪一个控件和系统的UI 联系起来(我的理解是设置为主显示View)。如果没有设置,屏幕中将会显示空白。
2.Android虚拟机Dalvik
随着Google 的AndroidSDK 的发布,关于它的API 以及在移动电话领域所带来的预期影响这些方面的讨论不胜枚举。不过,其中的一个话题在Java 社区是一石激起千层浪,这就是Android 平台的基础——Dalvik 虚拟机。
Dalvik和标准 Java虚拟机(JVM)首要差别
Dalvik 基于寄存器,而JVM 基于栈。,基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。
Dalvik和 Java运行环境的区别
Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭.Dalvik形势
Dalvik 的诞生也导致人们开始忧虑Java 平台的第一次大规模的分道扬镳或许已经是进行时了——有人已经把Davlik 和微软的JVM 以及Sun 对微软的诉讼联系起来,等着看Google 身上是否也会发生类似事情;另外一些人则指出,Google 并没有宣称Dalvik 是一个Java 实现,而微软却是这样做的。Sun 也对可能带来的阵营
分裂表达了忧虑情绪,并提出和Google 合作来保证Dalvik 和JVM 之间的兼容性——Google 对此的解释是,Dalvik 是对解决目前JavaME 平台上分裂的一次尝试,也是为了提供一个拥有较少限制许可证的平台。甚至还有人怀疑这是否是Sun 和Google 两大阵营对Java 之未来的一次大规模较量
3.android 重要包的描述
android.app :提供高层的程序模型、提供基本的运行环境
android.content :包含各种的对设备上的数据进行访问和发布的类
android.database :通过内容提供者浏览和操作数据库
android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location :定位和相关服务的类
android.media :提供一些类管理多种音频、视频的媒体接口
android.net :提供帮助网络访问的类,超过通常的java.net.* 接口
android.os :提供了系统服务、消息传输、IPC 机制
android.opengl :提供OpenGL 的工具
android.provider :提供类访问Android 的内容提供者
android.telephony :提供与拨打电话相关的API 交互
android.view :提供基础的用户界面接口框架
android.util :涉及工具性的方法,例如时间日期的操作
android.webkit :默认浏览器操作接口
android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用
4.adb应用
安装应用到模拟器
Android 没有提供一个卸载应用的命令,只能手动删除:
进入设备或模拟器的Shell
通过以上命令,可以进入设备或模拟器的shell 环境中,在这个Linux Shell 中,你可以执行各种Linux 的命令,
另外如果只想执行一条shell 命令,可以采用以下方式:
如:
会打印出内核的调试信息
发布端口
可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb install app.apk
adb shell
cd data/app
rm app.apk
adb shell
adb shell [command]
adb shell dmesg
adb forward tcp:5555 tcp:8000
复制文件
可向一个设备或从一个设备中复制文件
复制一个文件或目录到设备或模拟器上:
如:
从设备或模拟器上复制一个文件或目录
如:
搜索/等待模拟器、设备实例
取得当前运行的模拟器、设备的实例列表及每个实例的状态| 等待正在运行的设备
查看Bug 报告
记录无线通讯日志
无线通讯记录日志非常多,在运行时没必要记录,可以通过命令设置记录
获取设备ID 和序列号
访问数据库SQLite3
adb push
adb push test.txt /tmp/test.txt
adb pull
adb pull /android/lib/libwebcore.os
adb devices
adb wait-for-device
adb bugreport
adb shell
logcat -b radio
adb get-product
adb get-serialno
adb shell
sqlite3

浙公网安备 33010602011771号