郭霖著《第一行代码》学习笔记
Android系统架构
1.Linux内核层
Android系统是基于Linux 2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。
2.系统内核层
这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。同样在这一层还有Android运行时库。
3.应用框架层
这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。
4.应用层
所有安装在手机上的应用程序都是属于这一层。
Android四大组件
活动、服务、广播接收器、内容提供器。
res文件夹
value 字符串、drawable 图片、 layout 布局、 menu 菜单文件
在string.xml中定义了hello world!
可由两种方式引用它,R.string.hello_world
在xml文件中通过@string/hello_world
string 可替换,若是图片R.drawable.hello_word
Android 日志工具Log cat
Log.v()、Log.d()、 Log.i()、 Log.w()、 Log.e()
分别对应 verbose 、debug、info、warn、error
使用 Log.d("Hello this is a tag!", "This is msg");
layout.xml
android:id = "@+id/button_1" 定义一个唯一标识符
@id/button_1 引用一个Id
添加Activity步骤
1.添加layout.xml
2.添加Activity.java
3.AndroidManifest 文件中注册Activity活动
隐藏标题栏 requestWindowFeature(window.FEATRRE_NO_TITLE);
Toast用法
Toast.makeText(FirstActivity.this, "this is content",Toast.LENGTH_SHORT).show();
Intent 意图
不仅可以致命当前组建想要执行的动作,还可以在不同的组件中传递数据。
用于,启动活动,启动服务,发送广播场景。
用法一,启动活动窗体
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);Log.e("Sectivity", "start");
用法二,发送广播场景
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
用法三,传递数据
String data = "hello SecondActivity";
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("extra_data", data);
startActivity(intent);