adb
Android debug bridge 安卓调试桥

  • 创建模拟器,屏幕尽量小些,启动速度运行速度快
    Android项目的目录结构
    Activity:应用被打开时显示的界面
    src:项目代码
    R.java:项目中所有资源文件的资源id
    Android.jar:Android的jar包,导入此包方可使用Android的api
    libs:导入第三方jar包
    assets:存放资源文件,比方说mp3、视频文件
    bin:存放编译打包后的文件
    res:存放资源文件,存放在此文件夹下的所有资源文件都会生成资源id
    drawable:存放图片资源
    layout:存放布局文件,把布局文件通过资源id指定给activity,界面就会显示出该布局文件定义的布局
    menu:定义菜单的样式
    String.xml:存放字符串资源,每个资源都会有一个资源id
    Android的配置文件(清单文件)

指定应用的包名

package="com.itheima.helloworld"
data/data/com.itheima.helloworld(上面代码指定的包名)
应用生成的文件都会存放在此路径下
Android的四大组件在使用前全部需要在清单文件中配置

的配置对整个应用生效
的配置对该activity生效
DDMS
Dalvik debug monitor service
Dalvik调试监控服务
常用的adb指令
adb start-server:启动adb进程
adb kill-server:杀死adb进程
adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb进程
adb install XXX.apk:往模拟器安装apk
adb uninstall 包名:删除模拟器中的应用
adb shell:进入linux命令行
ps:查看运行进程
ls:查看当前目录下的文件结构
netstat -ano:查看占用端口的进程
电话拨号器
功能:用户输入一个号码,点击拨打按钮,启动系统打电话的应用把号码拨打出去

  1. 定义布局

组件必须设置宽高,否则不能通过编译

android:layout_width="wrap_content"
android:layout_height="wrap_content"
如果要在java代码中操作某个组件,则组件需要设置id,这样才能在代码中通过id拿到这个组件

android:id="@+id/et_phone"

  1. 给按钮设置点击侦听

给按钮设置侦听

//通过id拿到按钮对象
Button bt_call = (Button) findViewById(R.id.bt_call);
//给按钮设置点击
bt_call.setOnClickListener(new MyListener());

  1. 得到用户输入的号码

    //得到用户输入的号码,先拿到输入框组件
    EditText et_phone = (EditText) findViewById(R.id.et_phone);
    String phone = et_phone.getText().toString();

  2. 把号码打出去

Android系统中基于动作机制,来调用系统的应用,你告诉系统你想做什么动作,系统就会把能做这个动作的应用给你,如果没有这个应用,会抛异常
设置动作,通过意图告知系统

//把号码打出去
//先创建一个意图对象
Intent intent = new Intent();
//设置动作,打电话
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + phone));
//把意图告诉系统
startActivity(intent);
添加权限

点击事件的四种写法
第一种

定义一个MyListener实现onClickListener接口

Button bt1 = (Button) findViewById(R.id.bt1);
bt1.setOnClickListener(new MyListener());
第二种

定义一个匿名内部类实现onClickListener接口

Button bt2 = (Button) findViewById(R.id.bt2);
bt2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    System.out.println("介素第二种");

}

});
第三种

让当前activity实现onClickListener接口

Button bt3 = (Button) findViewById(R.id.bt3);
bt3.setOnClickListener(this);
第四种

给Button节点设置onClick属性,

android:onClick="click"
然后在activity中定义跟该属性值同名的方法

public void click(View v){
System.out.println("介素第四种");
}
短信发送器
功能:用户输入号码和短信内容,点击发送按钮,调用短信api把短信发送给指定号码

  1. 定义布局

输入框的提示

android:hint="请输入号码"

  1. 完成点击事件

public void send(View v){}

  1. 获取到用户输入的号码和内容

    EditText et_phone = (EditText) findViewById(R.id.et_phone);
    EditText et_content = (EditText) findViewById(R.id.et_content);
    String phone = et_phone.getText().toString();
    String content = et_content.getText().toString();

  2. 调用发送短信的api

    //调用发送短信的api
    SmsManager sm = SmsManager.getDefault();

    //发送短信
    sm.sendTextMessage(phone, null, content, null, null);
    添加权限

如果短信过长,需要拆分

List smss = sm.divideMessage(content);
常见布局
相对布局

RelativeLayout
组件默认左对齐、顶部对齐
设置组件在指定组件的右边

android:layout_toRightOf="@id/tv1"
设置在指定组件的下边

android:layout_below="@id/tv1"
设置右对齐父元素

android:layout_alignParentRight="true"
设置与指定组件右对齐

android:layout_alignRight="@id/tv1"
线性布局

LinearLayout
指定各个节点的排列方向

android:orientation="horizontal"
设置右对齐

android:layout_gravity="right"
当竖直布局时,只能左右对齐和水平居中,顶部底部对齐竖直居中无效
当水平布局时,只能顶部底部对齐和竖直居中
使用match_parent时注意不要把其他组件顶出去
当组件长度为match_parent时,权重设置的是显示优先级

android:layout_weight="1"
当组件长度为0dp时,权重设置的是按比例分配显示空间
帧布局

FrameLayout
默认组件都是左对齐和顶部对齐,每个组件相当于一个div
可以更改对齐方式

android:layout_gravity="bottom"
不能相对于其他组件布局
表格布局

TableLayout
必须有节点,一个tablerow节点是一行,它的一个子节点是一列
绝对布局

AbsoluteLayout
直接指定组件的x、y坐标

android:layout_x="144dp"
android:layout_y="154dp"

01-android快速入门的更多相关文章

  1. Hello, Android 快速入门

    Hello, Android Android 开发与 Xamarin 简介 在这两节指南中,我们将 (使用 Xamarin Studio或 Visual Studio)建立我们的第一个 Xamarin ...

  2. Realm for Android快速入门教程

    介绍 如果你关注安卓开发的最新趋势,你可能已经听说过Realm.Realm是一个可以替代SQLite以及ORMlibraries的轻量级数据库. 相比SQLite,Realm更快并且具有很多现代数据库 ...

  3. Android快速入门(转自 农民伯伯: http://www.cnblogs.com/over140/)

    前言 这是前段时间用于公司Android入门培训的资料,学习Android三周时间收集整理的,时间仓促,希望能对像我这样还没入门就直接上项目的人一点帮助  :) 声明 欢迎转载,但请保留文章原始出处: ...

  4. Xamarin.Android快速入门

    一.准备工作 1.创建一个空的解决方案,并命名为Phoneword 2.右击解决方案 新建->新建项目 并命名为Phoneword_Droid 二.界面 1.打开Resources文件夹-> ...

  5. android快速入门

    1.安装环境(jre  java 运行环境,jdk java 开发工具包) 2.android studio 一.快捷键的使用 1. To open any class in the editor q ...

  6. 01.Hibernate快速入门

    第一步:下载Hibernate5的运行环境 https://sourceforge.net/projects/hibernate/files/hibernate-orm/ 第二步:在数据库创建表 Cr ...

  7. 01 android ndk入门实例之android.mk编译

    前言 1 环境 android studio2.3 , window系统 2 ndk https://dl.google.com/android/repository/android-ndk-r16- ...

  8. 01 HTML快速入门

    HTML CSS JS (网络三剑客) 上网就是下载网页 浏览器 就是一个解释器 CS模式--------client serverbs模式--------browser server HTML是什么 ...

  9. 01.SpringMVC快速入门

    1.导入jar包 2.在web.xml中配置前端控制器 <!-- spring前端控制器 --> <servlet> <servlet-name>springmvc ...

  10. 01.MyBatis快速入门

    1.下载jar包 Mybatis包+数据库驱动包 https://github.com/mybatis/mybatis-3/releases 2.新建Java工程并导入jar包 3.创建数据库与表 C ...

随机推荐

  1. codeforces C. Valera and Tubes

    http://codeforces.com/contest/441/problem/C 题意:有n×m个方格,然后把这些方格分成k部分,每个部分内的方格的坐标满足|xi - xi + 1| + |yi ...

  2. struts2.0 struts.xml配置文件详解

    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quo ...

  3. -_-#setTimeout与setInterval

    你真的了解setTimeout和setInterval吗? 存在一个最小的时钟间隔 有关零秒延迟,此回调将会放到一个能立即执行的时段进行触发.JavaScript 代码大体上是自顶向下执行,但中间穿插 ...

  4. Android RSA加密对象数据

    前几天说了手头项目用MD5和双向加密DES来进行加密的,因为产品是在不断的改造中完善的.考虑到DES和MD5加解密还是会存下一定的风险,于是产品一拍,不行,听你们说MD5加密是不安全的,咱们产品以后做 ...

  5. Unique Paths II ——LeetCode

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  6. Jack Straws(判断线段是否相交 + 并查集)

    /** http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1840    题意:    判断线段 ...

  7. poj 3608 旋转卡壳求不相交凸包最近距离;

    题目链接:http://poj.org/problem?id=3608 #include<cstdio> #include<cstring> #include<cmath ...

  8. Piotr's Ants UVa 10881

    #include <cstdio> #include <cmath> #include <algorithm> #include <iostream> ...

  9. FC和SCSI

    IDE(Integrated Drive Electronics)即"电子集成驱动器",它的本意是指把"硬盘控制器"与"盘体"集成在一起的硬 ...

  10. tcp dump 截取http

    监听命令 sudo tcpdump -w mm.txt -s 0 -A -v  tcp dst port 8080 -w mm.txt :把记录下来的数据已二进制格式存储在mm.txt文件内  -w ...