基本了解了java语法,下一步。我们一起开启hello world的神奇之旅。

(一)android开发环境搭建

之前搭建android开发环境是件很费力的事情,下载Eclipse。安装ADT等,现在android官方给我们提供了全套配置。

https://developer.android.com/sdk/index.html

搭建android开发环境之前记得先安装jdk

(二)开启Hello World之旅

(1)创建Hello World项目

安装完带ADT的Eclipse,打开Eclipse,创建新项目

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3BlaWZlbmc2Njk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

一路next和finish下去,最后生成项目例如以下

不同版本号创建的项目。生成的内容会不同,俺用的是4.4版本号的SDK

执行项目

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3BlaWZlbmc2Njk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

(2)项目结构分析

生成项目结构较为复杂。想深入了解的同学能够继续看,也能够临时略过。

1.drawable文件夹存在图片

android支持不同分辨率手机图片适配,相应图片放在相应的目录,图片一般放于drawable-hdpi。图片的xml放于drawable中

2.layout文件夹存在布局

布局即显示的UI,相同支持不同的分辨率和横竖屏专门适配

3.values文件夹存在数值资源信息

color相应颜色值,string相应字符串。dimens相应尺寸。styles相应主题样式、menu存放菜单信息等

4.AndroidManifest.xml文件

声明Activity、Service、Broadcast等信息,设置app能使用的权限、包名、版本号信息等

5.gen目录

保存自己主动生成的、位于android项目包下的R.java文件,R文件存放资源信息映射值,程序中直接调用

6.libs目录

存放第三方调用的lib

(3)hello wolrd深入

要使用控件,需拿到控件。拿控件通过R中的控件id值

在fragment_main.xml中加入helloworld文本的id值

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.peter.demo.helloworld.MainActivity$PlaceholderFragment" > <TextView
android:id="@+id/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" /> </RelativeLayout>

拿到TextView对象,对它进行显示赋值

在MainActivity.java中

/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment
extends Fragment { public PlaceholderFragment() {
} @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
TextView tv = (TextView) rootView.findViewById(R.id.hello_world);
tv.setText("hello world!");
return rootView;
}
}

(4)helloworld扩展

完毕了helloworld,以下让我们一起继续玩转。千变万化的Helloworld。

1.面向对象的helloworld

创建HelloWorld对象

/**
* helloworld对象
*
* @author peter_wang
* @create-time 2014-5-11 上午10:37:04
*/
public class HelloWorld {
private String mText; public HelloWorld() {
this.mText = "Hello World!";
} public String getmText() {
return mText;
} public void setmText(String mText) {
this.mText = mText;
} }

改动MainActivity.java中TextView部分

TextView tv = (TextView) rootView.findViewById(R.id.hello_world);
HelloWorld helloWorld = new HelloWorld();
tv.setText(helloWorld.getmText());

2.改动Helloworld显示样式

TextView tv = (TextView) rootView.findViewById(R.id.hello_world);
tv.setText("hello world!");
//设置显示颜色为绿色
tv.setTextColor(Color.GREEN);
//设置字体大小
tv.setTextSize(18);
//加粗
TextPaint paint = tv.getPaint();
paint.setFakeBoldText(true);

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3BlaWZlbmc2Njk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

(三)学习概要

开发环境搭建较easy。helloworld创建项目自己主动生成,熟悉下整个项目的结构,感兴趣的同学自己发挥创意改下代码,写代码一定要乐在当中,一切在自己的掌握中,创建自己的小东西。

android高速上手(二)android开发环境搭建及hello world的更多相关文章

  1. C# NX二次开发环境搭建

    在网上看到一篇C#二次开发环境搭建的文章:NX二次开发-使用NXOPEN C#手工搭建开发环境配置 ,写得非常好.我按照文章操作,过程中遇到几个问题,把问题分享给大家,希望对各位有帮助. 注意三点: ...

  2. 零基础Android学习笔记-01 安卓开发环境搭建

    安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...

  3. Android Studio 2.2 NDK开发环境搭建

    转载请标明出处:http://blog.csdn.net/shensky711/article/details/52763192 本文出自: [HansChen的博客] Android应用程序使用ND ...

  4. Flutter入门教程(二)开发环境搭建

    学习Flutter,首先需要搭建好Flutter的开发环境,下面我将一步步带领大家搭建开发环境并且成功运行flutter项目. Flutter环境配置主要有这几点: 系统配置要求 Java环境 Flu ...

  5. Zephyr学习(二)开发环境搭建

    一.概述 Zephyr支持在Windows.Linux和MacOS环境下开发,这里只介绍如何在Windows下搭建zephyr的开发环境. 二.步骤 2.1安装msys2 msys2是一个Linux模 ...

  6. 【Python】Java程序员学习Python(二)— 开发环境搭建

    巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...

  7. nutch二次开发环境搭建

    开发环境: ubuntu14.04 + jdk1.7 + eclispe +nutch1.7 1:解压下好nutch1.7 src 源码(wget http://archive.apache.org/ ...

  8. 基于vlc sdk的二次开发--环境搭建、编译

    前言 关于 搭建.编译VLC,不同的平台有不同的方法,可以参考wiki. 其中在windows下编译VLC有两种方式,MSYS+MinGW和CygWin.通过测试,最后决定采用MSYS+MinGW搭建 ...

  9. Android之ubuntu源码开发环境搭建笔记

    昨天,把电脑主机全换了,因此之前的工作环境得重新搭建,我是既开心又纠结,开心的是可以用高配置的电脑,纠结的是搭环境比较麻烦,稍有不慎,就会导致源代码编译不过,前功尽弃.为了减少工作量,以及避免不必要掉 ...

  10. Java(二)——开发环境搭建 安装JDK和配置环境变量

    1.安装JDK 下载地址  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载 ...

随机推荐

  1. E20170816-mk

    deque 即双端队列.是一种具有队列和栈的性质的数据结构. revert  vi. 恢复; 重提; 回到…上; <律>归还;   n. 归属; 恢复原来信仰的人; Indicator   ...

  2. Constructing Roads In JGShining's Kingdom(LIS)

    http://acm.hdu.edu.cn/showproblem.php?pid=1025 题意:富人路与穷人路都分别有从1到n的n个点,现在要在富人点与穷人点之间修路,但是要求路不能交叉,问最多能 ...

  3. C - Stones on the Table

    Problem description There are n stones on the table in a row, each of them can be red, green or blue ...

  4. Java中的常用类有哪些

    1NumberFormat 2DecimalFormat 3BigDecimal 4Math 5Random 6DateFormat 7SimpleDateFormat 8Calendar 9Date ...

  5. Java导入excel并保存到数据库

    首先建立好excel表格,并对应excel表格创建数据库表. 前台jsp页面:其中包含js <%@ page language="java" import="jav ...

  6. Java基础学习(二)——对象

    类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法): 对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象. 对象=实例 对象 ...

  7. SAP computer之RAM

    RAM The RAM is a 16 X 8 static TTL RAM. We can program the RAM by means of the address and data swit ...

  8. sqlserver查询分析器在本地服务器查看其它SqlServer服务器内容

    exec sp_addlinkedserver 服务器自命名,'',sqloledb,要查询服务器的IP地址 exec sp_addlinkedsrvlogin 服务器自命名,false,null,账 ...

  9. CXF-JAX-RS开发(一)入门案例

    一.简介 资源驱动.基于HTTP协议[按照标准指定URL,就可以访问数据]以XML|JSON格式传输数据. 二.quickstart 1.创建maven project[Packaging:jar] ...

  10. 06--谈谈:C++类的“包含”机制

    谈谈:C++类的“包含”机制   本人在学习Qt的时候发现了一个非常有趣的现象.有很多函数的调用方法都写成了如下的形式: object.func().func2(); 这令小弟着实不懂.在上面这段代码 ...