进入第一个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 ...
随机推荐
- 20145120 《Java程序设计》第6周学习总结
20145120 <Java程序设计>第6周学习总结 教材学习内容总结 java.io.InputStream.java.io.OutputStream实例分别作为输入.输出串流的代表对象 ...
- github 使用体会
开始使用git: 在本机上安装git,听一些同学说他们当时用的是github的中文版即oschina开源中国,似乎操作更加简便一些,还可以安装tortoisegit,是一个gui界面.不过我想用习惯了 ...
- python操作sqlite数据库
root@cacti:~/box# cat convert.py #!/usr/bin/env python import sqlite3,time,rrdtool,os def boxstatus( ...
- ubuntu cron.hourly不运行
服务器没有装NTP,要每天向特定的server进行时间同步,写了一个定时任务,放在/etc/cron.daily下,但是不运行. /etc/crontab文件: # /etc/crontab: sys ...
- Careercup - Google面试题 - 4847954317803520
2014-05-08 21:33 题目链接 原题: largest number that an int variable can fit given a memory of certain size ...
- android 图片缩放抗锯齿
之前用的时候只设置了antialias属性,其实要设置两个flag才行 paint.setFlags(Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); ...
- 如何让Asp.net Web Api全局预防Xss攻击
一.概述 二.什么是XSS 三.预防方法 四.在WebApi中如何实现 在实现之前,需要了解ASP.NET WEB API的pipeline机制. 如上,可以采用多种方式进行参数的过滤 1.重写Del ...
- pm2 开机自动运行
pm2 start app.js -i max -name 可以运行的用户 env PATH=$PATH:/usr/bin pm2 startup -u 可以运行的用户 ubuntu/centos
- hibernate学习笔记--可选的配置属性
3.4. 可选的配置属性 有大量属性能用来控制Hibernate在运行期的行为. 它们都是可选的, 并拥有适当的默认值. 警告: 其中一些属性是"系统级(system-level)的&qu ...
- [转载]Extjs中的dom,Ext.Element和Ext.Component对象的关系
原文地址:http://www.cnblogs.com/lwzz/archive/2011/01/30/1948106.html Ext.Element对象是对dom对象的封装,目的是为了跨平台以 ...