• 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. 四大组件学习

                

    注意:默认情况下面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. 其它知识点

                          

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

  • 相关阅读:
    观察者模式-Observer
    @Resource、@Autowired、@Qualifier的注解注入及区别
    Java垃圾回收(GC)机制详解
    java什么时候进行垃圾回收,垃圾回收的执行流程
    Log4J.xml配置详解
    springMVC配置拦截器、过滤器、前端控制器时遇到的问题总结
    基于zookeeper实现分布式锁
    数据库索引原理及优化
    数据分析——CentOS7配置时间和ntp
    solr——zookeeper部署
  • 原文地址:https://www.cnblogs.com/mengxiao/p/6001441.html
Copyright © 2020-2023  润新知