zoukankan      html  css  js  c++  java
  • 我的android学习脚步----------- 的第一个应用

    刚刚开始学android开发,以前都是在别人调好的应用中修改JNI,现在需要自己一步步走

    开发环境:Eclipse+ADT

    配置不多讲了,引自:http://www.cnblogs.com/allenzheng/archive/2012/11/10/2762379.html

    http://www.cnblogs.com/vamei/p/3889208.html

    http://blog.csdn.net/jianghuiquan/article/details/8244374

    我主要是一步步记录自己学习android的过程。

    一、新建Android一个项目

                  ①打开Eclipse,单击菜单栏的“File”->把鼠标光标移动到“New”->在弹出的列表框中,如果直接能看到“Android Applicaion Project”选项项,则直接单击此选项,否则选择最下面的“Other...”,在弹出的窗口中,展开“Android”项,选择“Android Applicaion Project”,然后“Next”;

                        其实还有一个方法就是直接点Eclipse工具栏的如下图所指示的图标:

                      ②在新弹出的窗口中按下图提示填写相关信息,一路“Next”,直到点击“Finish”,这样第一个Android程序就创建好了,这是你会发现Eclipse左边多了一个你新创建的Android项目。

    二、编译Android项目

        build project 后  按下图所示选中项目->单击鼠标右键,在弹出的列表框中选择“Run As”->单击“Android Application”,这时会发现模拟器自动启动,等到模拟器完全启动好后,就可以看到项目的编译结果了。

    创建新应用后,我们就到了Eclipse的主界面:

     

    左侧的Package Explorer中可以浏览HelloWorld应用下的所有文件。点击后,文件内容将在右侧的编辑器主界面中打开。

     

    运行第一个应用

    我们可以在ADT中,控制应用的安装和运行

    Run -> Run As -> Android Application 

    由于我们还没有注册其它的安卓设备,此时安卓将自动运行模拟器(emulator)。模拟器从你的电脑中分出计算和存储资源,生成一个虚拟的安卓设备。HelloWorld应用将安装到模拟器中。可以在右下角的Console监视整个过程。

    三、Android项目工作区概览

      

      新建一个Android项目,Eclipse会自动帮我们建立诸多文件,我们看一下:

      其中:   

       第①部分:表示Java源程序;  

     第②部分:代表系统资源ID,类似于C语言的*.h文件,请千万不要手工修改R.java文件;  

     第③部分:Android4.2表示当前SDK是4.2,是目前最新版本;  

     第④部分:表示资源文件,其中layout布局你可以认为就是界面;

     第⑤部分:每一个Android项目都包含一个清单(Manifest)文件--AndroidManifest.xml,它存储在项目层次中的最底层。清单可以定义应用程序及其组件的结构和元数据。   

      Android项目中主要文件及文件夹的作用:  

    (1)src:存放所有的*.java源程序。   

    (2)gen:为ADT插件自动生成的代码文件保存路径,其中的R.java文件将保存所有的资源ID。   

    (3)Android 4.2:表示现在使用的Android SDK的版本是4.2。   

    (4)assets:可以存放项目中一些较大的资源文件,如图片、音乐、字体等。   

    (5)res:可以存放项目中所有的资源文件,如图片(*.png、*.jpg)、网页(*.html)、文本等。   

    (6)resdrawable-hdpi:保存高分辨率图片资源。   

    (7)resdrawable-ldpi:保存低分辨率图片资源。   

    (8)resdrawable-mdpi:保存中等分辨率图片资源。   

    (9)reslayout:存放所有布局文件,主要是用于排列不同的显示组件,在Android程序要读取此配置。   

    (10)resvalues:存放一些资源文件信息,用于读取文本资源,在文件夹中有一些约定的文件名称。(具体内容待以后详解)   

    (11)res aw:自定义的一些原生文件所在目录,如音乐、视频等文件格式。   

    (12)resxml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序中。   

    (13)resanim:用于定义动画对象。   

    (14)activity_main:配置所有的控件。   

    (15)R.java:此文件为自动生成并自动维护的,用户添加的控件会自动在此文件中生成一个唯一的ID,以供程序使用。   

    (16)AndroidManifest.xml:主要配置文件,用于配置各个组件或一些访问权限等。  

     总之,看着真的够复杂,你先有个印象就可以了。至少,你应该知道源文件是放在src文件夹;布局文件在res/layout文件夹,其他以后了解也ok。

     

    二、Android项目分析

      1、布局文件(reslayoutactivity_main.xml)   双击“reslayoutactivity_main.xml”打开布局文件。注意①代表布局文件图形界面;②代表布局文件代码界面。

             

      

      Android App应用程序类似于.net的Winform程序,其中①和②相当于标题栏,①为标题栏的图标,②为标题;③代表标签<TextViw>,类似于众多程序的Label。

      

      我们再来看一下代码:

     

      

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />
    
    </RelativeLayout>

      希望你在探讨本段代码之前,至少至少要有XML文件的概念,如果没有请了解这后再来继续学习。

      本段代码包含了两个重要标签:<RelativeLayout>和<TextView>,<RelativeLayout>代表线性布局管理器;<TextView>代表标签组件。其它的皆为两个标签的属性。

      

      我们着重来看一下:android:text="@string/hello_world",我们的运行结果是“Hello world!”而不是“hello_world”!

      Why?

    2、strings文本资源文件(resvaluesstrings.xml)

      双击“resvaluesstrings.xml”打开文本资源文件。与布局文件一样:①代表文本资源图形界面;②代表文本资源代码界面。

      

      

      

       我们打开文本资源strings.xml文件之后,当我们看到:

         <string name="hello_world">Hello world!</string>

      前面的疑虑应该顿消,原来如此啊!hello_world是文本资源文件中的一个标签而已,其真正的内容是“Hello world!”。

      你可以通过图形界面或者字符界面添加一个字符串资源,究竟你选择哪种,随你高兴!

     

    3、R.java文件(gen/com.genwoxue.hello/R.java)

      双击“gen/com.genwoxue.hello/R.java”打开资源ID文件。

      

      R.java资源文件保存所有资源的ID,譬如前面所讲的hello_world,在这里就是一个整数0x7f040001而已。

      如果你感觉这个文件很奇怪也很正常,除非你曾经学习或者写过C for windows应用程序就早已习以为常了。

      这个文件你最好只是看看,不要动它!!!

    4、AndroidManifest.xml文件

      双击“AndroidManifest.xml”项目配置文件。

      

      所有的Activity程序都在AndroidManifest.xml文件中进行注册,故该文件是整个Android项目的核心配置文件。

      在<application>节点中配置的android:icon="@drawable/ic_launcher",表示引用drawable(drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹中导入)资源配置的图标,引入图标的名称为ic_launcher。现在你可以更换应用程序图标了,你知道了它在哪!

      在<application>节点中配置的android:label="@string/app_name",表示此应用程序的标签名称从strings.xml文件中读取,内容为app_name对应的内容。现在你也可以更换应用程序标题了,你知道了它在哪!

      当然,你还可以更改Activity的标题,什么是Activity?

      Activity就是一个活动的窗体,一个项目应用程序可以包含多个Activity。

    5、MainActivity.java(src/com.genwoxue.hello/MainActivity.java)

      双击“src/com.genwoxue.hello/MainActivity.java”程序文件。

      

      本程序是Android整个项目的主程序,Activity是项目的基本组成部分。

      MainActivity继承Activity类,onCreate()方法是启动Activity地默认调用的方法。

      super.onCreate(savedInstanceState):调用父类的onCreate()方法;

      setContentView(R.layout.activity_main):调用布局文件。给MainActivity设置了要显示的视图R.layout.activity_main,视图由R类寻找并加载(感觉很像mvc,Activity相当于Controller而要显示的layout就相当于具体的页面)。

     

    可以看到Android.jar里面包含了很多包,常见包的作用如下:

    android.app-----------提供高层的程序模型、提供基本的运行环境

    android.content-------包含各种的对设备上的数据进行访问和发布的类

    android.database------通过内容提供者浏览和操作数据库

    android.graphics-------底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.

    android.location-------定位和相关服务的类

    android.media---------提供一些类管理多种音频、视频的媒体接口

    android.net------------提供帮助网络访问的类,超过通常的java.net.* 接口

    android.os-------------提供了系统服务、消息传输、IPC 机制

    android.opengl--------提供OpenGL 的工具

    android.provider-------提供类访问Android 的内容提供者

    android.telephony-----提供与拨打电话相关的API 交互

    android.view-----------提供基础的用户界面接口框架

    android.util------------涉及工具性的方法,例如时间日期的操作

    android.webkit---------默认浏览器操作接口

    android.widget---------包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用

  • 相关阅读:
    jquery animate()方法 语法
    jquery unload方法 语法
    jquery undelegate()方法 语法
    jquery unbind()方法 语法
    jquery trigger() 方法 语法
    jquery toggle()方法 语法
    jquery change() 函数 语法
    jquery blur()函数 语法
    jquery bind()方法 语法
    jquery checked选择器 语法
  • 原文地址:https://www.cnblogs.com/Anita9002/p/3941724.html
Copyright © 2011-2022 走看看