原文:Android菜鸟的成长笔记(2)——第一个Android应用

上一篇:Android菜鸟的成长笔记(1)——Anddroid环境搭建从入门到精通

在上一篇Android菜鸟的成长笔记(1)中我们已经介绍了Android环境的搭建,下面我们就来开发一个属于我们自己的好玩的应用吧,是不是已经迫不及待了,下面我们先来看看运行效果。

首先我们要创建一个手机模拟器

点击eclipse上面的模拟器图标,弹出如下弹框。

点击右边的New...按钮,我们来创建一个“手机”,这个手机几乎和我们用的真实手机相同,我们叫做Android模拟器。

AVD Name:模拟手机的名字

Device:手机屏幕的大小和分辨率

Target:模拟器上面Android系统的版本

这些参数都可以根据英文意思翻译过来,如果英文不行的朋友可以用翻译工具翻译一下就明白喽。

下面我们就启动我们的模拟器,选中我们新创建的模拟器然后点击Start按钮。

\

Scale display to real size选项的意思是是否以屏幕的真实大小显示,我们开发的时候不要选择这一项,这样模拟器的屏幕会很小。

直接点击Launch

此时我们的屏幕处于如下状态,等待大概10分钟左右(模拟器启动很慢,如果有真机的朋友建议使用真机开发)

下面我们来建立我们的工程

新建立一个工程

新建项目的界面如下:

Application Name:应用名

ProjectName:项目名

PackageName:包名

Miniumn Required SDK:最低支持版本

Target SDK:目标版本

Compile With:编译器版本

Theme:主题

直接Next然后Finish就OK了

下面大概介绍一下几个重要包的功能:

src包主要是包括四大组件的业务包

gen主要是开发环境自动生成的映射类,这个类不用开发者去修改和编写

res包下主要是资源文件

res/layout包下是界面布局文件

res/drawable包下是图片资源文件

添加三个图片资源到res/drawable-hdpi目录下

修改res/layout/activity_main.xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
android:background="#eeeeee">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/login_default_avatar"
android:layout_marginTop="20dip"/>
<LinearLayout
android:layout_width="280dip"
android:layout_height="120dip"
android:orientation="vertical"
android:layout_marginTop="10dip"
android:background="@drawable/login_input"> </LinearLayout>
<Button
android:layout_width="280dip"
android:layout_height="50dip"
android:background="@drawable/login_button_nor"
android:layout_marginTop="20dip"
android:text="@string/login_button"/>
</LinearLayout>

现在界面的初步效果如下:

怎么样?这个登陆界面的雏形。

在下一篇中将会对上面的界面进行美化,做成和刚开始看到的界面一某一样的效果,并对各个代码的含义加以说明。

下一篇:Android菜鸟的成长笔记(3)——给QQ登录界面说So
Easy

Android菜鸟的成长笔记(2)——第一个Android应用的更多相关文章

  1. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

    原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...

  2. Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)

    原文:[置顶] Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上) 我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话 ...

  3. Android菜鸟的成长笔记(11)——Android中的事件处理

    原文:[置顶] Android菜鸟的成长笔记(11)——Android中的事件处理 Android提供了两种方式来处理事件,一个是基于回调的事件处理,另一个是基于监听的事件处理,举个例子: 基于回调的 ...

  4. Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?

    原文:Android菜鸟的成长笔记(5)--Android系统源代码你下载了吗? 在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代 ...

  5. Android菜鸟的成长笔记(15)—— Android中的状态保存探究(下)

    原文:Android菜鸟的成长笔记(15)-- Android中的状态保存探究(下) 在上一篇中我们简单了解关于Android中状态保存的过程和原理,这一篇中我们来看一下在系统配置改变的情况下保存数据 ...

  6. Android菜鸟的成长笔记(22)——Android进程间传递复杂数据(AIDL)

    在上一篇中介绍了Andorid中的进程间的通信方式AIDL,本篇文章将介绍传递复杂数据的AIDL Service 下面通过一个示例说明: 本例子中用到了两个自定义类型:Person与Pet, 其中Pe ...

  7. Android菜鸟的成长笔记(24)——Android中的振动器

    在某些时候,程序需要启动系统振动器,比如手机静音时使用振动提示用户:再比如玩游戏时,当系统碰撞.爆炸时使用振动带给用户更逼真的体验等.总之,振动是除视频.声音之外的另一种"多媒体" ...

  8. Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy

    原文:Android菜鸟的成长笔记(3)--给QQ登录界面说So Easy 上一篇:Android菜鸟的成长笔记(2)--第一个Android应用 我们前面已经做了第一个Android应用程序,虽然有 ...

  9. Android菜鸟的成长笔记(13)——异步任务(Async Task)

    原文:[置顶] Android菜鸟的成长笔记(13)——异步任务(Async Task) Android的UI线程主要负责处理用户的事件及图形显示,因此主线程UI不能阻塞,否则会弹出一个ANR(App ...

随机推荐

  1. NanShan即时通讯论——HTML5的优势与劣势

    原文:NanShan即时通讯论--HTML5的优势与劣势 NanShan即时通讯 学习html时才是XHTML 1.0,接着是 HTML4.01,再到HTML5,如今HTML5 開始吸引越来越多的人的 ...

  2. WinForm----DataGridview---连接数据库,以及双击一条数据,显示信息到Label控件,也可以是TextBox控件。

    最终效果: 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...

  3. HDOJ 1325 并查集

    跟小希的迷宫基本一样,只是此题是有向图,要注意:1无环 2 只有一个入度为0的结点(根结点), 不存在入度大于1的结点.输入结束条件是两个负数,而不是-1,不然会TLE. #include<st ...

  4. Qt国际化(Q_DECLARE_TR_FUNCTIONS() 宏给非Qt类添加翻译支持,以前没见过QTextEncoder和QTextDecoder和QLibraryInfo::location()和QEvent::LanguageChange)

    Internationalization with Qt 应用程序的国际化就是使得程序能在国际间可用而不仅仅是在本国可用的过程. Relevant Qt Classes andAPIs 以下的类支持Q ...

  5. load data 方式导入的数据不可以用binlog日志进行恢复,因为binlog里面不产生insert sql语句。

    QQ群里面有人问起这个问题:    用load data 导入数据的时候,在binlog文件中记录的不是insert 语句,这样的话,如果用load data 导入数据,当需要恢复数据库的时候  bi ...

  6. C#中的正则 Regex类

    转义符的总结: 开始数 …………………………………………………………. 3 )Regex.matches() 提取所有符合要求的字符串 string str=@"绩大于80,则奖励50元.语 ...

  7. BZOJ 3173: [Tjoi2013]最长上升子序列( BST + LIS )

    因为是从1~n插入的, 慢插入的对之前的没有影响, 所以我们可以用平衡树维护, 弄出最后的序列然后跑LIS就OK了 O(nlogn) --------------------------------- ...

  8. JAVA中extends 与implements有啥区别?

    JAVA中extends 与implements有啥区别?1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extend ...

  9. 【linux】 Makefile之make menuconfig /uImage

      欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http: ...

  10. fzu 1911 Construct a Matrix(矩阵快速幂+规律)

    题目链接:fzu 1911 Construct a Matrix 题目大意:给出n和m,f[i]为斐波那契数列,s[i]为斐波那契数列前i项的和.r = s[n] % m.构造一个r * r的矩阵,只 ...