您的位置:首页 > 移动开发 > Android开发

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

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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: