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. ASP.NET Routing

    ASP.NET Routing Other Versions   ASP.NET routing enables you to use URLs that do not have to map to ...

  2. 动态规划(斜率优化):BZOJ 3675 [Apio2014]序列分割

    Description 小H最近迷上了一个分割序列的游戏.在这个游戏里,小H需要将一个长度为N的非负整数序列分割成k+l个非空的子序列.为了得到k+l个子序列, 小H将重复进行七次以下的步骤: 1.小 ...

  3. 使用StaticResource给控件定义公共的样式和属性来写界面XAML

    一:效果图 二:定义公共的样式和属性 在MainPage.xaml中 <phone:PhoneApplicationPage.Resources> <SolidColorBrush ...

  4. select的使用(二)

    多表查询 /*基本连接*/ select a.Name,b.Name from T_Employee a,T_Department b where a.DepartmentId=b.Id /*内连接, ...

  5. Access denied for user 'root'@'localhost' (using password:YES) 解决方案

    1.打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件. 2.重启MySQL服务. 3.在命令行中输入“mysql -uroot -p” ...

  6. 使用MyEclipse实现简单的Servlet程序

    1. 创建一个继承于GenericServlet的类 3. 重写Server方法 package cn.school; import java.io.IOException; import javax ...

  7. 20个高级Java面试题

    这是一个高级Java面试系列题中的第一部分.这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题. 程序员面试指南:https://www.youtube.com/ ...

  8. motan源码分析十一:部分特性

    本章将描述motan部分的特性并对源码进行分析. 1.requestid的维护,使用了当前时间左移20位,再和一个自增变量组合 public class RequestIdGenerator { ); ...

  9. js判断字符串是否包含指定的字符

    判断字符串是否包含指定字符是很常用的功能,比如说,注册时用户名限制不能输入"管理员",或者需要js判断url跳转链接是否包含某个关键词等-- <!DOCTYPE html&g ...

  10. [Javascript] Advanced Console Log Arguments

    Get more mileage from your console output by going beyond mere string logging - log entire introspec ...