Android学习_7/22
一、Android项目目录结构
1. AndroidManifest.xml:整个Android项目的配置,注册各组件
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
//主活动
<category android:name="android.intent.category.LAUNCHER"
/>
//首先启动的活动
</intent-filter>
</activity>
2.
Activity
逻辑与视图分离
1)
AppCompatActivity:向下兼容Activity,Activity的子类。
2)
oneCreate()方法:创建活动必执行。
3.
build.gradle文件
1)
Gradle是项目构建工具
2)
一个项目有两个build.gradle
a)
最外层目录下:全局的项目构建配置,一般无需修改
b)
app目录下
defaultConfig闭包:
applicationId:在此修改包名
dependencies闭包:
项目的依赖关系:本地、库、远程
二、资源
引用资源:
代码中通过R.string.app_name
XML中通过@string/app_name
三、日志工具的使用
1.
log.v
()
log.d()
log.i() log.w()
log.e()
级别:低→高
2.
Log.d("MainActivity","oneCreate
execute");
tag:过滤打印信息(一般是当前类名,logt可自动生成TAG常量)
msg:打印的具体内容
3.
logcat:过滤器、日志级别控制、关键字过滤
四、活动的基本用法
1.
创建活动
2.
创建和加载布局
a)
XML定义Id:@+id/button_1
b)
加载布局:setContentView(R.layout.first_layout);
3.
在AndroidManifest中注册
使用<activity>,放在<application>标签下(自动注册)
a)
声明主活动:
b)
加标题栏
<activity android:name=".FirstActivity"
android:label="This is FirstActivity">
4.
活动中使用Toast
// findViewById()获取布局中定义的元素,再将View向下转化成Button
Button button1 = (Button)
findViewById(R.id.button_1);
/*
* Button的setOnClickListener()方法:注册监听器
* Toast.makeText()方法:创建Toast对象
* 这里使用匿名内部类,View是一个类,OnClickListener()是接口
* */
// button1.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View
v) {
Toast.makeText(FirstActivity.this,"You click Button
1",
Toast.LENGTH_SHORT).show();
}
});
step1:定义触发点——按钮(使用findViewById()获取)
stpe2:为按钮注册监听器,监听器中有OnClick()方法,点击按钮就执行OnClick()
stpe3:OnClick()中调用Toast.makeText()创建Toast对象,该方法有三个参数:Context、显示的文本、显示时长
Android学习_7/22的更多相关文章
- android学习笔记22——Notification
Notification ==> Notification是显示在手机状态栏的消息,位于手机屏幕的最上方: 一般显示手机当前网络.电池状态.时间等: Notification所代表的是一种全局效 ...
- Android学习系列(22)--App主界面比较
本文算是一篇漫谈,谈一谈当前几个流行应用的主界面布局,找个经典的布局我们自己也来实现一个.不是为了追求到底有多难,而是为了明白我们确实需要这么做. 走个题,android的UI差异化市场依然很大,依然 ...
- Android学习_7/27
一. 自定义控件 1. 引入布局 多个活动需要相同的布局时,使用引入布局的方式来实现代码复用. activity_main.xlm中加入<include la ...
- Android学习_7/26
四种基本布局 1. 线性布局(LinearLayout) android:layout_gravity:指定控件在布局中的对齐方式 android:gravity:指定文字在控件中的对齐方式 andr ...
- Android学习_7/25
常用控件 Android控件使用规律:先定义id,再指定宽度和高度,然后适当加入一些控件特有的属性 1. TextView 在界面上显示一段文本 2. Button ...
- Android学习_7/24
一. 活动的生命周期 1. 活动状态 运行:位于返回栈栈顶 暂停:不在栈顶,但仍可见 停止:不在栈顶,完全不可见 销毁:从栈中移除 2. 活动的生存期 ...
- Android学习_7/23
1. 在活动中使用Menu 1) 什么是Menu? 2) 怎么实现? step1:res目录下创建Menu resource file,使用<item… ...
- 我的android学习经历22
eclipse自动退出 今天打开eclipse的时候出现自动退出,也就是打不开了 我上网查了一下,把工作区间改了一下就好了 修改默认工作区间的如下:(不是默认的话直接修改就好) eclipse\con ...
- Android学习系列(23)--App主界面实现
在上篇文章<Android学习系列(22)--App主界面比较>中我们浅略的分析了几个主界面布局,选了一个最大众化的经典布局.今天我们就这个经典布局,用代码具体的实现它. 1.预览图先看下 ...
随机推荐
- Django基础之模型(models)层(上)
目录 Django基础之模型(models)层 单表查询 必知必会13条 神奇的双下划线查询 多表查询 外键的字段的增删改查 表与表之间的关联查询 基于双下划线的跨表查询(连表查询) 补充知识 Dja ...
- 了解MyISAM与InnoDB的索引差异(转)
出处原文: 1分钟了解MyISAM与InnoDB的索引差异 数据库的索引分为主键索引(Primary Inkex)与普通索引(Secondary Index).InnoDB和MyISAM是怎么利用B+ ...
- C语言经典100例(1-50)
[程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的排列. main ...
- 牛客 2C 圈圈
题面: shy有一个队列a[1], a[2],…,a[n].现在我们不停地把头上的元素放到尾巴上.在这过程中我们会得到n个不同的队列,每个队列都是a[k],a[k+1],…,a[n],a[1],…,a ...
- Mysql学习(四)之通过homebrew安装mysql后,为什么在系统偏好设置里没有mysql
原因 用brew install packagename是用来安装命令行工具的,一般不可能影响到图形界面. mysql官方文档是通过dmg文件安装的: The MySQL Installation P ...
- luogu P4482 [BJWC2018]Border 的四种求法
luogu 对于每个询问从大到小枚举长度,哈希判断是否合法,AC 假的(指数据) 考虑发掘border的限制条件,如果一个border的前缀部分的末尾位置位置\(x(l\le x < r)\)满 ...
- Linux中的grep 命令
介绍grep文本处理命令,它也可以解释正则. 常用选项: -E :开启扩展(Extend)的正则表达式. -i :忽略大小写(ignore case). -v :反过来(invert),只打印没有匹配 ...
- 多个分组树分别实现单选jq+angular
$scope.seletedGroup=[];var $li=$("#departmentsContainer>ol>li");$.each($li,function( ...
- Linux系统吃“内存”现象
而当我们使用free命令查看Linux系统内存使用情况时,会发现内存使用一直处于较高的水平,即使此时系统并没有运行多少软件.这正是Windows和Linux在内存管理上的区别,乍一看,Linux系统吃 ...
- 基于SDN4.2.4的neo4j实例
首先添加maven依赖 (1)SND的声明 <dependency> <groupId>org.springframework.data</groupId> < ...