一:UI开发

  • 由于我们使用了android:layout_weight属性,此时控件的宽度就不由android:layout_width来决定了,这里指定成0dp是一种比较规范的写法。

    android:orientation="horizontal">
    
        <EditText
    android:id="@+id/inputMessage"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:hint="Type something"
    android:maxLines="2"/> <Button
    android:id="@+id/send"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:text="send" />

    所以inputMessage和send在水平方向上以1:0.5比例划分。

  • android:layout_margin:本元素离上下左右间的距离

    android:layout_marginStart:本元素离开始的位置的距离

    android:layout_marginEnd:本元素离结束位置的距离

  • xml中以layout_开头的属性都属于布局参数,与其他属性不同的是,部件的布局参数是给它爸爸——父部件做指示的,告诉父部件如何安排自己, 例如layout_width

二:fragment

  • fragment通过继承自 Fragment 的类来控制布局,在自己定义的fragment类中,要加载想要显现的布局layout.
  • <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent" > <fragment
    android:id="@+id/leftFrag"
    android:name="com.example.fragmenttest.LeftFragment"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="match_parent" /> <FrameLayout
    android:id="@+id/rightLayout"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="match_parent"
    </FrameLayout> </LinearLayout>

    在上面的代码中,标签为fragment的要通过android:name指定默认的fragment类来加载类中加载的布局layout.下面的frameLayout则会通过动态指定的方式添加。

  • fragemnt实体类加载自己选定的layout.xml,然后在activity中加载自己选定的fragment来把fragment的layout.xml放在antivity.xml中的指定位置上(动态加载)

三:广播

  • 如果有一个动态注册的广播接收器和一个静态注册的广播接收器可以同时接受一个广播,则有序广播会先被动态注册的接受,除非静态注册的写了优先级(大于0就可以先收到,不能等于0)

四:SQLite数据库存储

db.execSQL(SQL语句)//对数据库执行SQL语句,创建表和废弃表时常用

//添加数据
val db = dbHelper.writableDatabase
db.insert(表名, null, ContentValues实例) //更新数据
db.update(表名, ContentValues实例, 用或者不用?占位符的类似SQL语句的where部分, arrayOf(前一个参数的占位符内容))
db.update("Book", values, "name = ?", arrayOf("白说", “简爱”))//修改name属性为白说或者简爱的行 //删除数据
db.delete(表名, 用或者不用?占位符的类似SQL语句的where部分, arrayOf(前一个参数的占位符内容))
db.delete("Book", "price > ?", arrayOf("100"))//价钱大于100块的书都会被删除,删除一个元组,即一行

学习android开发的一些笔记的更多相关文章

  1. Android开发艺术探索笔记——View(二)

    Android开发艺术探索笔记--View(二) View的事件分发机制 学习资料: 1.Understanding Android Input Touch Events System Framewo ...

  2. Android开发艺术探索笔记—— View(一)

    Android开发艺术探索笔记 --View(一) View的基础知识 什么是View View是Android中所有控件的基类.是一种界面层控件的抽象. View的位置参数 参数名 获取方式 含义 ...

  3. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

  4. 「Android 开发」入门笔记

    「Android 开发」入门笔记(界面编程篇) ------每日摘要------ DAY-1: 学习笔记: Android应用结构分析 界面编程与视图(View)组件 布局管理器 问题整理: Andr ...

  5. 阿里内部资料:Android开发核心知识笔记共2100页,58万字,完整版开放下载

    作为一个3-5年的Android工程师,我们经常会遇到这些瓶颈: 1.技术视野窄长期在小型软件公司,外包公司工作,技术视野被限制的太厉害 2.薪资提升难初中级Android岗位薪资上升空间有限,基本上 ...

  6. 想学习Android开发

    最近被别人说知识面窄,心里受伤了.准备学学Android开发,如果能在手机里运行自己写的app,那是多么high ~~~ Android开发需要看什么资料呢? 说明:本人一直从事windows下的C+ ...

  7. 跟Google学习Android开发-起始篇-构建你的第一个应用程序(4)

    说明:此系列教程翻译自Google Android开发者官网的Training教程,利用Chome浏览器的自动翻译功能作初译,然后在一些语句不顺或容易造成误解的地方作局部修正.方便英文不好的开发者查看 ...

  8. android初级应用到高端架构教程------ 完整体系化学习android开发

    系统的学习android开发技术,从应用到底层,再到架构,告别乱糟糟的学习方式,不再是抓不住重点.从上到下贯通,全面学习android开发.让你拥有清晰的思路,一步步学习android开发! 一般而言 ...

  9. Ubuntu虚拟机+ROS+Android开发环境配置笔记

    Ubuntu虚拟机+ROS+Android开发环境配置笔记 虚拟机设置: 1.本地环境:Windows 7:VMWare:联网 2.虚拟环境 :Ubuntu 14.04. 比較稳定,且支持非常多ROS ...

随机推荐

  1. Kubernetes 降本增效标准指南 | 基于K8s 扩展机制构建云上成本控制系统

    作者 王玉君,腾讯云后台高级开发工程师,负责腾讯云原生系统开发及建设. 晏子怡,腾讯云容器产品经理,在K8s弹性伸缩.资源管理领域有丰富的实战经验. 导语 Kubernetes 作为 IaaS 和 P ...

  2. kubespray续签k8s证书

    查看证书过期时期 [root@node1 ~]# openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not ...

  3. 【CompletableFuture】CompletableFuture中join()和get()方法的区别

    一.相同点: join()和get()方法都是用来获取CompletableFuture异步之后的返回值 二.区别: 1.join()方法抛出的是uncheck异常(即未经检查的异常),不会强制开发者 ...

  4. wire shark 抓包过滤器

    http.request.method==GET vuin= 抓取QQ信息 数据链路层: 筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad ...

  5. 对c语言回调函数的理解

    对于回调函数,可以简单的理解为一种特别的函数调用方法,我们可以对比一下回调函数与普通函数在调用方法上的区别. 1. 普通函数调用 一般为实现方在其函数体执行过程中直接调用. 代码示例: #includ ...

  6. POJ1178枚举三个地方(所有点都去同一个点)

    题意:       有一个国王和很多骑士,他们都要到某一个点去集合,然后问所有人都到达某个终点的距离和最小是多少?过程中如果国王遇到了一个骑士的话,国王就可以和骑士一起按照骑士的走法走,这是两个人算一 ...

  7. 利用 Windows 线程池定制的 4 种方式完成任务(Windows 核心编程)

    Windows 线程池 说起底层的线程操作一般都不会陌生,Windows 提供了 CreateThread 函数来创建线程,为了同步线程的操作,Windows 提供了事件内核对象.互斥量内核对象.关键 ...

  8. C#-CMD

    private static string InvokeCmd(string cmdArgs) { string Tstr = ""; Process p = new Proces ...

  9. androidstudio2.0引用.so文件

    1.将.so文件复制到libs目录下: 2.在build.gradle中添加下面的代码 sourceSets.main.jniLibs.srcDirs = ['libs'] 结果示例: (上面的1.2 ...

  10. 【vue-04】模块化开发

    组件化开发,一般是将重复的代码抽取成一个组件,供其他地方复用,一般情况下,提到组件化开发,都是指前端的组件化开发. 模块化开发,一般是将同一类功能模块的代码放到一起统一进行管理,是基于代码层面的,一般 ...