首页 > 代码库 > Android Studio

Android Studio

     Android 应用需要几个特别的配置文件。应用逻辑主要是由java开发语言编写。

 

     Andriod开发工具把这些文件转换成Android applicaion.这个工具能调试、打包、部署、和运行开发的application。

Android Software Development Kit(Android SDK)和 Gradle具有这些功能。

     Android SDK 包含Android debug bridge(adb)。abd可以让你连接一个虚拟或者真实的Andoid设备。还能管理连接的设备和调试你的应用。

     许多android的配置文件都是XML文件。Android Studio提供特别的编辑器来编辑这些特殊的文件。这些编辑器可以让你在XML文件和规范性的用户接口。

 

Debug certificate and expire date

     Android applications 必须在签名之后才能被安装到设备上。在开发过程中,Android工具会自动使用一个自签名的证书,称为调试密钥。

这个调试证书有有效期,从创建开始直到之后的365天,当这个证书到期,就会出现安装错误而无法安装因为这个证书已经失效。

为了解决这个问题,我们删除debug.keystore 这个文件。这个文件的默认存储位置在

~/.android/  on OS X and Linux

C:\Documents andSettings\[username]\.android\ on Windows XP

 

 

C:\Users\[username]]\.android\ on Windows Vista and Windows 7

如果这个调试键丢失或者删除了,它是会通过工具自动生成。

 

ANDROID STUDIO 练习

  1.创建一个新的Android project

 

连接小米手机调试出错:Installation failed with message Failed to establish session。

需要关闭小米手机的 MIUI优化:设置--开发者选项--最后一项‘MIUI’优化

 

AVD

android虚拟机的创建

通过GPU渲染来进行速度优化

通过Intel system image(系统映像)来进行速度优化:在下载SDK处--勾选右下角的‘detail’可以看到Api版本下有 x86 system image, 安装该项。之后便可以在主机系统上安装Intel虚拟机。

windows 下:

下载安装附加驱动:android sdk manager界面下 --一个Api下拉框--Extras--Intel x86 Emulator Accelerator(HAXM)

下载成功后你可以在android studio安装目录下的/extras/intel folder.中,还需要你去运行安装.exe文件。

完成后,你就可以创建一个新的虚拟机是基于Intel的虚拟机。在执行开发的应用时这个虚拟机运行得很快。

 

 

Android Manifest。anroidmanifest.xml详细构造:http://developer.android.com/guide/topics/manifest/manifest-intro.html.

1.配置你的android application

android application 的组件、设置、元数据都在AndroidManifest.xml文件中标注。

Activity、service、content provider 组件静态的被申明在这个文件中。Broadcast receiver也可以在这个文件中定义,可以在运行时动态的注册。这个文件会在Application安装时会被android系统读取。android系统会对Application的manifest文件标记注册的功能进行计算和检测.

AndroidManifest.xml 文件示例:

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

  package="com.example.andoid.rssreader"

  android:versionCode="1"

  android:versionName="1.0"

  <uses-sdk

    android:minSdkVersion="16"

    androi:targetSdkVersion="19" />

  <uses-permission android:name="android.permission.INTERNET" />

  <application

    android:name="RssApplication"

    android:allowBackup="falise"

    android:icon="@drawable/ic_launcher"

    android:label="@string/app_name"

    android:theme="@style/AppTheme" >

    <activity

      android:name="RssfeeActivity"

      android:label="@string/title_activity_main" >

      <intent-filter>

        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />

      </intent-filter>

    </activity>

     <activity
            android:name=".DetailActivity"
            android:label="Details" >
        </activity>
        <activity android:name="MyPreferenceActivity" >
        </activity>

        <service android:name="RssDownloadService" >
        </service>
    </application>
</manifest>

文件结构解析:

版本和包:

其中package 属性定义的为该文件中引用的java对象定义的的基本包,如果JAVA对象在不同的包中,则必须使用完整的限定名来申明。谷歌市场要求每个Android application使用它唯一的包名。一个好的习惯就是域名反写形式。

android:versionName和android:versionCode指定开发的应用的版本。versionName随开发者用任意字符串赋值。VersionCode则必须使用int整型。

 

Application 和 components

<application>标签定义application的一些元数据,可以选择性的定义一个明确的应用类。这个标签也是申明组件的容器。

  <activity>标签定义一个activity. name属性指定一个类,和<package>中定义的内容是相联系的。

  <intent-filter>的属性是保存着一些过滤信息。在程序运行时通过这些信息来找到对应activity。

例如:<activity android:name=".TestActivity" android:label="TestActivity">

<intent-filter >

<action android:name="cc.android/myaction.leo"/>

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter>

</activity>

在MainActivity.java里启动它:

intent.setAction( "cc.android/myaction.leo");

//不加下面这行也行,因为intent的这个属性默认值即系Intent.CATEGORY_DEFAULT

intent.addCategory(Intent.CATEGORY_DEFAULT);

startActivity( intent );
 
这样就能启动对应的Activity。和activity类似,你可以定义其他的组件。

 

Required device configuration

应用必须的一些设备配置

<uses-configuration android:reqHardKeyboard="true" /> 指定设备必须有键盘。

 

Installation location

可以指定程序是否可以安装在设备的外部存储中。

 

Using assets

res 目录的是规范化的,且res目录只能有一层子目录,而且这些子目录必须是预定义的。

而assets目录可以存储任何类型的数据,在assets目录中可以建任意层次的子目录。你也可以在/res/raw文件夹下存放非规范化的数据。assets无疑是更好的一种方法。

 

 

Layout

Constraint layout

FrameLayout

LinearLayout

RelativeLayout

GridLayout

SrollView

 

Android Studio