进入第一个Android应用界面
前话
距离上次学习Android已经过去了半年了,这半年我干嘛去了?
嘛相信大家也没兴趣了解,简单来说就是我学习了周边的知识技术,最后终于转回Android。
感觉开发一个Android需要很多知识吧,一个完整的Android网络应用=Java编程基础+Web后台开发+服务器搭建+Android开发技术+必要的美工基础
然后我只是泛泛了解了这些,就匆忙转回(就是感觉拖越久就越容易忘光)
很多基础我就不解释了,因为网上真的一大把。。。。。。
不废话了,下面正题。
准备
开发工具为Android Studio
安卓虚拟机使用Genymotion
过程
第一步,创建新的Android空项目
Application name:应用名,项目创建成功后会创建相应名的项目文件夹,该应用名后面可在AndroidManifest文件中更改
Company Domain:域名,对应包名,没错!我的博客新域名 pwcong.me
选择最低支持的SDK版本,低于选择版本的手机无法安装,防止低版本对某特安卓新特性的不适应
空项目目录如下图所示:
第二步,创建一个界面
1.导入自己喜欢的界面图片到res->mipmap文件夹内
res文件夹中有drawable文件夹和mipmap文件夹,许多人会混淆图片存放位置放到哪里,官方解释是:
drawable/
For bitmap files (PNG, JPEG, or GIF), 9-Patch image files, and XML files that describe Drawable shapes or Drawable objects that contain multiple states (normal, pressed, or focused). See the Drawable resource type.
mipmap/
For app launcher icons. The Android system retains the resources in this folder (and density-specific folders such as mipmap-xxxhdpi) regardless of the screen resolution of the device where your app is installed. This behavior allows launcher apps to pick the best resolution icon for your app to display on the home screen. For more information about using the mipmap folders, see Managing Launcher Icons as mipmap Resources.
2.res文件夹右键添加一个Android Resource File,选择layout布局文件,在布局文件内添加image控件,设置image引用导入的界面图片
activity_main.xml源码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView"
android:src="@mipmap/img"
android:scaleType="centerCrop" />
</LinearLayout>
第三步,创建一个Activity绑定界面
MainActivity.java 源码:
package me.pwcong.myfirstapp.activity;
import android.app.Activity;
import android.os.Bundle;
import me.pwcong.myfirstapp.R;
public class MainActivity extends Activity {
//该Activity创建时执行该方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//绑定界面布局文件
setContentView(R.layout.activity_main);
}
}
第四步,编辑AndroidManifest文件
AndroidManifest文件源码:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="me.pwcong.myfirstapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".activity.MainActivity">
<intent-filter>
//注意,以下两条标记程序的入口Activity
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
最后,运行看效果
重点是程序如何进入第一个界面
上面是一个简单至极的实例,打开程序显示一张图片。
其中过程简单来说就是系统Launcher查找被标记为Main和Launcher的应用程序Activity来启动应用,就是AndroidManifest内的一段:
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
两者作用如下:
- android.intent.action.MAIN:决定应用程序最先启动的Activity
- android.intent.category.LAUNCHER:决定应用程序是否显示在程序列表里
如果只有一个activity的应用程序只声明了 android.intent.action.MAIN ,没有声明 android.intent.category.LAUNCHER,运行将报错
如果存在多个activity都声明了android.intent.action.MAIN与android.intent.category.LAUNCHER,将会有多个图标显示在桌面上
进入第一个Android应用界面的更多相关文章
- Android studio 开发一个用户登录界面
Android studio 开发一个用户登录界面 activity_main.xml <?xml version="1.0" encoding="utf-8&qu ...
- Android开发学习1----AndroidStudio的安装、创建第一个Android Studio文件、Android Studio界面介绍和HelloWord!
移动开发的工具有很多:Android Studio,eclipse,Hbuilder等,其中,现如今最火的开发工具是Android Studio,Android Studio是谷歌自己推出的一款集成开 ...
- 3.创建第一个android项目
安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 3.创建第一个android项目 1.打开Eclipse,选择File——>new——>others.. ...
- 创建一个Android项目
当我们的eclipse安装了SDK后,点击Window-->Perference-->DDMS.eclipse界面立即转为DDMS界面. 这时,我们可以打开我们的服务端(安卓模拟器或者是我 ...
- 认识Activity,创建第一个android应用-Hello Word
2016-04-05 配置好Java.eclipse和Android环境就花费了一天时间.下载SDK真是费了不少时间.现在终于找到解决SDK更新的好方法了(更新自己电脑上的hosts文件,就可以使用G ...
- Android开发自学笔记(Android Studio1.3.1)—2.开始第一个Android应用
一.前言 使用Android Studio开发Android应用是一件非常简单的事情,因为它会帮你自动完成很多工作.本篇我们主要完成一个单击按钮在文本框显示当前时间的简单应用,借此来演示一下 ...
- Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换
一.问题描写叙述 本系列将结合案例应用,陆续向大家介绍一些Android典型界面的设计,首先说说tab导航,导航分为一层和两层(底部区块+区域内头部导航).主要实现方案有RadioGroup+View ...
- 跟我学android-使用Eclipse开发第一个Android应用(三)
打开Eclipse,选择 File—New –Android Application Project Application Name 就是我们的 应用名称,也是我们在手机应用程序列表里看到的名称. ...
- 创建一个Android工程
Creating an Android Project 原文演示了怎么通过Android Studio和命令行两种方式来创建一个Android工程. 原文链接:http://developer.and ...
随机推荐
- JAVA类与对象(九)------多态
多态是同一个行为具有多个不同表现形式或形态的能力.多态性是对象多种表现形式的体现. 多态存在的三个必要条件: 继承 重写 父类引用指向子类对象 例:Parent p = new Child(); 当使 ...
- Photoshop/PS中如何写维吾尔语等语言 乱码
在新疆的朋友都了解很多标语上面都会有汉语.维语等两种语言.有很多维吾尔语.哈萨克语.柯尔克孜语等语言 要在PS 里进行设计处理,这时在Photoshop中进行设计时文字粘贴进来后出现不正常是乱码形式. ...
- mysql死锁示例
MySQL有三种锁的级别:页级.表级.行级. MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking):BDB存储引擎采用的是页面锁(page-level locki ...
- AxMicrosoft.Office.Interop.Owc11.AxSpreadsheet控件在C#中的引用
这几天要是用AxMicrosoft.Office.Interop.Owc11.AxSpreadsheet控件做查询,发现一系列问题,一点点记录下来吧,以备后查: 第一.相关属性:http://www. ...
- 作用域+闭包+this理解
函数预解析过程 函数会覆盖同名变量 也就是var 他的优先级高 如果是同名函数则后者覆盖前者 逐行解读代码的时候 表达式 和参数 会改变预解析仓库里面的值..也就是表达式能干掉函数 ...
- Codeforces Round #249 (Div. 2) D. Special Grid 枚举
题目链接: http://codeforces.com/contest/435/problem/D D. Special Grid time limit per test:4 secondsmemor ...
- 802.11 wireless 七
802.11 wireless 7Wireless Fundamentals : End-to-End Discovering the NetworkGetting Connect Clients i ...
- 【BZOJ】【1044】【HAOI2008】木棍分割
二分/DP 真是一道好题! 第一问很简单的二分…… 第二问一开始我想成贪心了,其实应该是DP的= = 然后没有注意……又MLE又TLE的……这题要对DP进行时空两方面的优化!! 题解:(by JoeF ...
- 从程序员到CTO的Java技术路线图 (转自安卓巴士)
在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...
- 关于gzip压缩
关于gzip压缩 http://httpd.apache.org/docs/2.0/mod/mod_deflate.html http://www.phpchina.com/resource/manu ...