一、综合介绍。

Android项目的目录结构
Activity:应用被打开时显示的界面
src:项目代码
R.java:项目中所有资源文件的资源id
Android.jar:Android的jar包,导入此包方可使用Android的api
libs:导入第三方jar包
assets:存放资源文件,比方说mp3、视频文件
bin:存放编译打包后的文件,apk可直接在手机里安装了。
res:存放资源文件,存放在此文件夹下的所有资源文件都会生成资源id
drawable:存放图片资源
layout:存放布局文件,把布局文件通过资源id指定给activity,界面就会显示出该布局文件定义的布局
menu:定义菜单的样式
Strings.xml:存放字符串资源,每个资源都会有一个资源id
Android的配置文件(清单文件)
指定应用的包名 package="com.itheima.helloworld"
data/data/com.itheima.helloworld(上面代码指定的包名)
应用生成的文件都会存放在此路径下
Android的四大组件在使用前全部需要在清单文件中配置 的配置对整个应用生效
的配置对该activity生效
DDMS
Dalvik debug monitor service
Dalvik调试监控服务
常用的adb指令
Android debug bridge:安卓调试桥
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"
<!-- match_parent标识匹配父节点 -->
如果要在java代码中操作某个组件,则组件需要设置id,这样才能在代码中通过id拿到这个组件 android:id="@+id/et_phone"
2. 给按钮设置点击侦听
给按钮设置侦听 //通过id拿到按钮对象
Button bt_call = (Button) findViewById(R.id.bt_call);
//给按钮设置点击
bt_call.setOnClickListener(new MyListener());
3. 得到用户输入的号码
//得到用户输入的号码,先拿到输入框组件
EditText et_phone = (EditText) findViewById(R.id.et_phone);
String phone = et_phone.getText().toString();
4. 把号码打出去
Android系统中基于动作机制,来调用系统的应用,你告诉系统你想做什么动作,系统就会把能做这个动作的应用给你,如果没有这个应用,会抛异常
设置动作,通过意图告知系统 //把号码打出去
//先创建一个意图对象
Intent intent = new Intent();
//设置动作,打电话
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + phone));
//把意图告诉系统,启动活动
startActivity(intent);
添加权限 <uses-permission android:name="android.permission.CALL_PHONE"/>
点击事件的四种写法
第一种
定义一个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中定义跟该属性值同名的方法。这个方法必须有一个View参数 public void click(View v){
System.out.println("第四种");
}
短信发送器
功能:用户输入号码和短信内容,点击发送按钮,调用短信api把短信发送给指定号码
1. 定义布局
输入框的提示 android:hint="请输入号码"
2. 完成点击事件
先给Button组件设置onClick属性
onClick="send"
在Activity中定义此方法
public void send(View v){}
3. 获取到用户输入的号码和内容
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();
4. 调用发送短信的api
//调用发送短信的api
SmsManager sm = SmsManager.getDefault(); //发送短信
sm.sendTextMessage(phone, null, content, null, null);
添加权限 <uses-permission android:name="android.permission.SEND_SMS"/>
如果短信过长,需要拆分。拆分后以集合形式存储起来。 List<String> smss = sm.divideMessage(content);

二、核心总结。

<span style="font-size:12px;">Android项目目录结构
src:项目的java代码
gen
buildConfig:应用是否可以debug
R:保存项目中使用的资源的id
Android.jar:导入这个包,应用才可以使用Android的api
libs:存放第三方jar包
assets:资源文件夹,存放视频或者音乐等较大的资源文件
bin:存放应用打包编译后的文件
res:资源文件夹,在这个文件夹中的所有资源,都会有资源id,读取时通过资源id就可以读取
资源id不能出现中文
layout:布局文件夹,保存布局文件,Android中所有布局文件都是xml文件
menu:菜单配置文件夹,保存菜单的配置文件,决定菜单的样式
values
strings:字符串资源文件,用来定义字符串资源的
dimens:长度资源文件,用来定义长度资源
style:样式和主题资源文件
清单文件
package:应用在系统中的唯一识别
versionCode:应用的版本号
具有以下子节点的activity就是入口activity
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
安装路径
第三方应用保存路径:data/app
系统应用保存路径:system/app
data/data/包名文件夹:系统为每一个应用提供的一个专属空间
DDMS
Dalvik debug monitor service
ADB
Android debug bridge 安卓调试桥。 * 建立eclipse和Android设备之间的连接
ADB指令
adb start-server:启动adb进程
adb kill-server:杀死adb进程
adb install E:\yyh.apk
adb uninstall (应用包名).应用包名是某个项目的唯一标识
adb devices:列出与开发环境建立连接的android设备的列表
adb shell:进入Android命令行
Android的指令:
ls:罗列出当前目录下的所有文件和文件夹,与ide中的file explorer是一样的。
ps:罗列出当前系统运行的所有进程
netstat -ano:查看系统的端口占用情况</span>

