Android基本认识
AndroidManifest.xml file missing!
是因为开始想当然的用中文当project名
no launcher activity found
第一次运行出了点问题,no launcher activity found,谷歌了一下,在manifest里加上如下就可以
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
目录文件详解
res目录存放资源文件,比如layout存放界面布局文件
src目录存放java源文件
lib目录存放库类
AndroidManifest.xml文件为系统清单文件,用于控制app 的名称、图标、访问权限等整体属性,Activity Service ContentProvider BroadcastRecevier四大组件也是在这里配置
aapt(Android asset Packaging Tool)根据AndroidManifest.xml和res资源打包成apk
R.java是aapt根据res生成的一个java文件,每类资源对应R.java的一个内部类,具体的资源会在相应的内部类里生成一个静态常量.将在页面布局交互设计时使用的资源自动生成对应的变量,在业务代码和xml文件里可以引用相应的变量
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloworld"
android:versionCode="1"
android:versionName="1.0" android:installLocation="auto">
<!-- 应用程序的包名是此应用的唯一标识 -->
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="19" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!-- 指定应用的标签和图标 -->
<activity
android:name="com.example.helloworld.HelloWorldActivity"
android:label="@string/title_activity_hello_world" >
<intent-filter>
<!-- 指定此Activity为程序的入口 -->
<action android:name="android.intent.action.MAIN" />
<!-- 指定加载该应用时运行此Activity -->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> </manifest>
基本组件介绍
- Activity 是负责与用户进行交互的组件,但需要通过setContentView(View)来显示指定组件,也可接受一个布局管理资源的ID作为参数(xml文件),如果需要多个用户界面,多个Activity组成Activity栈。Activity包含了一个setTheme()方法来设置窗口风格,如果希望不显示ActionBar或者以对话框形式来显示窗口,都可以在这里实现
- Sevice类似于后台线程
- BroadcastReceiver类似于监听器,但监听的是Activity组件
- ContentProvider实现Android应用之间数据交换
- Intent 实现不同组件之间通信
发布APK需要数字签名,区分不同发布者。
界面编程
view组件控制布局
提供xml文件和java代码方式来控制界面
其中Drawable是一个特别的抽象基类,可以用来绘制图形
ViewGroup常作容器类
在代码中创建UI组件需要传入一个Context参数,Context代表访问Android应用环境的全局信息,Activity和Service都继承了Context,传入this就行
platforms:该目录下存放不同版本的Android系统
tools:该目录下存放了大量的Android开发、调试工具
Android基本认识的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- Android UI体验之全屏沉浸式透明状态栏效果
前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...
随机推荐
- fork详解
[本文链接] http://www.cnblogs.com/hellogiser/p/fork.html [代码] 下面的代码输出多少个-? C++ Code 123456789101112131 ...
- Windows下安装node
1.安装node及npm Windows下安装软件都是傻瓜式安装,首先登陆官网(https://nodejs.org/en/)下载对应的node程序,然后双击进行安装.安装过程基本上是点击'Next' ...
- [转] This Android SDK requires Android Developer Toolkit version 23.0.0 or above
问题描述: This Android SDK requires Android Developer Toolkit version 23.0.0 or above. Current version ...
- eclipse远程调试Tomcat方法[转]
转载自:http://blog.csdn.net/afgasdg/article/details/9236877 1.Linux中配置tomcat在catalina.sh中添加如下CATALINA_O ...
- 【leetcode】Populating Next Right Pointers in Each Node I & II(middle)
Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...
- 【XLL API 函数】xlStack
查看堆栈区还剩余多少空间 原型 Excel12(xlStack, LPXLOPER12 pxRes, 0); 参数 此函数没有带任何参数 属性值/返回值 返回堆栈区还剩余的字节数 备注 返回最新版本的 ...
- [Android Pro] adb 进入 recovery, adb 进入 bootloader
reference to : http://blog.csdn.net/mldxs/article/details/18699965 重启到Recovery界面 adb reboot recovery ...
- 阿里云CentOS配置全过程
1. 安装基本依赖包 yum install gcc gcc-c++ autoconf automake 2. 升级所有 yum update 3.安装mongodb 1. 配置mongodb- ...
- 容器配置jndi Tomcat为例
context.xml 文件 <Resource name=" password="spsj" type="javax.sql.DataSource&qu ...
- 4.3 map和multimap
使用map multimap必须包含头文件map *:multimap 1)multimap定义 template<class Key,class Pred=less<Key>,cl ...