android基础

初步认识FC(force close)强制关闭安卓程序:安卓程序在运行时由于各种原因难免会出现疏忽或其它原因,在程序运行时会出现FC,这时应该如何解决?

首先就去看日志

1、拖到最下面,那个就是当前应用程序的错误日志。

2、看main(一个日志错误的开始);

先查看异常类型:例如:NullPointException

3、从异常类型开始往下查看,找到第一个自己写的代码。

4、双击定位到出现问题的代码行。

再根据日志的提示做相应的修改。

也可以用打印日志的方法来调试程序:根据日志的不同级别可以分为以下几种:

Log.v("onClick", "string:" + string); v:verbose 意思是啰嗦的意思;(黑色)

过滤的时候自它之上的日志等级都可以打印出来


Log.d 颜色:蓝色的; debug调试状态;

Log.i 绿色的 一般性的提示消息 information

Log.w 橙色的 warning警告 提醒我们注意要优化代码

Log.e 红色 错误 我们就要认真分析


ImageView

<ImageView

android:id="@+id/p_w_picpathView1"

android:layout_width="match_parent"

android:layout_height="match_parent"


android:src="@drawable/ic_launcher" //前景图片

android:scaleType="center" //图片的缩放模式

center :居中不放大

fitXY :按宽高比例缩放

fitStart : 从左侧开始按比例缩放

/>



2、res文件夹下面的资源文件命名规则(a~z 0~9 _)(不能以数字开头)


3、在代码里面改变Imageview的属性


//设置ImageView的前景图片

//p_w_picpathView.setImageResource(R.drawable.ic_stub);

//设置背景图片

p_w_picpathView.setBackgroundResource(R.drawable.ic_stub);

注:p_w_picpathbutton 继承 p_w_picpathView

LinearLayout 线性布局

android:orientation="vertical" 设置布局内部空间的排列方式

值: vertical 垂直

horizontal 水平


控件在LinearLayout里面特有的属性:

android:layout_gravity 控件在布局里面的对齐方式 值(上下左右 居中)

android:layout_weight 权重、比重;每个控件的这个属性值一样的话就平分布局

注:宽高必须为match的时候才能生效

平分的是 剩余空间

公式: 最终控件的大小 = 原大小 + (剩余空间/所有比重的和)

通用属性:

内容跟控件间的空隙:android:padding="30dp" (四周)

paddingTop 上

paddingBottom 下

paddingLeft 左

paddingRight 右


控件之间的间隙:android:layout_margin="50dp" (四周)

android:layout_marginTop 上

android:layout_marginBottom 下

android:layout_marginLeft 左

android:layout_marginRight 右


内容在控件里面的对齐方式:android:gravity="bottom|center_horizontal"

值:上下左右 居中 (可以搭配使用)


注意:跟layout_gravity区分


RelativeLayout 相对布局

控件在布局中的对齐方式:android:layout_centerHorizontal="true" 水平居中 值:boolean类型的。

android:layout_centerVertical="true" 垂直居中

android:layout_centerInParent="true" 居中

android:layout_alignParentLeft="true" 左对齐

android:layout_alignParentTop="true" 上对齐

android:layout_alignParentBottom="true" 下对齐

android:layout_alignParentRight="true" 右对齐

控件之间的位置关系:

android:layout_below="@+id/button1" 下 值:所对应控件的id

android:layout_above="@+id/button1" 上

android:layout_toLeftOf="@+id/button1" 左

android:layout_toRightOf="@+id/button1" 右


控件之间的对齐方式:android:layout_alignLeft="@+id/button1" 左对齐 值:所对齐的那个控件的id

android:layout_alignBottom="@+id/button1" 下对齐

android:layout_alignRight="@+id/button1" 右对齐

android:layout_alignTop="@+id/button1" 上对齐

FrameLayout 帧布局

特性:层叠控件

android:layout_gravity


TableLayout 表格布局

每一行就是一个TableRow

每一列的列宽是以宽度最大的那个控件为基准的。



AbsoluteLayout 绝对布局 (绝对座标来定位控件)

不建议使用


四大组件:

一, Activity


三大要素:

1)创建的类要继承Activity

2)setContentView() 引用一个布局文件

3)在清单文件里面注册

启动activity:

Intent intent = new Intent(); //Intent意图:起到了桥梁连接的作用。

intent.setClass(MainActivity.this, SecondActivity.class);

startActivity(intent );

消息传递: A——>B

第一个界面:

意图对象.putExtra(key, values); (键值对形式)

(key 是字符串类型

values 基本类型、对象)

第二个界面

Intent intent = getIntent(); //得到意图对象

String string = intent.getStringExtra("key");

消息传递:A->B->A

1、A启动B的方法:startActivityForResult(intent, 0);

2、B返回A并传递消息:

Intent data = new Intent();

data.putExtra("msg", "返回回来的消息");

setResult(0, data ); //返回一个消息

finish();//关闭当前界面

3、A接收消息:

重写onActivityResult();

消息接收到之后所做的动作就在onActivityResult()执行;

待续


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章