我的Android第二章:Android目录结构
嗨!各位,小编又和大家分享知识啦,在昨天的博客笔记中小编给大家讲解了如何去配置Android工具以及SDK中的一些配置,那在今天的学习小编会带给大家哪些Android知识呢?首先我们看一下今天的学习目录吧。
知识一:了解Android项目目录结构
知识二:Android的配置文件(清单文件)
知识三:了解DDMS的作用
知识四:adb执行命令和配置
知识五:简单案例(打电话)
Android项目的目录结构
- Activity:应用被打开时显示的界面
- src:项目代码
- R.java:项目中所有资源文件的资源id,在文件下可以通过id读取到layout中的文件信息,相当于程序的资源指针,添加任意资源都会自动生成一个相应的资源id,这文件不要手动将它删除
- Android.jar:Android的jar包,导入此包方可使用Android的api
- libs:导入第三方jar包
- assets:存放资源文件,比方说mp3、视频文件
- bin:存放编译打包后的文件
- res:存放资源文件,存放在此文件夹下的所有资源文件都会生成资源id
- drawable:存放图片资源
- layout:存放布局文件,把布局文件通过资源id指定给activity,界面就会显示出该布局文件定义的布局
- menu:定义菜单的样式
- Strings.xml:存放字符串资源,每个资源都会有一个资源id
- AndroidManifest.xml:是你整个Android项目的配置文件,定义的四大组件都要在该文件下进行注册,还有使用应用权限的添加声明
Android的配置文件(清单文件)
指定应用的包名
package="com.itheima.helloworld"
- data/data/com.itheima.myFirstAndroid(上面代码指定的包名)
- 应用生成的文件都会存放在此路径下
Android的四大组件在使用前全部需要在清单文件中配置
- 配置对整个应用生效
- 配置对该activity生效
DDMS
- Dalvik debug monitor service
- Dalvik调试监控服务:在该调试控制器中可以看到你对应的设备连接信息,还有你与哪些设备建立了连接操作
adb执行命令和配置
Android debug bridge:安卓调试桥:adb是Eclipse与服务器设备建立的连接桥梁,adb程序能够可以给任何一款Android设备建立连接,在adb程序还可以获取你当前连接设备的所有信息
在启用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:查看占用端口的进程
哈哈,可能有些学者已经遇到问题了,就是在打开DOM窗口执行命令时候怎么执行不了呢?
adb配置
没关系,问题好解决,只需要配置一下adb的环境变量即可
首先打开 控制面板-->系统和安全-->系统 -->高级设置-->环境变量 -->Path变量
点击编辑:首先要找到你的sdk中存放adb.exe文件目录
获取该目录的路径
注:演示路径:F:\AndroidStudy\adt-bundle-windows-x86_64-20140702\sdk\platform-tools
然后将该路径复制到你的Path变量值中即可
简单案例(打电话)
功能:用户输入一个号码,点击拨打按钮,启动系统打电话的应用把号码拨打出去
1.新建一个Android工程
2.点击res 目录下的layout文件打开activity_main.xml 配置文件
3.生成几个控件,一:文本编辑控件、二:按钮控件
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
>
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请输入你要拨打的电话号码" /> <EditText
android:id="@+id/edit_Test"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_cell"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="打电话"
/>
</LinearLayout>
注1:组件必须设置宽高,否则不能通过编译
android:layout_width="wrap_content"
android:layout_height="wrap_content"
为了方便我们控制布局内容我们将xml中的 <RelativeLayout ></RelativeLayout >改为了<LinearLayout></LinearLayout>
以下是控件生成的效果图
注2:如果相对应的控制是自己手动生成的,那么必须指定一个控件Id android:id="@+id/textView1" 否则运行出错
android:id="@+id/textView1"
4.编写我们的Java代码
点击src 下的MainActivity.java文件 ,编写如下代码
package com.example.myfirstandroid; import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取一个btn_cell按钮对象
Button btn = (Button)this.findViewById(R.id.btn_cell);
//给该按钮对象绑定一个按钮监听事件
btn.setOnClickListener(new MyListener()); } //编写一个监听内部类实现OnClickListener监听接口
class MyListener implements OnClickListener{ @Override
//重写该接口的单击事件方法
public void onClick(View v) {
//获取编辑文本对象
EditText editTest = (EditText)findViewById(R.id.edit_Test);
//获取该编辑文本的内容
String number = editTest.getText().toString() ; //获取一个系统内置的一个打电话的功能,告诉系统我们要执行打电话操作
//获取一个创建图对象
Intent intent = new Intent();
//将动作封装到创建图中
intent.setAction(Intent.ACTION_CALL);
//设置打给谁操作
intent.setData(Uri.parse("tel:" + number)); //以上执行完毕将该动作告诉系统
startActivity(intent);
} }
}
以上简单小程序代码已经写完了,赶紧运行试一下吧!
总结:今天小编的Android知识点已经分享完了,今天的学习内容不多只是大致理解一下Android程序基本结构,该案例中也运用了内部类的定义,如果不懂内部类操作的学者也可以参照一下小编编写的内部类学习笔记也许会帮助到你哦!地址:http://www.cnblogs.com/xiaotaojing/p/6069184.html 因为内部类的定义在Android的开发中非常常见也经常使用,如果有某些学者对该篇比较有不懂的或者有疑惑的地方可以给小编留言哦!谢谢
我的Android第二章:Android目录结构的更多相关文章
- Android群英传》读书笔记 (1) 第一章 Android体系与系统架构 + 第二章 Android开发工具新接触
第一章 Android体系与系统架构 1.Dalvik 和 ARTDalvik好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.ART好比是一辆组装好了的自行车,装好就可以骑了. ...
- android源码的目录结构
android源码的目录结构 [以下网络摘抄] |-- Makefile ! l/ a5 n% S% @- `0 d# z# a$ P4 V3 o7 R|-- bionic ...
- 第二章 Android系统与嵌入式开发
第二章 Android系统与嵌入式开发 第二章首先要先了解Android和嵌入式Lnux系统有什么区别和联系,嵌入式Linux系统是在嵌入式设备中运行Linux系统:Android系统是在嵌入式设备中 ...
- 疯狂Android第二章:Adapter以及部分控件使用
第二章 重点:1.理解View以及各种布局的优缺点,适用场景. 2.熟练掌握adapter原理与用法. 3.熟悉其它控件的基本使用方法. /////////////////////////////// ...
- android学习——项目的目录结构
学习开发之前要了解工程目录下的文件夹下文件的用意,是以HelloWorld为例: 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件 ...
- android项目的的目录结构
然后我们看一下Helloword的程序目录: 我们可以看到 大致有的文件: 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RES.L ...
- Android项目实现Module目录结构分组
一.背景 项目需求的频繁迭代,新的产品功能在不断添加和延伸,随之带来的是,项目技术复杂度的提升. 近几年来,Android模块化.组件化相关技术得到极速发展,将项目整体进行分层,不同的层次之间依据实际 ...
- android学习——android项目的的目录结构
然后我们看一下Helloword的程序目录: 我们可以看到 大致有的文件: 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RE ...
- Android MAVEN项目标准目录结构
1.标准目录结构: src -main –bin 脚本库 –java java源代码文件 –resources 资源库,会自动复制到classes目录里 –fi ...
随机推荐
- java并发编程实战学习(3)--基础构建模块
转自:java并发编程实战 5.3阻塞队列和生产者-消费者模式 BlockingQueue阻塞队列提供可阻塞的put和take方法,以及支持定时的offer和poll方法.如果队列已经满了,那么put ...
- 大话ASP.NET开发(第一章 html5+css3+解耦问题的探讨)
一.拉近我们的距离 我想,很多人会问,如今IE6还占据颇多份额的中国,html5.css3是否还很遥远?我会很直接告诉他们:其实就在你的眼前.我们来看两个图: ...
- ADO.NET基础--组成部分
第一部分:数据提供程序,在命令空间:System.Data.SqlClient下: Connection--连接数据库的通道 Command----命令执行对象 DataReader--数据读取器 D ...
- dp - 2016腾讯笔试 A
2016腾讯笔试 A Problem's Link -------------------------------------------------------------------------- ...
- LINQ的First与FirstOrDefault方法和Last与LastOrDefault方法。
First与FirstOrDefault的方法,均是返回集合中的第一个元素,区别在于如果没有结果,前者(First)会有抛出异常,后者(FirstOrDefault)会返回默认值.Last与LastO ...
- C#常用字符串加解密方法封装
C#中常用的字符串加密.解密方法封装,包含只加密但不解密的方法.收藏起来备用. //方法一 //须添加对System.Web的引用 //using System.Web.Security; /// & ...
- C# POST Https请求的一些坑
写在前面: 从上次,跟合作方的站点对接开始就产生了这个问题,当时用C#进行POST提交,总是会出现问题,找了很久发现对方的站点居然是TLS 1.2 的. 正文: 然而,在.NET FrameWork ...
- MSCRM 获取列表所选记录相关信息
问题:如何通过JS获取列表中所选记录信息? 解决办法: The CRM2011 Ribbon has a special set of parameters called 'CrmParameters ...
- EC笔记,第一部分:1.视C++为一个语言联邦
C++可看作由以下四种次语言组合而成1.C语言 高效,内置数据类型,数组,区块,语句,指针,预处理器,没有重载.异常.模板2.类 构造,析构,封装,继承,多态,迟绑定3.模板 模板元 ...
- Spring MVC静态资源处理(转)
优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...