微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Android嵌入式平台传感器应用开发水平仪

基于Android嵌入式平台传感器应用开发水平仪

时间:04-16 来源:互联网 点击:

itmap1,zuo1_X,zuo1_Y,paint);//左

canvas。drawBitmap(zhongBitmap1,zhong1_X,zhong1_Y,paint);//中

canvas。drawBitmap(xiaBitmap1,xia1_X,xia1_Y,paint);//下

//开始绘制气泡

canvas。drawBitmap(shangBitmap2,shang2_X,shang2_Y,paint);//上

canvas。drawBitmap(zuoBitmap2,zuo2_X,zuo2_Y,paint);//左

canvas。drawBitmap(zhongBitmap2,zhong2_X,zhong2_Y,paint);//中

canvas。drawBitmap(xiaBitmap2,xia2_X,xia2_Y,paint);//下

paint。setColor(Color。GRAY);//设置画笔颜色用来绘制刻度

//绘制上面方框中的刻度

canvas。drawLine(shang1_X+shangBitmap1。getWidth()/2-7,shang1_Y,shang1_X+shangBitmap1。getWidth()/2-7,shang1_Y+shangBitmap1。getHeight()-2,paint);

canvas。drawLine(shang1_X+shangBitmap1。getWidth()/2+7,shang1_Y,shang1_X+shangBitmap1。getWidth()/2+7,shang1_Y+shangBitmap1。getHeight()-2,paint);

//绘制左面方框中的刻度

canvas。drawLine(zuo1_X,zuo1_Y+zuoBitmap1。getHeight()/2-7,zuo1_X+zuoBitmap1。getWidth()-2,zuo1_Y+zuoBitmap1。getHeight()/2-7,paint);canvas。drawLine(zuo1_X,zuo1_Y+zuoBitmap1。getHeight()/2+7,zuo1_X+zuoBitmap1。getWidth()-2,zuo1_Y+zuoBitmap1。getHeight()/2+7,paint);

//绘制下面方框中的刻度

canvas。drawLine(xia1_X+xiaBitmap1。getWidth()/2-10,xia1_Y+xiaBitmap1。getHeight()/2-20,xia1_X+xiaBitmap1。getWidth()/2+20,xia1_Y+xiaBitmap1。getHeight()/2+10,paint);

canvas。drawLine(xia1_X+xiaBitmap1。getWidth()/2-20,xia1_Y+xiaBitmap1。getHeight()/2-10,xia1_X+xiaBitmap1。getWidth()/2+10,xia1_Y+xiaBitmap1。getHeight()/2+20,paint);

//中间圆圈中的刻度(小圆)

RectFoval=newRectF(zhong1_X+zhongBitmap1。getWidth()/2-10,zhong1_Y+zhongBitmap1。getHeight()/2-10,zhong1_X+zhongBitmap1。getWidth()/2+10,zhong1_Y+zhongBitmap1。getHeight()/2+10);

canvas。drawOval(oval,paint);//绘制基准线(圆)

}

在该方法中,根据相应图片的X、Y坐标将图片绘制到屏幕中,在图片的绘制过程中,同样动态根据相应图片的宽和高计算需要绘制到的位置坐标,以提高程序的可维护性与灵活性。

6相关XML文件的编写

完成了用于显示水平仪界面的自定义View的Java代码开发之后,就应该对布局XML资源文件进行编写,以将之前开发的自定义View添加到用户界面中。打开项目中res/layout目录下的main。xml,在其中编写如下的xml代码:

?xmlversion=1。0encoding=utf-8?>!--编码格式-->

android:orientation=vertical

android:layout_width=fill_parent

android:layout_height=fill_parent>!--线性布局-->

android:id=@+id/mainView

android:layout_width=fill_parent

android:layout_height=fill_parent/>!--自定义

View-->

/LinearLayout>

编写完布局文件main。xml后,还需要开发字符串资源文件strings。xml。打开res/values下的strings。xml文件,编写如下的代码:

?xmlversion=1。0encoding=utf-8?>!--编码方式-->

水平仪

在该文件中只是对字符串app_name进行了定义,在开发Android应用程序时,将字符串资源统一定义到一个xml文件中是一个很好的编程习惯。

编写完上述的xml资源文件后,为了调试还需要为此应用程序添加网络权限,打开项目根目录下的AndroidManifest。xml文件,在标签之前加入下列代码:

上述代码的功能为此应用程序添加了访问网络的权限。

7Activity类的开发

完成了自定义View以及XML文件的开发后,就可以对用户界面对应的Activity类进行开发,首先开发该类的代码框架,其代码如下:

packagewyf。ytl;//声明所在包

importandroid。app。Activity;//引入相关类

importandroid。hardware。SensorListener;

importandroid。hardware。SensorManager;

importandroid。os。Bundle;

publicclassSPYActivityextendsActivity{//继承ActivityMainViewmv;//主View

intk=45;//灵敏度

//SensorManagermySensorManager;

//真机

SensorManagerSimulatormySensorManager;//测试时@Override

publicvoidonCreate(BundlesavedInstanceState){super。onCreate(savedInstanceState);

setContentView(R。layout。main);//设置当前用户界面

mv=(MainVi

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top