您的位置:首页 > 移动开发 > Android开发

Android编程实例 Step by Step (1)

2010-03-14 20:14 435 查看
先说两点:

关于这篇文章就是本人学习android的一个笔记,也就是一个过程的记录。不算什么,有什么错误的话,是正常的。我的经验不是用Shared的,就是一个记录

关于Android 的安装等等的过程,这些从网上就能搜索到,这边就不记录了。直接从我学的实例入手

实例:添加bmp的显示

View的继承

1. public class DrawView extends View{}

2. View的三个构造函数:

注意:这个三个构造函数,编译的时候提示说只要一个就可以使用了,实际上不是的,如果不实现就有可能在XML的描述文件和代码的配合上出问题 。

public DrawView(Context context) {

super(context);

// TODO Auto-generated constructor stub

}

public DrawView(Context context, AttributeSet attrs){

super(context, attrs);

}

public DrawView(Context context, AttributeSet attrs, int defStyle){

super(context, attrs, defStyle);

}

AttrbuteSet和defStyle是把XML描述中的Attrs和Style相关的属性传给这个类。所以如果不实现这个,就会在(View)-强制转换->DrawView的时候出错.

3. View的OnDraw函数覆盖 @Override

OnDraw函数需要覆盖重写

public void onDraw(Canvas canvas)

{

super.onDraw(canvas);

}

Activity类的继承

Activity类是app运行的时候的入口类,有关这个类的说明和他的函数可以在很多地方找到使用方法。这不说了

1. setContentView函数:

这个函数可以用两个方式设置View,

a) SetContentView(<resourceid>);

b) SetContentView(new View(this));

这两个方式正好就是使用外部资源和自己使用代码布局的两种方式,需要深入理解下 。

2. findViewById(<resourceid>)

举例:

DrawView dview = (DrawView)findViewById(R.id.View01);

这个函数用来获取资源中某个id对应的View实例, 这里面有两点需要注意

a) R
资源的定义,这个定义实际是在gen包里面的资源id定义。有点像VC中的Resource.h文件
b) (DrawView)强制类型转换,必须要注意在DrawView函数中的构造函数必须要实现,否则运行时就会出错。

图片加载

正好我自己写了一个能直接读取Bitmap的函数,记录如下:

private Bitmap LoadBitmapFromRes(int ResID, int bmpWidth, int bmpHeight)

{

Resources r = getResources();

Drawable tile = r.getDrawable(ResID);

Bitmap bitmap = Bitmap.createBitmap(bmpWidth, bmpHeight, Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(bitmap);

tile.setBounds(0, 0, bmpWidth, bmpHeight);

tile.draw(canvas);

return bitmap;

}

LinerLayout:

这个内容,别的不说,就说一个:

1) Orientation属性
如果想做成没列形式的,就注意把这个属性设置成Vertical
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: