Android Studio 学习(一)
XML给元素定义ID
- 定义id android:id="@+id/button_1"
- 引用id
id/id_name
解决Failed to load Appcompat Actionbar with unknown error
- 在Project 中找到\app\src\main\res\values\styles.xml
- 更改
<style name="AppTheme" parent="Theme.Appcompat.Light.DarkActionBar">
为<style name="AppTheme" parent="Base.Theme.Appcompat.Light.DarkActionBar">
在AndroidManifest.xml文件注册活动为主活动
<activity android:name=".FirstActivity" android:label="This is FirstActivity"//项目的标题> <intent -filter> <action android:name="android.intent.action.Main"/>//主活动 <category android:name="android.intent.category.LAUNCHER"/>//首先启动这个活动 <i/intent-filter> </activity>
在布局中添加按钮
<Button android:id="@+id/button_1"//代码中指定的名字 android:layout_width="match_parent" android:layout_height="wrap_content"//高度随内容而变 android:text="Button1" />
在主活动上 配置按钮的点击事件
Button button1=(Button) findViewById(R.id.button_1); button1.setOnClickListener(new View.OnClickListener()) { @Override public void onClick(View v) { } }
Toast 小提醒
Toast.makeText(FirstActivity.this,"text",Toast.LENGTH_SHORT/LENGTH_LONG).show();
菜单
res->menu->main(Menu resource file) <menu xmln:.. > <item android:id="@+id/add_item" android:title="Add"/> //菜单选项名字 </menu>
ctrl+o 重写onCreateOptionsMenu() 方法
public boolean onCreateOptionsMenu (Menu menu) { getMenuInflater().inflate(R.menu.main,menu); return true; }//显示菜单
重写onOptinsItemSelected 方法
public boolean onOptionsItemSeleted { swith (item.getItemId()) { switch(item.getItemId()) { case R.id.add_item: Toast.makeText(this,"you clicked add",Toast.LENGTH_SHORT).show(); break; } return true; } }
摧毁一个活动
finish();
使用intent切换活动
显式切换
Intent intent =new Intent(FirstActivity.this ,SecondActivity.class); startActivity(intent);
- 隐式切换
- Intent intent =new Intent ("com.example.activitytest.ACTION_START");
- intent.addCategory("com.example.activitytest.MY_CATEGORY");
stratActivity(intent);//默认category
<intent -filter>
向下一个活动传递数据
- Intent intent=new Intent(FirstActivity.this ,SecondActivity.class);
intent.putExtra("extra_data",data)
- Intent intent=getIntent();
String data=intent.getStringExtra('extar_data');
返回数据给上一个活动
在第一个活动中
- Intent intent =new Intent (FirstActivity.this,SecondActivity.class);
startActivityForResult(intent,1)//1为请求码
switch(requestCode){//重写onActivityResult方法
case 1:
if(resultCode==RESULT_OK)
{
String returnedData=data.getStringExtra("data_return");
}
}
在第二个活动中
按钮退出
- Intent intent=new intent();
- intent.putExtra("data_return","Hello Fiffff..")
- setResult(RESULT_OK,intent)//对应上面的forresult方法 第一个参数两个值 RESULT_CANCELED
- finash();‘
back退出 重写onBackPressde()方法
内容与上面一样
按钮排列bug
- The layout editor allows you to place widgets anywhere on the canvas, and it records the current position with designtime attributes (such as layout_editor_absoluteX.) These attributes are not applied at runtime。
- 点击这个 infer constraints
活动回收栈 保存临时数据
- 重写onSaveInstanceState()方法
outState.putString("data_key",tempData);
- 在onCreate方法中有
if (savedInstanceState!=null)
{
String tempData=savedInstanceState.getString("data_key");
}
活动的启动模式
- 四种 standard singleTop singleTask singleInstance
- 在mainfest.xml中注册 android:launchMode="singleTop"
- standard 每次启动都会创建一个新的活动
- singleTop 在栈顶时创建不会创建新的 而是直接用当前的 不在栈顶时创建新的
- singleTask 有活动时 这个活动之上的活动都出栈 没有活动时直接创建
- singleInstance 这个活动会创建新的栈
启动活动的最佳写法
p74
Android Studio 学习(一)的更多相关文章
- Android Studio 学习 - 基本控件的使用;Intent初学
Android Studio学习第三天. 今天主要学习 1. RadioButton.CheckBox.RatingBar.SeekBar等基础控件的使用. 结合Delphi中相类似的控件,在这些基本 ...
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- Android Studio学习笔记
转:http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1 背景 相信大家对Android Studio已经不陌生了,An ...
- Android Studio 学习 - HelloWorld
今天是学习Android Studio的第2天,加油! 1. 首先要记录下使用Android Studio的一个代码自动完成的功能.平常基本上用Delphi,乍一换工具,各种不习惯,或者说不熟悉.按照 ...
- Android Studio 学习 - 程序安装
痛定思痛,从今天开始专心学习AndriodStudio.希望以此为契机,把Java学扎实.更希望自己能坚持下去,不要半途而废. 记录一些日常的工作以及碰到的问题,权当勉励自己.荀子曰:吾尝终日而思矣, ...
- Android Studio 学习笔记(1)
最近从Eclipse转到Android Studio IDE,很多东西需要学习,本文是个记录. 项目结构 在Anroid Studio 中,一个Project 包括多个Module,每个Module下 ...
- Android Studio 学习笔记1.1 创建自己的第一个安卓项目并且打包APK
自从上一次安装完安卓开发工具Android Studio后抽时间看视屏尝试编写自己的第一个安卓项目约两周的时间 每天下班后会花上1~2小时的时间去学习 目前的成果如下:次元宅的我.apk 嘛 总而 ...
- android studio学习----gradle配置
转载地址:http://blog.csdn.net/loongggdroid/article/details/47037413 1.gradle的简单介绍 Gradle是可以用于Android开发的新 ...
- android studio学习---快捷键
快捷键学习 TIPS: 1.异常代码块 或者自定义代码块结构 Ctrl+Alt+T 或者 File | Settings | File and Code Templates When yo ...
- Android Studio 学习笔记(四):Adapter和RecyclerView说明
在现版本中,滚动控件有多种,而相比于ListView,GridView,RecyclerView的用途更广,因此将前两者作为Adapter适配器的引入,再对RecyclerView进行简单讲解. MV ...
随机推荐
- maven项目(多模块)
在eclipse下构建maven项目,该项目由多个子模块组成. 1.创建一个父项目 NEW -->project-->maven-->maven Project,点击下一步,进入ne ...
- 亲子编程玩Micro:bit-动力小车“麦昆”
少儿编程之风已经吹进各大城市,编程猫.乐博机器人.童程童美等专业培训机构逐渐进入大家的视野,年龄段已经从K12逐渐降低到幼儿园中班.其实,少儿编程的门槛并不高,它不会让孩子一上手就去接触代码,而是会通 ...
- 手把手教你Chrome浏览器安装Postman(含下载云盘链接)【转载】
转载自:http://www.ljwit.com/archives/php/278.html 说明: Postman不多介绍,是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.本文主要 ...
- 谈一款MOBA类游戏《码神联盟》的服务端架构设计与实现(更新优化思路)
注:本文仅用于在博客园学习分享,还在随着项目不断更新和完善中,多有不足,暂谢绝各平台或个人的转载和推广,感谢支持. 一.前言 <码神联盟>是一款为技术人做的开源情怀游戏,每一种编程语言都是 ...
- 巧用这19条MySQL优化,效率至少提高3倍
阅读本文大概需要 3.8 分钟. 作者丨喜欢拿铁的人 https://zhuanlan.zhihu.com/p/49888088 本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 1 ...
- 每天学点SpringCloud(五):如何使用高可用的Eureka
前几篇文章我们讲了一下Eureka的基础使用,但是呢有一个很重要的问题,我们讲的都是单机版的情况,如果这个时候Eureka服务挂了的话,那么我们的服务提供者跟服务消费者岂不是都废了?服务提供者和消费者 ...
- MySQL-5.7.19 在阿里云 CentOS-7.0 上的安装
工具准备 查看系统是否安装了yum工具: [root@wangbo srv]# rpm -qa | grep yum yum-metadata-parser-1.1.4-10.el7.x86_64 y ...
- 描述一下 cookies,sessionStorage 和 localStorage 的区别
cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密),数据会在浏览器和服务器间来回传递.sessionStorage和localStorage不会自 ...
- python基础-分支判断语句(4)
1.分支判断语句 1.单一if结构 2.if-else结构 3.if-elif-else结构 4.if嵌套结构 2.单一if结构 只有一种情况的时候 if 条件: 执行语句 说明: if后面的条件成立 ...
- 深度学习Dubbo系列(入门开篇)
此文档为系列学习文档 这系列文档详细讲解了dubbo的使用,基本涵盖dubbo的所有功能特性.在接下来的文章里会详细介绍. 如果你正依赖dubbo作为你业务工程的RPC通信框架,这里可以作为你的参考手 ...