在微信公众号上,发现一个自学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. scikit-learn K近邻法类库使用小结

    在K近邻法(KNN)原理小结这篇文章,我们讨论了KNN的原理和优缺点,这里我们就从实践出发,对scikit-learn 中KNN相关的类库使用做一个小结.主要关注于类库调参时的一个经验总结. 1. s ...

  2. JSP页面静态化

    Ps:好久没写博客了,不是我太懒,是因为苦逼的我出差去上海了,天天加班 刚回成都.... 今天说说jsp页面静态化,知道静态化的朋友都不陌生,说白了就是访问后缀是html 而不是jsp. 没听说过静态 ...

  3. 【记录】JS 获取图片原始尺寸-防止图片溢出

    示例代码: <div id="div_content"> <img src="http://static.cnblogs.com/images/logo ...

  4. Lua 学习笔记(十一)元表与元方法

    在Lua中的每个值都有一套预定义的操作集合.例如可以将数字相加,可以连接字符串,还可以在table中插入一对key-value等.但是我们无法将两个table相加,无法对函数作比较,也无法调用一个字符 ...

  5. 辗转相除法求最大公约数,非goto

    #include<iostream> using namespace std; //不推荐用goto,当然用它更快 //辗转相除法求两数的最大公约数 int gcd(long int a, ...

  6. 史上最详细的iOS之事件的传递和响应机制

    前言: 按照时间顺序,事件的生命周期是这样的: 事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view.寻找最合适的view的底层实现.拦截事件的处理)->找到最合适的view后 ...

  7. sql 索引 的建立

    (From:http://54laobaixing.blog.163.com/blog/static/57843681200952411133121/) 假设你想找书中的某一个句子.你可以一页一页地逐 ...

  8. Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)

    Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) http://blog.csdn.net/helonsy/article/details/7207497 ...

  9. OpenCV2:Mat属性type,depth,step

    在OpenCV2中Mat类无疑使占据着核心地位的,前段时间初学OpenCV2时对Mat类有了个初步的了解,见OpenCV2:Mat初学.这几天试着用OpenCV2实现了图像缩小的两种算法:基于等间隔采 ...

  10. H2 数据库

    最近做演示项目的时候需要一个数据库,但不想安装.于是查看了embedded datasource : h2 h2: 依赖: <dependency> <groupId>com. ...