01-android快速入门
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:查看占用端口的进程
电话拨号器
功能:用户输入一个号码,点击拨打按钮,启动系统打电话的应用把号码拨打出去
- 定义布局
组件必须设置宽高,否则不能通过编译
android:layout_width="wrap_content"
android:layout_height="wrap_content"
如果要在java代码中操作某个组件,则组件需要设置id,这样才能在代码中通过id拿到这个组件
android:id="@+id/et_phone"
- 给按钮设置点击侦听
给按钮设置侦听
//通过id拿到按钮对象
Button bt_call = (Button) findViewById(R.id.bt_call);
//给按钮设置点击
bt_call.setOnClickListener(new MyListener());
得到用户输入的号码
//得到用户输入的号码,先拿到输入框组件
EditText et_phone = (EditText) findViewById(R.id.et_phone);
String phone = et_phone.getText().toString();把号码打出去
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把短信发送给指定号码
- 定义布局
输入框的提示
android:hint="请输入号码"
- 完成点击事件
public void send(View v){}
获取到用户输入的号码和内容
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();调用发送短信的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快速入门的更多相关文章
- Hello, Android 快速入门
Hello, Android Android 开发与 Xamarin 简介 在这两节指南中,我们将 (使用 Xamarin Studio或 Visual Studio)建立我们的第一个 Xamarin ...
- Realm for Android快速入门教程
介绍 如果你关注安卓开发的最新趋势,你可能已经听说过Realm.Realm是一个可以替代SQLite以及ORMlibraries的轻量级数据库. 相比SQLite,Realm更快并且具有很多现代数据库 ...
- Android快速入门(转自 农民伯伯: http://www.cnblogs.com/over140/)
前言 这是前段时间用于公司Android入门培训的资料,学习Android三周时间收集整理的,时间仓促,希望能对像我这样还没入门就直接上项目的人一点帮助 :) 声明 欢迎转载,但请保留文章原始出处: ...
- Xamarin.Android快速入门
一.准备工作 1.创建一个空的解决方案,并命名为Phoneword 2.右击解决方案 新建->新建项目 并命名为Phoneword_Droid 二.界面 1.打开Resources文件夹-> ...
- android快速入门
1.安装环境(jre java 运行环境,jdk java 开发工具包) 2.android studio 一.快捷键的使用 1. To open any class in the editor q ...
- 01.Hibernate快速入门
第一步:下载Hibernate5的运行环境 https://sourceforge.net/projects/hibernate/files/hibernate-orm/ 第二步:在数据库创建表 Cr ...
- 01 android ndk入门实例之android.mk编译
前言 1 环境 android studio2.3 , window系统 2 ndk https://dl.google.com/android/repository/android-ndk-r16- ...
- 01 HTML快速入门
HTML CSS JS (网络三剑客) 上网就是下载网页 浏览器 就是一个解释器 CS模式--------client serverbs模式--------browser server HTML是什么 ...
- 01.SpringMVC快速入门
1.导入jar包 2.在web.xml中配置前端控制器 <!-- spring前端控制器 --> <servlet> <servlet-name>springmvc ...
- 01.MyBatis快速入门
1.下载jar包 Mybatis包+数据库驱动包 https://github.com/mybatis/mybatis-3/releases 2.新建Java工程并导入jar包 3.创建数据库与表 C ...
随机推荐
- struts2支持的结果处理类型
有些东西常常在用,自己却忽略总结,这是一个特别的失误. struts2支持的结果处理类型 struts2的结果处理类型要在struts-default.xml文件中的<result-typs&g ...
- bzoj3668
noi水题,直接推出来每一位上取什么值才能取1直接搞就可以了 ..] of longint; x,n,i,j,k,t,m,ans:longint; fl:boolean; s:string; ch:c ...
- Linux企业级开发技术(1)——epoll企业级开发之简介
Epoll是当前在 Linux 下开发大规模并发网络程序的热门人选, Epoll 在 Linux2.6 内核中正式引入.和 select 相似,是高效 I/O 多路复用技术. 其实在 Linux 下设 ...
- wxsqlite3的加密模块单独编译
其实就是个编译过程,so easy,只是网上的方法各种,而且不是最新的,所以自己琢磨了. 1.从sqlite网站下载sqlite-amalgamation-xxx和sqlite-dll-win32-x ...
- 第一个ios程序
1.ios的理解: Operating System,简称OS,操作系统,ios是苹果操作系统. 2.Xcode开发环境: 苹果公司开发的编程软件,是开发人员建立OS X 和 iOS 应用程序的最快捷 ...
- “VICUTU威克多”高档男装
"VICUTU威克多"高档男装 北京威克多制衣中心是一家从事高档男装设计.制造和销售为一体的股份服装企业.主要经营品牌为"VICUTU"男装系列,主导产品为 ...
- 解码美国传奇网络券商:TradeStation
证券时报记者 桂衍民 张欣然 5万客户,交易量却占美国网络券商8%,网络影响力已连续两年被评为全美前五名,说起美国网络证券,必提TradeStation. TradeStation的确是美国证券界的一 ...
- 饿了么 ---Java面试
下午去饿了么参加面试,其实也满怀期待,毕竟也是个大公司. 交通:偏外环,真北路 环境:感觉压抑,不通风,面试人很多,可能是屋子高度低,不舒服. 填了资料,等待面试,两轮,真是憋屈 都是搞技术的,何苦为 ...
- VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池
VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池 终端服务池是指由一台或多台微软终端服务器提供服务的桌面源组成的池.终端服务器桌面源可交付多个桌面.它具有以下特征: 1.终端 ...
- DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)
本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com 注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...