原文: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. 进入MFC讲坛的前言(三)

    MFC中的窗口创建及窗口消息映射 我经常碰到有人问我有关窗口创建的问题,他们经常把用HWND描述的系统窗口对象和用CWnd描述的MFC的窗口对象混淆不清.这两者之间是紧密联系在一起的,但是MFC为了自 ...

  2. POJ1700(过河问题)

    #include<iostream> #include<algorithm> using namespace std; ]; int main() { int t,i; cin ...

  3. javascript重点笔记

    操作符之间的优先级(高到低):算术操作符 >比较操作符 >逻辑操作符 >"="赋值符号 算术运算符

  4. SuperSocket源码解析之配置系统

    一 继承Net配置系统 Net应用程序配置机制跟程序集引用大致类似,均具有继承性,如iis几乎每个应用程序都会有一个Web.config,比如我们使用vs2012以上版本创建一个web应用程序会自带一 ...

  5. 浅尝key-value数据库(三)——MongoDB的分布式

    浅尝key-value数据库(三)——MongoDB的分布式 测试了单机MongoDB的随机读和写入性能,这一节来讲一讲MongoDB的分布式. MongoDB的分布式分成两种,一种是Replicat ...

  6. C++ vs.net设置UTF8字符

    1.将main.cpp改成utf-8编码,方法是点击main.cpp,然后选择菜单文件->高级保存选项.[所有源码都要转换成uft-8] 2.在你的main函数里,设置如下代码,完美解决qt5的 ...

  7. Esper学习之五:EPL语法(一)

    上篇说到了Esper的Context,要是不了解的同学请参看<Esper学习之四:Context>,看过的同学如果还是不理解的话可以给我评论,我将会尽可能的解答.之前有些同学问我Conte ...

  8. Java 使用JDBC、DBCP、C3P0访问数据库

    JDBC: Connection conn = null; Statement stmt = null; ResultSet rs = null; // 1.加载驱动 try { Class.forN ...

  9. SPOJ 11840. Sum of Squares with Segment Tree (线段树,区间更新)

    http://www.spoj.com/problems/SEGSQRSS/ SPOJ Problem Set (classical) 11840. Sum of Squares with Segme ...

  10. [WCF]WCF起航

    解决方案概览: Client:windows 控制台应用程序. WcfService1: windows 服务应用程序. WCFWebTest:asp.net 空web应用程序. 变量程序命名.结构可 ...