1.Android快速入门
2015-04-06 18:36
169 查看
01_Android快速入门1. 搭建开发环境
1). sdk解压到非中文目录
2). 配置path
…\sdk\platform-tools
…\sdk\tools
3). 启动eclipse, 创建并启动模拟器运行
2. 创建第一个Android项目: HelloAndroid
注意设置sdk的版本
3. 三个文件目录结构:
1).APK的
2).
应用编译打包的过程
项目的
3). Android系统的
4. 应用开发工具
1). ADB工具
adb shell 进入模拟器系统的根目录
adb install –r xxx.apk 安装APK
adb start-server 启动adb.exe
adb kill-server 关闭已启动的adb.exe
5. 尺寸单位
1). px
1px就的长度就对应屏幕一个像素点的大小
问题: 差手机显示得更大, 好手机显示得更小 (图片)
2). dp/dip
1dp==1px , 只有160ppi时才成立
1dp ==320/160 px 320ppi
density = ppi/160
1dp== desity px
1px==1/density dp
3). sp
正常情况下与dp相同, 但手机中可以设置字体整体大小
5. 相关API:
Activity:
onCreate(): 自动调用的方法, 在其中加载布局显示
setContentView(layoutId): 加载布局
6. 应用练习:
1. 功能描述:
1). 点击Button显示”开始下载”的小提示
2). 点击Button后, Button的内容改为: 正在下载中…
2. 技术点:
1). 创建MainActivity(主界面) : 定义与配置
2). 显示界面: 布局文件的定义及其加载显示
3). 点击事件响应: 给视图添加ID, 查找指定视图, 添加点击监听
4). 界面更新: Toast提示, 修改Button的文本内容
1). sdk解压到非中文目录
2). 配置path
…\sdk\platform-tools
…\sdk\tools
3). 启动eclipse, 创建并启动模拟器运行
2. 创建第一个Android项目: HelloAndroid
注意设置sdk的版本
3. 三个文件目录结构:
1).APK的
2).
应用编译打包的过程
项目的
3). Android系统的
4. 应用开发工具
1). ADB工具
adb shell 进入模拟器系统的根目录
adb install –r xxx.apk 安装APK
adb start-server 启动adb.exe
adb kill-server 关闭已启动的adb.exe
ctrl+c 退出shell cls 清空屏幕 2). DDMS工具 DDMS的四个重要的视窗 1. Logcat : 查看日志输出: 2. File Explorer:查看系统内部文件 3. Devices:显示关联的Android设备 4. Emulator Control:操作控制关联的Android设备 3). Log日志打印工具类 Log.v/e/i/w(String tag, String message) 与System.out.println(message)比较? 1. 级别 2. 通过tag/应用名称包名过滤
5. 尺寸单位
1). px
1px就的长度就对应屏幕一个像素点的大小
问题: 差手机显示得更大, 好手机显示得更小 (图片)
2). dp/dip
1dp==1px , 只有160ppi时才成立
1dp ==320/160 px 320ppi
density = ppi/160
1dp== desity px
1px==1/density dp
3). sp
正常情况下与dp相同, 但手机中可以设置字体整体大小
5. 相关API:
Activity:
onCreate(): 自动调用的方法, 在其中加载布局显示
setContentView(layoutId): 加载布局
View findViewById(id): 根据id找到对应的视图对象 R: R.drawable: 包含所有图片资源标识的内部类 R.layout: 包含所有布局资源标识的内部类 R.id: 包含所有视图id标识的内部类 R.string: 包含所有字符串标识的内部类 View/Button setonClickListener(listener): 给视图设置点击监听 View.OnClickListener : 内部接口 Toast: 用来显示短时间提示文本的类 static Toast makeText(...) : 创建一个toast对象 show(): 显示小提示
6. 应用练习:
1. 功能描述:
1). 点击Button显示”开始下载”的小提示
2). 点击Button后, Button的内容改为: 正在下载中…
2. 技术点:
1). 创建MainActivity(主界面) : 定义与配置
2). 显示界面: 布局文件的定义及其加载显示
3). 点击事件响应: 给视图添加ID, 查找指定视图, 添加点击监听
4). 界面更新: Toast提示, 修改Button的文本内容
编码过程 1. 设计布局: 定义Id/定义text 2. 显示: 加载布局 3. 添加动态效果: 找到视图对象, 给对象设置点击监听, 在回调方法中做出响应 4. 显示一个toast提示 测试代码:
package com.meng.app_call_sms_3; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.telephony.SmsManager; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import android.widget.Button; import android.widget.EditText; //拨打电话和发短信 /* * 1.点击发短信 * 2.点击打电话 * 3.长按发短信 * 4.长按打电话 */ public class MainActivity extends Activity implements OnClickListener, OnLongClickListener { private Button btn_send; private Button btn_dial; private EditText number; private EditText message; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { //获取视图对象 btn_send = (Button) findViewById(R.id.btn_main_send); btn_dial = (Button) findViewById(R.id.btn_main_dial); number = (EditText) findViewById(R.id.et_main_number); message = (EditText) findViewById(R.id.et_main_message); //添加点击监听 btn_send.setOnClickListener(this); btn_dial.setOnClickListener(this); //添加长按监听 btn_send.setOnLongClickListener(this); btn_dial.setOnLongClickListener(this); } //添加长按事件,长按直接发短信或打电话 @Override public boolean onLongClick(View v) { if(v==btn_dial){//长按直接拨打电话 Intent intent = new Intent(Intent.ACTION_CALL); String num = number.getText().toString(); Uri data = Uri.parse("tel:"+num); intent.setData(data ); startActivity(intent); }else if(v==btn_send){//长按直接发短信 String num = number.getText().toString(); String con = message.getText().toString(); SmsManager manager = SmsManager.getDefault(); manager.sendTextMessage(num, null, con, null, null); } return true; } @Override public void onClick(View v) { if(v==btn_dial){//点击打电话按钮 String num = number.getText().toString();//获取输入的号码 Intent intent = new Intent(Intent.ACTION_DIAL);//创建Intent Uri data = Uri.parse("tel:"+num);//将电话号码数据存入data中,前缀必须加"tel:" intent.setData(data);//为intent添加数据 startActivity(intent);//启动打电话的Activity }else if(v==btn_send){//点击发短信按钮 String num = number.getText().toString();//获取电话号码 String con = message.getText().toString();//获取短信内容 Intent intent = new Intent(Intent.ACTION_SENDTO); Uri data = Uri.parse("smsto:"+num);//注:加前缀"smsto:" intent.setData(data); intent.putExtra("sms_body", con);//注:加前缀"sms_body" startActivity(intent); } } }
相关文章推荐
- Android 2.1 android.R.drawable Icon Resources Android 2.2 快速入门
- Android平台SQLite快速入门实践
- Android快速入门相关(一)
- Android_DDMS快速入门
- [转]Android web开发快速入门
- Android快速入门 - jesun的专栏 - CSDNBlog
- android学习之快速入门2--android五种布局方式介绍
- Android web开发快速入门
- Android2.2快速入门
- Android web开发快速入门
- Android快速入门
- Android2.2快速入门
- Android平台SQLite快速入门实践
- Android开发者如何快速进行入门开发
- android快速入门指南
- [转]Android2.2快速入门
- Android SQLite快速入门
- Android平台SQLite快速入门“.NET研究”实践
- Java 程序员如何快速入门 Android 开发?
- android学习之快速入门1--android工程文件分析