1.Android快速入门

原创 2015年04月06日 18:36:04

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);
        }
    }
}

Android基础篇之Android快速入门--你必须要知道的基础

Android快速入门 1. 搭建开发环境 >解压压缩文件,得到:①Android SDK   (类似于JDK)② Eclipse  ③ADT >配置两个path环境...
  • u011200604
  • u011200604
  • 2016年07月12日 23:57
  • 5006

Python入门教程 超详细1小时学会Python

本文适合有经验的程序员尽快进入Python世界.特别地,如果你掌握Java和Javascript,不用1小时你就可以用Python快速流畅地写有用的Python程序.  为什么使用Python  ...
  • jb19900111
  • jb19900111
  • 2014年01月02日 14:26
  • 2849

手把手教你安卓入门(二)

我们就开始正式开发“计算器”应用
  • anddlecn
  • anddlecn
  • 2016年05月23日 20:59
  • 9266

Android快速入门2010-10-1.doc

  • 2011年03月01日 13:22
  • 1.82MB
  • 下载

Android快速入门教程1

在开始前: 1 修改第一个APK: 9 分析工程结构: 9 如何从当前activity跳转到新的activity并返回 12 图片可在附件中查看: 在开始前: 准备: 1、e...
  • jacklv88
  • jacklv88
  • 2013年09月06日 13:48
  • 1728

【学习笔记】day1_快速入门 03_Android体系结构

Android的系统架构采用了分层架构的思想,如图1所示。从上层到底层共包括四层,分别是应用程序程序层、应用框架层、系统库和Android运行时和Linux内核。   图1:Android系统...
  • dodod2012
  • dodod2012
  • 2016年02月26日 23:53
  • 324

Android2.2快速入门(1)

  前言  这是前段时间用于公司Android入门培训的资料,学习Android三周时间收集整理的,时间仓促,希望能对像我这样还没入门就直接上项目的人一点帮助  :) 正文  一、          ...
  • richnaly
  • richnaly
  • 2011年06月07日 16:24
  • 533

android学习之快速入门1--android工程文件分析

经过几天的突击,android应该算是入门了,现在来总结回顾一下,给需要准备学习android的人已借鉴。 我原来是学C++嵌入式,wince下写程序的。java从来没搞过,花了半天把java语法浏...
  • mjx91282041
  • mjx91282041
  • 2012年12月05日 20:17
  • 3242

《QtCreator快速入门》《精通Qt4编程》《C++ GUI Qt 4编程(第二版)》3合1超值

  • 2017年11月28日 13:38
  • 56.96MB
  • 下载

Proteus基础教程-1.快速入门

  • 2014年10月11日 16:31
  • 3.89MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1.Android快速入门
举报原因:
原因补充:

(最多只允许输入30个字)