zoukankan      html  css  js  c++  java
  • Adroid学习系列-入门(1)

    1.  安装

    安装Eclipse,安装Adroid插件。安装Adroid SDK

    2.  项目目录说明

    2.1.       建立Adroid项目

    与一般的Java项目一样

    1src文件夹是项目的所有包及源文件(.java),

    2res文件夹中则包含了项目中的所有资源,比如:程序图标(drawable)、布局文件(layout)、常量(values)等。

    3)下面来介绍其他Java项目中没有的的gen文件夹中的R.java文件和每个Android项目都必须有的AndroidManfest.xml文件。

    R.java文件是定义该项目所有资源的索引文件。自动生成,只读不能修改。

     

    2.2.       Rjava代码清单

     

    AndroidManfest.xml文件则包含了该项目中所使用的ActivityServiceReceiver

    2.3.       AndroidManfest.xml代码清单

     

    AndroidManfest.xml分析

    manifest

    根节点,描述了package中所有的内容

    xmlns:android

    包含命名空间的声明。xmlns:android=http://schemas.

    android.com/apk/res/android,使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据

    Package

    声明应用程序包

    application

    包含packageapplication级别组件声明的根节点。此元素也可包含application的一些全局和默认的属性,如标签、icon、主题、必要的权限,等等。一个manifest能包含零个或一个此元素(不能大余一个)

    android:icon

    应用程序图标

    android:label

    应用程序名字

    Activity

    用来与用户交互的主要工具。Activity是用户打开一个应用程序的初始页面,大部分被使用到的其他页面也由不同的activity

    实现,并声明在另外的activity标记中。注意,每一个activity必须有一个<activity>标记对应,无论它给外部使用或是只用于

    自己的package中。如果一个activity没有对应的标记,你将不能运行它。另外,为了支持运行时查找Activity,可包含一个或多个<intent-filter>元素来描述activity所支持的操作

    android:name

    应用程序默认启动的activity

    intent-filter

    声明了指定的一组组件支持的Intent值,从而形成了IntentFilter。除了能在此元素下指定不同类型的值,属性也能放在这里来描述一个操作所需的唯一的标签、icon和其他信息

    action

    组件支持的Intent action

    category

    组件支持的Intent Category。这里指定了应用程序默认启动的activity

    uses-sdk

    该应用程序所使用的sdk版本相关

     

    资源文件中一些常量的定义。

    2.4.       String.xml代码清单

     

    <resources>

      <stringname="app_name">测试</string>

      <stringname="h0">《黄鹤楼》</string>

      <stringname="h1">-崔颢[hào]</string>

      <stringname="h2">昔人已乘黄鹤去,此地空余黄鹤楼。</string>

      <stringname="h3">黄鹤一去不复返,白云千载空悠悠。</string>

      <stringname="h4">晴川历历汉阳树,芳草萋萋鹦鹉洲。</string>

      <stringname="h5">日暮乡关何处是?烟波江上使人愁。</string>

      <stringname="menu_settings">设置</string>

    </resources>

    String中的代码与R.java代码对应。

     

    publicstaticfinalclass string {

            publicstaticfinalintapp_name=0x7f050000;

            publicstaticfinalinth0=0x7f050003;

            publicstaticfinalinth1=0x7f050004;

            publicstaticfinalinth2=0x7f050005;

            publicstaticfinalinth3=0x7f050006;

            publicstaticfinalinth4=0x7f050007;

            publicstaticfinalinth5=0x7f050008;

            publicstaticfinalinthello_world=0x7f050001;

            publicstaticfinalintmenu_settings=0x7f050002;

     }

    另外也可以定义颜色常量:例如:color.xml

    <?xml version="1.0"encoding="utf-8"?>

    <resources>

       <color name="status_idle">#cccccc</color>

       <color name="status_done">#637a47</color>

       <color name="status_sync">#cc9900</color>

       <color name="status_error">#ac4444</color>

    </resources>

     

    资源文件的使用:

    Resources r =this.getContext().getResources(); 

    String appname= ((String) r.getString(R.string.app_name)); 

    String h0= ((String) r.getString(R.string.h0));

     

    2.5. 布局文件activity_main.xml代码清单

     

    <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

        android:orientation="vertical"

        android:layout_width="match_parent"

        android:layout_height="wrap_content">

     

       <TextView

            android:id="@+id/textView0"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/h0"

            android:textSize="@dimen/TextSize"/>

        <TextView

             android:id="@+id/textView1"

             android:layout_width="wrap_content"

             android:layout_height="wrap_content"

             android:text="@string/h1"

             android:textSize="@dimen/TextSize"/>

        <TextView

             android:id="@+id/textView2"

             android:layout_width="wrap_content"

             android:layout_height="wrap_content"

             android:text="@string/h2"

             android:textSize="@dimen/TextSize"/>

        <TextView

             android:id="@+id/textView3"

             android:layout_width="wrap_content"

             android:layout_height="wrap_content"

             android:text="@string/h3"

             android:textSize="@dimen/TextSize"/>

         <TextView

              android:id="@+id/textView4"

              android:layout_width="wrap_content"

              android:layout_height="wrap_content"

              android:text="@string/h4"

              android:textSize="@dimen/TextSize"/>

         <TextView

              android:id="@+id/textView5"

              android:layout_width="wrap_content"

              android:layout_height="wrap_content"

              android:text="@string/h5"

              android:textSize="@dimen/TextSize"/>

              

    </LinearLayout>

    LinearLayout

    线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的。

    android:orientation

    表示这个介质的版面配置方式是从上到下垂直地排列其内部的视图。

    android:layout_width

    定义当前视图在屏幕上所占的宽度,fill_parent即填充整个屏幕。

    android:layout_height

    定义当前视图在屏幕上所占的高度,fill_parent即填充整个屏幕。

    wrap_content

    随着文字栏位的不同而改变这个视图的宽度或高度。

    layout_weight

    用于给一个线性布局中的多个视图的重要度赋值。所有视图都有layout_weight值,默认为零,即需要显示多大的视图就占据多大的屏幕空间。如果值大于零,则将父视图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight值和该值在当前屏幕布局的整体 layout_weight值,以及在其他视图屏幕布局的layout_weight值中所占的比例。

     

    在这里,布局中设置了一个TextView,用来配置文本标签Widget,其中设置的属性android:layout_width为整个屏幕的宽度,android:layout_height可以根据文字来改变高度,而android:text则设置了这个TextView要显示的文字内容,这里引用了@string中的hello字符串,即String.xml文件中的@string/h0所代表的字符串资源。h0字符串的内容这就是我们在项目运行时看到的字符串。

    2.6.       主程序文件MainActivity.java的代码清单

    package com.example.testad;

     

    import android.os.Bundle;

    import android.app.Activity;

    import android.view.Menu;

     

    publicclassMainActivityextends Activity {

     

       @Override

       protectedvoidonCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

       }

     

       @Override

       publicbooleanonCreateOptionsMenu(Menu menu) {

            // Inflate the menu; this adds items to the action bar if it is present.

            getMenuInflater().inflate(R.menu.activity_main,menu);

            returntrue;

       }

       

    }

    主程序MainActivity类继承自Activity类,重写了void onCreate(BundlesavedInstanceState)方法。在onCreate方法中通过setContentView(R.layout.main)设置了Activity要显示的布局文件(layout activity_main.xml)。

    3.  运行效果

    4.  总结Android开发的特点

    1.布局文件是通过XML实现。

    2.文件分类清晰。

    3.代码和UI分开,在国际化和程序维护方面有着巨大的作用。如果你的Android程序需要自适应国际化,比如说多国语言等问题,那么就可以定义不同语言的UI布局,在程序装载时调用不同的布局。而且,如果我们需要修改UI的一些问题,就不必查看代码了,直接更改这些布局文件即可很方便.当然,这需要开发者在开发时使用这种MVC框架,尽量减少使用"硬编码"

    代码下载

  • 相关阅读:
    ICON 收集
    vs2015with_update_3
    文件大全,以后就从这些格式入手fuzz
    诗词
    tools URL 收集
    (四)ORBSLAM运动估计
    (三)ORB特征匹配
    (二)ORB描述子提取源码思路与实现
    (一)ORB描述子提取
    双目立体匹配——归一化互相关(NCC)
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3249234.html
Copyright © 2011-2022 走看看