Android学习笔记:最简纯素大白板

  上午手敲了个纯素大白板,比helloworld都简陋的,目的是了解Android的框架结构。虽然工程浏览器里那一坨东西看起来比较凌乱,但是仔细分析一下,发现这个框架还是比较简单的。

  mfc是以窗体作为程序基本构建单元的。窗体是集成了显示、消息、数据封装等多种功能的基本模块。编写mfc程序,就好像搭积木一样,窗体就是单独的积木块,把零七八碎的窗体拼凑在一起,就组成了完整的程序。类似的,Android中的基本单元叫做Activity。开发Android程序,就是用Activity来搭积木。在mfc中,设置窗体属性有两种方式,一是使用工具箱进行静态配置,二是在程序中调用api进行动态配置。其中工具箱是可视化的设置界面,所有参数设置都保存到文本配置文件中,也可以直接修改该文本文件来设置窗体。Android也是采用类似的机制,Activity的配置参数可以写到xml文本文件中,也可以在程序中调用api设置参数。虽然Android开发环境带有图形化的工具箱,但是功能不如mfc的工具箱完备易用,按照Android开发的习惯,一般还是采用文本方式编辑xml配置文件。

  上图是用Android Studio创建的空白Android工程。要做一个最简纯素大白板,也就是仅仅能够完成启动功能的Android程序,需要哪些工作呢?首先要创建一个Activity,程序至少得有一个启动时能够显示出来的Activity。这个Activity的名字可以是任意的,在我的程序中,这个Activity叫做MainActivity,在上图中可以找到它。这是在一个java代码文件中定义的,代码如下:

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

代码中重写了onCreate方法,使用setContentView方法加载res/layout/main.xml中的参数对自身进行初始化设置。这个xml文件的名字也可以是任意的。

  res文件夹是用来梳理Android工程中用到的资源数据的,例如图片、字符串、字体、窗体参数。MainActivity引用的R.layout.main包含一组窗体布局设置参数,内容如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity"
    android:id="@+id/root"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</LinearLayout>

 

  完成以上工作之后,程序还是暂时无法启动,因为没有将MainActivity设置为默认Activity。在manifests/AndroidManifest.xml中添加默认Activity的设置,文件内容如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hanv.dspsir.mixview">

    <application android:allowBackup="true" android:label="@string/app_name"
        android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

  此时一个纯素大白板就完工了,我们可以在Android模拟器中查看程序运行效果:

  推荐使用基于开源Android模拟器的国内修改版进行调试模拟,比Android SDK带的模拟器快多了。一个Android程序,不论多么复杂,归根结底就是在这么个机制上添枝加叶而来的。补充一点:引号内以点号开头的字符串,表示当前包,省略一长串包名,例如".MainActivity"。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值