Android开发学习——基础学习

落花踏尽游何处,笑入胡姬酒肆中。这篇文章主要讲述Android开发学习——基础学习相关的知识,希望能为你提供帮助。
在微信公众号上,发现一个自学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. 四大组件学习
                       

Android开发学习——基础学习

文章图片

注意:默认情况下面Service是在主线程中运行的,默认情况下面BroadCastReceiver是存活在Android系统中的,不随着应用程序的关闭而消亡。
3. 五大布局学习
在activityMain.xml里设置
                                       
Android开发学习——基础学习

文章图片

相对布局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. 友好交互学习
                             
Android开发学习——基础学习

文章图片

5. 数据存储
                                     
Android开发学习——基础学习

文章图片

  • 内存存储将数据存储在内存中,读取速度最快但是不能永久性存储。
  • 文件存储通过java的IO流将数据以文件的形式存储在磁盘上。
  • SharedPreferences以固定格式的xml文件的形式将数据存储在磁盘上。
  • 数据库存储一般是指将数据存储到Android自带的sqlite数据库中。
  • 网络存储是将数据传到云端进行存储。(典型应用:网盘)
6. 网络访问
  • HttpClient:是Apache提供的。
  • HttpURLConnection:是谷歌根据Java自带的URLConnection改进的。
  • Socket:Socket是Java自带的基于TCP/IP的通信工具。
  • WebView:WebView是基于谷歌chromium内核的一个可以作为浏览器的视图。
注意:Android从4.0开始后就不能再主线程中进行网络操作。
7. 动画讲解
                     
Android开发学习——基础学习

文章图片

8. 画图
             
Android开发学习——基础学习

文章图片

  • View画图-Android画图最基本的三个对象(Color,Paint,Canvas)
9. 多媒体与照相机
                 
Android开发学习——基础学习

文章图片

10. 高级UI学习
                                 
Android开发学习——基础学习

文章图片

注意:使用Fragment的时候注意是用的是android.support.v4.app.Fragment还是android.app.Fragment
11. 样式开发
                             
Android开发学习——基础学习

文章图片

 
主题和样式 都在values/styles.xml中定义。主题在清单文件中使用。
样式在activity_main.xml中使用。
12. 多线程与通信
                                 
Android开发学习——基础学习

文章图片