Android入门(一)

By admin in 亚洲必赢app在哪下载 on 2018年10月14日

原文链接:http://www.orlion.ga/387/

同等、安卓的体系架构

    1、

亚洲必赢app在哪下载 1

 

  1. linux内核层,这同样重合也安卓设备提供底层的驱动

  2. 系统运行库层,这同样交汇通过一些C/C++库来吧Android系统提供了严重性的特征支持。如SQLite库提供了数据库支持,OpenGL|EL库提供了3D绘图的支撑,Webkit库提供了浏览器内核的支持。另外还有安卓运行时库,主要提供有核心库能够允许开发者使用java开发android应用。另外Android运行时库还带有了Dalvik虚拟机,它让各个一个android应用还能够运作于单身的长河遭到,并有一个和谐的Dalvik虚拟机实例

  3. 采用框架层,这同一层重要提供了构建App时或许就此到之API

  4. 应用层,所有安装于大哥大及之应用程序都属于即同叠

 

    Android提供了呀:

  1. 季良组件,Android四大组件分别是活动Activity、服务Service、广播接收器Broadcast
    Receiver和情节提供器Content
    Provider。其中Activity是享有Android应用程序的伪装,凡是在运用中看到的事物还是放在Activity中的。Service一直以后台默默运行,即使用户退了使,服务还是足以连续运行的。Broadcast
    Receiver可以允许应用程序接收各处的播放消息,如电话、短信等,当然好的下为可以向他有广播消息。Content
    Provider则也应用程序之间共享数据提供了或,比如想只要读取系统电话仍被的牵连人,就得经情节提供器来实现。

  2. 长的系统控件,Android系统啊开发者提供了增长的体系控件,使得我们可挺轻松地修出优质的界面。当然如果你品尝比较强,不饱于系统自带的控件效果,也统统可定制属于自己之控件。

  3. SQLite数据库,Android系统还于带了这种轻量级、运算速度快的嵌入式关系数据库,不仅支持标准SQL还好透过Android封装好的API进行操作

  4. 地理位置一定,Android基本都停放了GPS

  5. 强有力的多媒体,Android提供了增长的多媒体服务,如音乐、视频、录音、拍照、闹铃等,这些还足以当APP中通过代码控制。

  6. 传感器,很多无线电话都放到了又传感器,如方向传感器、加速度传感器

 

二、第一个Android项目HelloWorld

    1、创建一个安卓project

    File->new-> Android Application Project

亚洲必赢app在哪下载 2

    然后共next。

亚洲必赢app在哪下载 3

    2、运行品种

    首先创建一个android模拟器,点击eclipse工具栏Android Virtual Device
Manager

亚洲必赢app在哪下载 4

    然后项目右键run as->Android Application。

 

    3、项目目录介绍:

        a.src:存放java代码的地方

        b.gen:自动生成的情节,主要出一个R.java文件,在类型受到其他地方长的另资源都见面以其间变化一个相应的资源id,不要涂改该公文

        c.assets:主要得存放有遵循程序打包的文书。另外如当次中之所以到了WebView加载本地网页的功力,所有网页相关的公文为还坐落这目录下

        d.bin:主要包含有每当编译时自动出的文件,其中会来一个脚下路编译好之apk安装包

        e.libs:如果项目受到之所以到了第三方jar包,就如将jar包放到libs目录下,放在这目录下的jar包都见面受活动添加至构建路径中

        f.res:项目被应用及之有所图片、布局、字符串等资源还置身这目录下,前面提到的R.java中的情吗是根据是目录下的文件自动生成的。这个目录下产生良多子目录,图片在drawable目录下,布局在layout目录下,字符串放在values目录下

        g.AndroidMainfest.xml:这是成套项目的部署文件,在次中定义的备四杀组件都用以这个文件中注册。另外还足以当这文件中为App添加权限声明。也可以重新指定构建项目时指定的主次最低兼容版本及对象版本。

        h.project.properties:这个文件通过一行代码指定了编译程序时所采用的SDK版本。

 

老三、HelloWorld如何运行起来的

首先打开AndroidMainfest.xml文件可以找到如下代码:

<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>

即时段代码表示对MainActivity这个activity注册,没有当AndroidMainfest.xml里登记的Activity是休能够用的。其中intent-filter里的有限实施代码很关键,<action
android:name=”android.intent.action.MAIN”/>和<category
android:name=”android.intent.category.LAUNCHER”/>表示MainActivity是此路之主Activity,在大哥大及点击应用图标,首先启动的虽是其一Activity。

    那么MainActivity有啊用吗?Activity是Android应用程序的假相,凡是在采用中见到的东西还是放在Activity中的,因此程序运行的界面就MainActivity这个Activity。MainActivity.java代码:

package ga.orlion.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

MainActivity是后续自Activity,Activity是Android系统提供的一个基类,我们项目被有着的运动都要要延续其才能够具有Activity的特性,然后可以看看MainActivity中产生三单方式,onCreateOptionsMenu()这个办法是用来创造菜单的,我们得以先无视它们,主要看一下onCreate()方法,onCreate()方法是一个运动呗创建时必要履行的法门。Android程序的统筹讲究逻辑和视图分离,不推荐Activity中一直写界面,通常是布局文件被写界面然后以Activity中引入进来。onCreate()方法第二实行调用了setContentView()方法,就是此法让当下底Activity引入了一个activity_main布局。布局文件还是概念在res/layout目录下。打开activity_main.xml:

<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="ga.orlion.helloworld.MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

此间要证实的凡咱当程序界面亚洲必赢app在哪下载中观看底HelloWorld!字符串不是在是文件中定义之而是单独的在res/values/string.xml中定义的,

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

    <string name="app_name">HelloWorld</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>

</resources>

于布局文件activity_main.xml中通过”@string/hello_world”的方引用的。

 

res目录生,所有以drawable开头的公文夹都是存放在图片的,所有因values开头的文书夹都是放开字符串的,layout文件夹是用来放开布局文件之,menu文件夹是因此来推广菜单文件的。这么多drawable文件夹是为吃程序兼容更多的装置。在制造程序的上太好能吃同样张图纸提供几乎只不同分辨率的副本,分别于这些文件夹下,当程序运行的时节因当下设施分辨率的音量自动选择加载哪个文件夹下之文书。如果单出雷同栽分辨率的图纸就放到drawable-hdpi文件夹下就算哼了。

于代码中经R.string.hello_world可以赢得该字符串的援,在xml中经过@string/hello_world可以获取该字符串的援

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 亚洲必赢app官方下载 版权所有