Android初级教程理论知识(第一章快速入门)的更多相关文章

  1. Android初级教程理论知识(第三章测试&数据存储&界面展现)

    首先介绍单元测试,我在javaweb部分有详细介绍单元测试框架的一篇文章. 可以先看在javaweb中的单元测试详解篇http://blog.csdn.net/qq_32059827/article/ ...

  2. Android初级教程理论知识(第四章内容提供器)

    之前第三章理论知识写到过数据库.数据库是在程序内部自己访问自己.而内容提供器是访问别的程序数据的,即跨程序共享数据.对访问的数据也无非就是CRUD. 内容提供者 应用的数据库是不允许其他应用访问的 内 ...

  3. Android初级教程理论知识(第九章多媒体编程)

    多媒体概念 文字.图片.音频.视频 计算机图片大小的计算 图片大小 = 图片的总像素 * 每个像素占用的大小 单色图:每个像素占用1/8个字节 16色图:每个像素占用1/2个字节 256色图:每个像素 ...

  4. Android初级教程理论知识(第七章服务)

    服务两种启动方式 startService:服务被启动之后,跟启动它的组件没有一毛钱关系 bindService:跟启动它的组件同生共死 绑定服务和解绑服务的生命周期方法:onCreate->o ...

  5. Android初级教程理论知识(第六章广播接受者)

    总体概述: 广播接收者 现实中:电台要发布消息,通过广播把消息广播出去,使用收音机,就可以收听广播,得知这条消息 Android中:系统在运行过程中,会产生很多事件,那么某些事件产生时,比如:电量改变 ...

  6. Android初级教程理论知识(第五章页面跳转和数据传递)

    总体概述: Android四大组件 Activity BroadCastReceiver Service ContentProvider 创建第二个activity 新创建的activity,必须在清 ...

  7. Android初级教程理论知识(第二章布局&读写文件)

    常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRightOf="@id/tv1" 设置在指 ...

  8. Android初级教程理论知识(第十章Fragment与动画)

    Fragment 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容 生命周期方法跟Activity一致,可以理解把其为就是一个Activity 定义布局文件作为Fra ...

  9. Android初级教程理论知识(第八章网络编程二)

    HttpClient 发送get请求 创建一个客户端对象 HttpClient client = new DefaultHttpClient(); 创建一个get请求对象 HttpGet hg = n ...

随机推荐

  1. jQuery extend 方法使用 (转)

    方法介绍 jQuery 的 API 手册中,extend 方法挂载在 jQuery 和 jQuery.fn 两个不同的对象上,但在 jQuery 内部代码实现的是相同的,只是功能各不相同. 先看看官方 ...

  2. Restful中 @RequestParam,@PathParam,@PathVariable等注解区别

    @RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @P ...

  3. Linux的发行版,不同发行版之间的联系和区别

    Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用.这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写.它们通常包括了其他的系统软件和应用 ...

  4. Firebird数据库相关操作

    Firebird常用SQL 一.分页写法小例: 1 select first 10 templateid,code,name from template ; 2 select first 10 ski ...

  5. python socket网络编程之粘包问题详解

    一,粘包问题详情 1,只有TCP有粘包现象,UDP永远不会粘包 你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,其实是先把数据从用 ...

  6. 如何搭建samba服务?

    为了日后便于查询,本文所涉及到的所有命令集合如下: chkconfig iptables off #关闭防火墙命令 在Centos7中使用的是chkconfig firewalld off seten ...

  7. Errors running builder 'DeploymentBuilder' on project '工程名'

    打开myEclipse就会报 Errors running builder 'DeploymentBuilder' on project '工程名' xxxNullpointException 的错误 ...

  8. 网络流24题第一题(luogu2796飞行员配对方案)

    飞行员配对方案 二分图裸题,可以拿最大流怼. 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 ...

  9. Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数

    1.Redis和nosql简介,api调用 14.1/ nosql介绍 NoSQL:一类新出现的数据库(not only sql),它的特点: 1.  不支持SQL语法 2.  存储结构跟传统关系型数 ...

  10. mysql 跨服务器复制数据库

    比较了下,还是采用ssh的方式最简单.比如传数据库test_db mysqldump --databases test_db| ssh 121.121.121.121 test_db