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

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

2015-09-23 14:20 465 查看
  上午手敲了个纯素大白板,比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"。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: