在微信公众号上,发现一个自学android的一个文章,觉得不错。对其进行小小总结,整理给大家。

1. 基础UI学习

Button/TextView/EditText/CheckBox/ImageView/GirdView等,在activityMain.xml里设置,在屏幕上占一块地方。

可以设置这些组件的属性,

:id(唯一标识)

:layout_width(宽)

:layout_height(高)

:text(文本)

:textsize/textcolor/textstyle

:layout_gravity(控件相对于父视图的位置)

:gravity(指定控件的基本位置)

: padding/margin

: hint=“”(默认提示)

: layout_weight(权重)  / =0(指定多大占多大)  /  >0(对父视图可用空间进行平均分配)

2. 四大组件学习

注意:默认情况下面Service是在主线程中运行的,默认情况下面BroadCastReceiver是存活在Android系统中的,不随着应用程序的关闭而消亡。

3. 五大布局学习

在activityMain.xml里设置

相对布局RelativeLayout
* 组件默认左对齐、顶部对齐
* 设置组件在指定组件的右边
         android:layout_toRightOf="@id/tv1"
* 设置在指定组件的下边
        android:layout_below="@id/tv1"
* 设置右对齐父元素
        android:layout_alignParentRight="true"
* 设置与指定组件右对齐
         android:layout_alignRight="@id/tv1"

线性布局LinearLayout
* 指定各个节点的排列方向
        android:orientation="horizontal"
* 设置右对齐
        android:layout_gravity="right"
* 当竖直布局时,只能左右对齐和水平居中,顶部底部对齐竖直居中无效
* 当水平布局时,只能顶部底部对齐和竖直居中
* 使用match_parent时注意不要把其他组件顶出去
* 线性布局非常重要的一个属性:权重
        android:layout_weight="1"
* 权重设置的是按比例分配剩余的空间

帧布局FrameLayout
* 默认组件都是左对齐和顶部对齐,每个组件相当于一个div
* 可以更改对齐方式
        android:layout_gravity="bottom"
* 不能相对于其他组件布局

表格布局TableLayout
* 每个<TableRow/>节点是一行,它的每个子节点是一列
* 表格布局中的节点可以不设置宽高,因为设置了也无效
    * 根节点<TableLayout/>的子节点宽为匹配父元素,高为包裹内容
    * <TableRow/>节点的子节点宽为包裹内容,高为包裹内容
    * 以上默认属性无法修改
* 根节点中可以设置以下属性,表示让第1列拉伸填满屏幕宽度的剩余空间
        android:stretchColumns="1"

绝对布局AbsoluteLayout
* 直接指定组件的x、y坐标
        android:layout_x="144dp"
        android:layout_y="154dp"

4. 友好交互学习

5. 数据存储

  • 内存存储将数据存储在内存中,读取速度最快但是不能永久性存储。

  • 文件存储通过Java的IO流将数据以文件的形式存储在磁盘上。

  • SharedPreferences以固定格式的xml文件的形式将数据存储在磁盘上。

  • 数据库存储一般是指将数据存储到Android自带的sqlite数据库中。

  • 网络存储是将数据传到云端进行存储。(典型应用:网盘)

6. 网络访问

  • HttpClient:是Apache提供的。

  • HttpURLConnection:是谷歌根据Java自带的URLConnection改进的。

  • Socket:Socket是Java自带的基于TCP/IP的通信工具。

  • WebView:WebView是基于谷歌chromium内核的一个可以作为浏览器的视图。

注意:Android从4.0开始后就不能再主线程中进行网络操作。

7. 动画讲解

8. 画图

9. 多媒体与照相机

10. 高级UI学习

注意:使用Fragment的时候注意是用的是android.support.v4.app.Fragment还是android.app.Fragment

11. 样式开发

主题和样式 都在values/styles.xml中定义。主题在清单文件中使用。

样式在activity_main.xml中使用。

12. 多线程与通信

13. 其它知识点

这个是入门的大体框架,具体的学习还需要大家多多努力了!

Android开发学习——基础学习的更多相关文章

  1. Android开发系列之学习路线图

    通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识. 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明 ...

  2. Android开发 Unity3D基础 Android Development

    开发环境 Window 7 Unity3D 3.3.0 MB525 defy Android 2.1-update1 本次学习: 1.认识Unity 2.Unity3D环境搭建与Android软件生成 ...

  3. Redis学习---基础学习[all]

    什么是NoSQL型数据库 NoSQL数据库---NoSQL数据库的分类 Redis学习---NoSQL和SQL的区别及使用场景 Redis学习---负载均衡的原理.分类.实现架构,以及使用场景 什么是 ...

  4. Android开发的基础知识点

    1.Android开发的四大组件: Activity:android应用程序上看到的一页. Service:运行在后台,可以其他组件交互(音乐播放器). BroadcoastReceiver:用来对外 ...

  5. Android开发艺术探索学习笔记(三)

    第三章  View的事件体系 3.1 View基础知识 3.1.1 什么是view View 是Android中所有控件的基类,是一种界面层的控件的一种抽象,它代表了一个控件. 3.1.2 View的 ...

  6. android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode

    转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50749728 本文出自:[lxk_1993的博客]: 首先还是先介绍下Activity ...

  7. Android开发 Tablayout的学习

    前言 Tablayout一般做主页底下的导航栏开发或者上面的选择栏开发,就个人感觉Tablayout用于主页导航栏会比BottomNavigationView更好,自定义方面也更容易.缺点是没有动画也 ...

  8. Android开发艺术探索学习笔记(十一)

    第十一章  Android的线程和线程池 从用途上来说,线程分为子线程和主线程,主线程主要处理和界面相关的事情,而子线程往往用于执行耗时的操作.AsyncTask,IntentService,Hand ...

  9. Android开发艺术探索学习笔记(十)

    第十章  Android的消息机制 面试中经常会被问到的一个问题:handler是如何在子线程和主线程中进行消息的传递的,这个问题通过了解Android的消息机制可以得到一个准确的答案. Androi ...

随机推荐

  1. 深入学习jQuery事件对象

    × 目录 [1]获取 [2]事件类型 [3]事件目标[4]当前元素[5]事件冒泡[6]默认行为[7]命名空间[8]返回值[9]键值 前面的话 在触发DOM上的某个事件时,会产生一个事件对象event, ...

  2. java自定义类加载器

    前言 java反射,最常用的Class.forName()方法.做毕设的时候,接收到代码字符串,通过 JavaCompiler将代码字符串生成A.class文件(存放在classpath下,也就是ec ...

  3. 【开源】OSharp3.3框架解说系列:开发计划与进度

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  4. WCF 实体更改发布后,如何不影响调用方?

    应用场景:使用 WCF 有一个坏处,就是如果我们经常对 WCF 应用程序更新,有时候调用方也要进行 Update Service,但调用方往往会很多,那么这个工作就会很讨厌,比如 WCF Servic ...

  5. 【记录】Install-Package : “Unity”已拥有为“CommonServiceLocator”定义的依赖项。

    在使用 NuGet 安装 Unity 的时候,安装命令:install-package unity. 但是会莫名奇妙的报如下错误: “Unity”已拥有为“CommonServiceLocator”定 ...

  6. 配置React Native环境

    一. 安装Homebrew: “Homebrew installs the stuff you need that Apple didn’t.——Homebrew  OS X 更完整”. Homebr ...

  7. Oracle普通表->分区表转换(9亿数据量)

    背景介绍: 环境:Linux 5.5 + Oracle 10.2.0.4 某普通表T,由于前期设计不当没有分区,如今几年来的数据量已达9亿+, 空间占用大约350G,在线重定义为分区表不现实,故采取申 ...

  8. Struts2环境下Tomcat启动异常:Exception starting filter struts2,报了一个java.lang.ClassNotFoundException

    在写一个struts2+hibernate整合的小例子时,启动Tomcat服务器,报了一个: 严重: Exception starting filter struts2java.lang.ClassN ...

  9. Java 枚举用法详解

    概念 enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum 关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, GR ...

  10. Winform开发框架之肖像显示保存控件的实现

    我们在开发一些Winform程序的时候,除了常规的显示普通数据外,有的时候需要显示一些人员肖像或者一些车辆等物体的图片,一般这些内容较小,所以以二进制存储在数据库是一个不错的方案.但由于它们虽然很常用 ...