首页 > 代码库 > 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