智能移动设备软件开发复习-第一天

写在前面:仅供参考,一般是自己留着看的,如有错误,敬请指正

第1章 Android基础入门
  • Linix内核层为Android设备的各种硬件提供了底层的驱动

  • Android运行库中包含了Dalvik虚拟机

  • java虚拟机和Dalvik虚拟机的区别:
    1️⃣编译后的文件不同:Java虚拟机运行的是.class字节码文件,而Dalvik虚拟机运行的则是其专有的.dex文件。

    2️⃣基于的架构不同:java虚拟机是基于栈的架构,栈是一个连续的内存空间,取出和存入的速度比较慢,而Dalvik是基于寄存器的架构,寄存器是CPU上的一块缓存,寄存器的存取速度远大于内存的存取。

  • 默认情况下,Dalvik虚拟机给每一个应用程序最多分配16MB内存

  • 创建项目成功后,Android Studio一般会生成两个默认文件,一个是布局文件activity_main.xml文件,一个是MainActivity.java文件。前者可以在布局中添加任意组件,后者可以实现功能代码。

  • MainActivity继承自AppCompatActivity,当Activity执行时首先会调用Oncreate()方法,在该方法中通过setContentView()将布局文件转换成View对象,展示在界面上。

  • 每个Android程序创建成功后,都会生成一个清单文件AndroidManifest.xml文件,该文件是整个项目的配置文件,程序中定义的四大组件(Activity、BroadcastReceiver、Service、ContentProvider)都需要在该文件中注册

  • res用于存放程序所用到的资源,例如图片、布局文件、字符串等。drawable目录是用于存放图片(一般尺寸较大)及xml文件,layout目录用于存放布局文件,mipmap目录通常用于存放应用程序图标,values目录用于放置定义的字符串。

  • 要发布到网上供他人使用,需要将文件打包成APK(Android Package),一般有两种build type,debug和release两种,其中debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序调试。release称为发布版本,往往进行了各种优化,以便于用户更好地使用。

第2章 Android UI开发
  • 创建:选中layout文件并单击右键,一次选中[New] ->[XML] ->[Layout XML File]选项

  • 布局的类型
    1️⃣LinearLayout,主要以水平和垂直方式来显示界面中的控件。修改orientation的属性,当空间水平(horizontal)排列时,显示顺序从左到右;当控件垂直(vertical)排列时,显示顺序依次为从上到下。

    android:orientation=""

    2️⃣RelativeLayout,相对布局是通过相对定位的方式制定控件位置,即以其他控件或父容器为参照物摆放控件的位置。在设计相对布局时要遵循控件之间的依赖关系,后放入控件的位置依赖于先放入的控件。

    3️⃣FrameLayout是Android中最为简单的一种布局,该布局为每个加入其中的控件创建一个空白区域(称为一帧,每个空间占据一帧)。采用帧布局方式设计界面时,所有控件都默认显示在屏幕左上角,并按照先后放入的顺序重叠播放,先放入的控件显示在最底层,后放入的控件显示在最顶层。

    4️⃣TableLayout是以表格形式排列控件的,通过行与列将界面划分为多个单元格,每个单元格都可以添加控件。表格布局需要和TableRow配合使用,每一行都由TbaleRow对象组成,因此TableRow的数量决定表格行数。而表格的列数是由包含最多控件的TableRow决定的。
    stretch_Columns:指定表格布局的第n列被拉伸
    layout_column:属性指定当前控件位于第几列

    5️⃣AbsoluteLayout是通过指定x,y坐标来控制每一个控件位置的。使用绝对布局需要精确地计算控件大小,同时还要考虑手机屏幕尺寸和分辨率,在开发中这是非常低效的,因此不推荐使用。
    android:layout_x = “”//设置x坐标
    android:layout_y = “”//设置y坐标

  • TextView:显示文本信息

  • EditText:接受用户输入信息

  • Button:相应用户的一系列点击事件

    • 通过findViewById()方法初始化空间,然后为按钮添加click()方法触发点击事件,并通过setText()方法修改按钮的文本信息。
    • 在Activity中实现OnclickListener接口。接下来修改MainActivity中的逻辑代码。

    1️⃣

    ...
    Button = (Button)findViewById(R.id.Button1); 
    Button.setOnClickListener(new View.OnClickListener(){
    	@Override
    	public void onClick(View v){
    		Button.setText("按钮1");
    	}
    });
    ...
    

    2️⃣

    public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    	...
    	Button = (Button)findViewById(R.id.Button1); 
    	Button.setOnClickListener(this);
    	@Override
    	public void onClick(View v){
    	switch(v.getId()){
    			case R.id.Button1:
    				Button.setText("按钮2");
    				break;
    		}
    	}
    	...
    }
    

    显然方法二在按钮数量较多的时候可以降低代码的重复率

写于 2020/12/19 0:50,太晚了,预期明天回来接着更后面的,睡了:)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值