在微信公众号上,发现一个自学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. OpenCASCADE Make Primitives-Sphere

    OpenCASCADE Make Primitives-Sphere eryar@163.com Abstract. The sphere is the simplest topology shape ...

  2. 手机软件Toast无法显示提示信息

    近日在做项目时,测试组的同事提出一个bug,就是在一台LG手机上,原本应该显示的Toast信息,都不显示,消息栏也没有出现通知,后来经过查资料知道有些三星.LG手机默认禁用了显示通知那一项,而不显示通 ...

  3. codefordream 关于js初级训练

    这里的初级训练相对简单,差不多都是以前知识温习. 比如输出“hello world”,直接使用console.log()就行.注释符号,“//”可以注释单行,快捷键 alt+/,"/*   ...

  4. 如何从源码中学习javascript

    艾伦说啊,学习javascript,必须要学会看源码,通过高手的源码,你可以从中吸取很多书本上难以看到的技巧. 看源码就好像喝鸡汤,所有的营养都在这汤里了.这汤就是源码,高手写的源码,就是最好的鸡汤. ...

  5. (十六)WebGIS中偏移补偿量引发的问题之探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在上一章里讲解地图平移功能的实现时,我在最后提出了两个问题: ...

  6. (十四)WebGIS中地图放大缩小的设计和实现

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在上一章中,我们给出了整个工具栏设计的核心,使用命令模式,并 ...

  7. .net提交HTML元素到后台,遇到Request报错 解决方案

    对于.NET MVC 项目来说,在Controller中对应的Action方法上打上标签: [ValidateInput(false)] 在MSDN上:HttpRequest 类使用输入验证标志来跟踪 ...

  8. JS的解析与执行过程

    JS的解析与执行过程 全局中的解析和执行过程 预处理:创建一个词法环境(LexicalEnvironment,在后面简写为LE),扫描JS中的用声明的方式声明的函数,用var定义的变量并将它们加到预处 ...

  9. 为Linux重新开发MVC,有图有真相

    1.写在前面 就连我们自己开始时也在问自己:我们为什么要开发一套MVC,微软的难道不可用用吗? 一开始的理由很简单.为了更好地跨平台部署;在Linux部署过.NET的人们应该知道, 部署起来是有点繁琐 ...

  10. c#获取光标在屏幕中位置

    需要调用win32api,winform.wpf通用 代码如下: [DllImport("user32.dll")] public static extern bool GetCu ...