【GeekBand】Android应用界面开发【第一周】学习笔记

1.      开始`Android`开发奇妙之旅

1)    搭建环境

Android Studio + Genymotion +ADT

与Eclipse相比,AS具有很多更方便快捷的功能。首先在安装方面谷歌提供的AS安装包中自带SDK等,不用像搭建Eclipse的环境那样需要自己手动寻找。其次在编程过程中AS自动import包,而Eclipse需要使用快捷键Ctrl+Shift+O。AS还可以快速创建常见的类的对象等。AS也同样支持插件。

Genymotion与AS自带的模拟器相比,运行速度更快,占用资源更小。

2)    第一步“装修”

Activity页面:主要的功能性代码,位于./app/src/main/java/(包名)/下

Layout布局:页面的样式、空间布局等视觉效果,位于./app/src/main/res/layout/下

Res资源:用到的相关的资源文件,位于./app/src/main/src/res/下,res下的values中存放了colors颜色、dimens元素、strings文字、styles样式

Activity页面通过代码setContentView()与相应的layout布局相关联

3)    创建

与Eclipse创建的过程相似,键入名称,选择SDK版本

Gradle:AS打包工具

AppCompatActivity:5.0以上版本新增,继承于FragmentActivity,FragmentActivity继承于Activity

@Override:重写

4)    控件

1)控件是View的子类

使用findViewById()找到控件(返回View对象引用,入过要赋值给具体控件变量需要强制转换)

2)TextView和Button

监听器OnClickListener响应onClick事件

3)思考:

多次点击如何判断:可以使用一个变量进行计数,每次点击加一,达到一定次数之后触发指定事件

按钮有其它的操作方式吗:控件Button是View的子类,因此按钮同样有长按事件等其他的操作方式

其他控件如何交互:控件是View的子类,同样有点击事件和长按事件等

5)    引用了不存在的资源可以用alt+Enter来添加或创建这个资源

6)    R.java存放了所有资源的静态常量,自动生成

7)    Layout

LinearLayout线性布局:像排队一样

RelativeLayout相对布局:相对于其他控件进行布局

gravity布局位置

orientation:布局排列方向

8)    签名、打包、发布

签名Build→Generate Signed APK

Key store path:秘钥存放位置Alias:区域Certifacate:验证

9)    AndroidManifest

allowBackup是否允许后台

icon图标,存放在mipmap中(旧版在drawable中),有五种不同的分辨率对应的图标

label应用的名字

2.     第一个`Android`应用

1)    修改版本号和版本名称

eclipse使用AndroidManifest中的versionCode和versionName定义版本,AS使用build.gradle中的versionCode和versionName定义版本

2)    简单跳转

Intent意图,“想干什么”

startActivity()打开意图

3)    启动界面

            <intent-filter>

               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER"/>

           </intent-filter>

3.     `Activity`你必须要知道的事

1)    带着东西去旅行

使用intent.putExtra()可以传递数据

如何接收数据:使用getIntent()得到意图,判断不为空时,intent.getStringExtra()来取得String类型数据(其他类型同理)

传递对象:对象提供Serializable(序列化)接口即可

startActivityForResult()可以请求跳转到的页面传回数据

页面的onActivityResult()方法处理传回的数据

在打开的页面里使用setResult()方法设置传回的代码号和intent数据

finish()关闭当前页面

2)    自动跳转:1秒后自动跳转到MainActivity;

    Handler mHandler= new Handler();

mHandler.postDelayed(newRunnable() {

    @Override

    public void run() {

        Intent intent = new Intent(SplashActivity.this,MainActivity.class);

         startActivity (intent,);

      }

},1000);

3)    Activity的生命周期

(图片来自http://developer.android.com/training/basics/activity-lifecycle/starting.html)


4.     多姿多彩的控件

1)    View常见的属性和事件:

宽度layout_width

高度layout_height

布局gravity

文本text

文本颜色textColor

文本大小textSize

是否为单行文本:singleLine

最大行数maxLines

背景background

点击事件setOnClickListener()

长按事件setOnLongClickListener()

边距,颜色,是否可见,内容是否居中,位置,,长按事件,触摸事件

2)    大小控件:wrap_content根据内容确定match_parent吻合父控件大小

3)    文本大小单位用sp,控件大小以及间距的单位用dp

4)    EditText编辑框

Plane Text普通的

Password密码inputType=”textPassword”

Person Name名字inputType=”textPersonName”

Phone电话号inputType=”phone”

5)    EditText特有:文本改变事件addTextChangedListener()对应监听器类型TextWatcher

6)    .9图:节省大小,可以设置拉伸区域(上左)和文本区域(下右)

7)    ImageButton和ImageView

ImageButton继承于ImageView

background设置背景图,背景是平铺于控件的

src资源,资源放置于空间中,默认不拉伸

scaleType 资源放置方式

8)    SeekBar动态进度条

getOnFocusChangeListener()焦点改变

9)    ProgressBar进度条

Max最大进度,Progress默认进度

setProgress()设置进度

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值