资源描述
. . .
Android开发环境的搭建
盖楼打地基--开发配环境
Writer-- ray
一.引言
0基础,0开始的,风风火火搞Android开发,不求大牛附体,只求进步多多!团队给了我机会,我来分享我的见闻。如果有什么不对的地方,还望不吝赐教。
在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个“神级案例—HelloWorld-findlaw”。
首先介绍开发所要进行的几步操作:
1、环境搭建
1.1、JDK安装
1.2、Eclipse安装
1.3、Android SDK安装
1.4、ADT安装
2、 HelloWorld
1、环境搭建
1.1、JDK安装
如果还没有安装JDK的话,可以到ORACLE官网:.oracle./technetwork/indexes/downloads/index.html这里下载,然后安装,并设置计算机环境变量。步骤如下:
我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
JAVA_HOME值为: D:\Program Files\Java\jdk1.6.0_18(你安装JDK的目录)
CLASSPATH值为:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;
Path: 在开始追加 %JAVA_HOME%\bin;
NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。
安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java –version 查看JDK的版本信息。
1.2、Eclipse安装
如果你还么有Eclipse的话,可以去这里下载,下载适合本地计算机操作系统的Eclipse IDE 版本:
Eclipse下载 可以到官网下载:.eclipse.org/downloads/
1.3、Android SDK安装
在Android Developers下载android-sdk,下载地址:developer.android./sdk/index.html#download下载完成后解压到任意路径。
运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的"Force s://..."这项,再点击Available Packages 。
选择希望安装的SDK与其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包
在用户变量中新建PATH值为:Android SDK中的tools绝对路径。
(E:\android\AndroidSDK\tools我的本地环境)
设置Android SDK的环境变量
“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。
运行 android –h 如果有类似以下的输出,表明安装成功:
图3、验证Android SDK是否安装成功
1.4、ADT安装
打开 Eclipse IDE,进入菜单中的 "Help" -> "Install New Software"
点击Add...按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入dl-ssl.google./android/eclipse。
确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们。 如下图所示:
然后就是按提示一步一步next。
完成之后:选择Window > Preferences...
在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为:
D:\Androidproject\androidSDK 点击Apply、OK。配置完成。
1.5、创建AVD
为使Android应用程序可以在模拟器上运行,必须创建AVD。
1、 在Eclipse中。选择Windows > Android SDK and AVD Manager (新版本的eclipse中没有这个选项,可以点击运行AndroidSDK有弹框如下:
点击左上角的Tool:
如上图,点击后:
2、点击左侧面板的Virtual Devices,再右侧点击New
3、填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值
4、点击Create AVD即可完成创建AVD
注意:如果你点击左侧面板的Virtual Devices,再右侧点击New ,而target下拉列表没有可选项时,这时候你:
点击左侧面板的Available Packages,在右侧勾选 s://dl-ssl.google./android/repository/repository.xml,
然后点击Install Selected按钮,接下来就是按提示做就行了
要做这两步,原因是在1.3、Android SDK安装中没有安装一些必要的可用包(Available Packages)。
2、FindLaw
通过File -> New -> Project 菜单,建立新项目"Android Project"
然后填写必要的参数,如下图所示:(注意这里我勾选的是Google APIs,你可以选你喜欢的,但你要创建相应的AVD)
相关参数的说明:
Project Name: 包含这个项目的文件夹的名称。
Package Name: 包名,遵循JAVA规,用包名来区分不同的类是很重要的,我用的是com.wayou.findlaw。
Activity Name: 这是项目的主类名,这个类将会是Android的Activity类的子类。一个Activity类是一个简单的启动程序和控制程序的类。它可以根据需要创建界面,但不是必须的。
Application Name: 一个易读的标题在你的应用程序上。
在"选择栏"的 "Use default location" 选项,允许你选择一个已存在的项目。
点击Finish后,点击Eclipse的Run菜单选择Run Configurations…
选择“Android Application”,点击在左上角(按钮像一纸上有个“+”号)或者双击“Android Application”, 有个新的选项“New_configuration”(可以改为我们喜欢的名字)。
在右侧Android面板中点击Browse…,选择FindLaw
在Target面板的Automatic中勾选相应的AVD,如果没有可用的AVD的话,你需要点击右下角的Manager…,然后新建相应的AVD。如下图所示:
然后点Run按钮即可,运行成功的话会有Android的模拟器界面,如下图所示:
FindLaw:就是我们加进模拟器中的应用程序。
二.FindLaw应用案例简单介绍:
1.目录:
注意:
1).这里面src目录为.java类文件目录,每个类必须继承Activity类;
2).gen目录为系统自动生成的目录,不需要开发人员维护;
这里面包括两个文件:
这里需要特别注意一下
3).res目录为.xml文件目录,对应我们MVC开发模式中的view层。
其中:
a).drawable文件夹:
存放的项目中所用到的图片,图片格式为.png格式。有以上几种规格,以适应各个方面应用。
b).layout文件夹:
存放view视图布局对应的.xml文件:
视图布局有几种规格,可以自行参考其文件说明,这里注意说明一下以下一些会遇到的小问题:
如图:
1.类似struts.xml文件中对action.class类引用的路径。可以写全路径,也可以写为如图所示,并且注意那个小点不可以省略。建议写全路径。
2.表示视图标示添加id的方法。其中,表示引用R文件下,类名为id的静态部类,其id为register。
3.表示引用R文件下String静态部类中名称为app_register的属性。
c).values文件夹:
存放view视图界面中所用的字符(如文字).
当view视图比较多时,我们可以根据业务需求各自为单位建立.xml文件。
4).AndroidManifest.xml类似我们JavaEE开发中用到的Struts.config.xml文件,(回顾:应用struts对应的Action需要在Struts.config.xml文件中进行配置).在这里我们需要对每一个视图文件进行配置
a).自己创建的activity类要在这里标注,写绝对路径,也可以写相对路径,建议写绝对路径。
b).每个项目只需要一个activity需要这段配置。其他的activity配置可以省略不写。
5)..properties
介绍了android项目的版本信息。
二.UI设计
1.步骤:
1).首先要在layout文件夹下创建.xml文件:
例如:多选框--- .xml文件
<RelativeLayoutxmlns:android=schemas.android./apk/res/android
xmlns:tools="schemas.android./tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:id="+id/textview_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="string/hello"
/>
<Spinner
android:id="+id/spinner_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
2).在.xml文件中用到的文字信息可以单独在values文件夹下自己定义。
例如:string.xml文件中,当UI页面比较多,相关信息比较多的时候也可以自己根据实际情况自行在values文件夹下定义.xml属性文件。
这样做的好处:方便维护,方便国际化。
<?xmlversion="1.0"encoding="utf-8"?>
<resources>
<stringname="hello">新的开始</string
</resources>
用法:android:text="string/hello"
系统是根据“”从R.java文件中的string部类中索引为“hello”来匹配关于“android:text”的属性“新的开始”。
3).在src目录下定义关于UI页面相关的activity类。
在activity类中:我们需要将自定义的activity类继承Activity类
publicclass CheckboxActivity extends Activity {
Override
protectedvoid onCreate(Bundle savedInstanceState)//
{
super.onCreate(savedInstanceState);
setContentView(R.layout.checkbox_test01);//引用UI页面信息
//定义按钮
final CheckBox cb_box01=(CheckBox) findViewById(R.id.checkbox_01);//根据id索引,找到对应相关信息
final CheckBox cb_box02=(CheckBox) findViewById(R.id.checkbox_02);
final CheckBox cb_box03=(CheckBox) findViewById(R.id.checkbox_03);
Button button=(Button) findViewById(R.id.check_button);
//为点击事件设定按钮属性
button.setOnClickListener(new OnClickListener() {
//对按钮事件建立监听
Override
publicvoid onClick(View v) {
String s="";
if(cb_box01.isChecked())
{
s+=cb_box01.getText();
}
if(cb_box02.isChecked())
{
s+=cb_box02.getText();
}
if(cb_box03.isChecked())
{
s+=cb_box03.getText();
}else
{
s="请选择至少一项目";
}
System.out.println(s);
}
});
final Button bt_ok=(Button) findViewById(R.id.ok);
bt_ok.setOnClickListener(new OnClickListener() {
Override
publicvoid onClick(View v) {
String s="";
if(bt_ok.isClickable())
{
s=(String) bt_ok.getText();
}
}
});
}
完成以上几步操作后,需要在AndroidManifext.xml文件中定义引用的Activity类。
例图:
<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="schemas.android./apk/res/android"
package=".ray.androidtest01"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="16"/>
<uses-permission
android:name="android.permission.READ_CONTACTS"/>
<application
android:allowBackup="true"
android:icon="drawable/ic_launcher"
>
<activityandroid:name=".ray.androidtest01.CheckboxActivity"android:label="string/app_name">
<intent-filter>
//此项intent-filter,每个工程项目有一个就ok,也可以有多个
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
然后我们就可以启动项目,检验我们的UI在模拟器中运行的效果了。
4).启动项目,在模拟器中测试。
右键项目:
点击,弹出:
点击Run:
这就是我们设计的Checkbox UI,其他UI设计步骤,如上!
特别强调:android UI 与java中 有关web页面设计用到的ongl表达式非常类似。
三.Android中对Date的操作
Activity的生命周期
1).SQLite数据库简介
SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。
SQLite由以下几个部分组成:SQL编译器、核、后端以与附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),是调试、修改和扩展SQLite的核变得更加方便。所有SQL语句都被编译成易读的、可以在SQLite虚拟机中执行的程序集。SQLite的整体结构图如下:
值得一提的是,袖珍型的SQLite竟然可以支持高达2TB大小的数据库,每个数据库都是以单个文件的形式存在,这些数据都是以B-Tree的数据结构形式存储在磁盘上。
在事务处理方面,SQLite通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进程或线程想数据库执行写操作之前,必须获得独占锁。在获得独占锁之后,其他的读或写操作将不会再发生。
SQLite采用动态数据类型,当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型存储,SQLite称这为“弱类型”。但有一个特例,如果是INTEGER PRIMARY KEY,则其他类型不会被转换,会报一个“datatype missmatch”的错误。
概括来讲,SQLite支持NULL、INTEGER、REAL、TEXT和BLOB数据类型,分别代表空值、整型值、浮点值、字符串文本、二进制对象。
下面,我们就来亲自操作一下SQLite数据库。
在操作之前,朋友们要先下载SQLite数据库,官方的下载页面是sqlite.org/download.html,
我是在Windows下试验,所以我选择了Precompiled Binaries For Windows下面的sqlite-shell-win32-x86和sqlite-analyzer-win32-x86的zip包,前者是SQLite数据库引擎,后者是SQLite数据库分析器,主要用于分析数据库的状态等信息,大家也可以根据自己的情况去下载。下载完成后分别解压,得到两个可执行文件,如图:
15 / 15
展开阅读全文