海创软件组-20200628-两周总结

Parcelable接口

  • 用处:使自定义对象可使用Intent传递
  • 原理:将一个完整的对象进行分解,分解后的每一部分都是intent支持的类型
  • public method
    • abstract int describeContents() —描述包含在此Parcelable中的特殊对象的种类。一般返回0
    • abstract void writeToParcel(Parcel dest, int flags) —将对象压缩进parcelable

LayoutInflate

  • 作用:
    1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入.
    2、对于一个已经载入的Activity,就可以使用实现了这个Activiyt的的findViewById方法来获得其中的界面元素.
  • 方法:
    Android里面想要创建一个画面的时候,初学一般都是新建一个类, 继承Activity基类,然后在onCreate里面使用setContentView方法来载入一个在xml里定义好的界面.
    通过getSystemService(Context.LAYOUT_INFLATER_SERVICE)方法可以获得一个LayoutInflater, 也可以通过LayoutInflater inflater =getLayoutInflater();来获得.然后使用inflate方法来载入layout的xml,
  //例:
  LayoutInflater inflater = (LayoutInflater)context.getSystemService
      (Context.LAYOUT_INFLATER_SERVICE);

ListView,ScrollView,RecyclerView

三个都是能实现滚动的,但是又有所不同

  • ScrollView
    里面能摆放很多控件组件,高度超过ScrollView的高度的话就可以滚动了,ScrollView里面的东西是初始化完成了就存在了,就已经在内存中了。并且没有回收与复用,假设一个界面特别长,条目种类特别多,内存就会占用特别的大。当内存不足时就会导致内存溢出(OOM)。
  • ListView
    只显示自身listItem内的东西,比如里面有30条,listview能显示20条。那开始内存里只有20条,当下滑时才加载后面的10条。
  • RecylerView
    它缓存的是View+ViewHolder+flag,不用每次调用findViewById。只提供局部刷新不提供全部刷新。

添加model

File–New–New Module–Java or Kotlin Library(具体看需要的是什么,这里举个例子)海创软件组-20200628-两周总结_第1张图片
海创软件组-20200628-两周总结_第2张图片

AIDL

看书的时候有看到这个,但书上讲的不详细,就去找了下资料,自己总结了一下。AIDL是Android中IPC(Inter-Process Communication)方式中的一种,简单来说就是可以让自己的app和其他app交互。我理解是有点像内容提供器。
创建方式:点击包名右键new一个aidl文件,输入名字就可以创建成功。

// Example.aidl
package com.example.fastecexample;

// Declare any non-default types here with import statements

interface Example {
   /**
    * Demonstrates some basic types that you can use as parameters
    * and return values in AIDL.
    */
   void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,
           double aDouble, String aString);
}

basicTypes这个方法只是用来告诉我们AIDL中可使用的基本类型。

  • AIDL支持的数据类型:
    • 基本数据类型
    • String和CharSequence
    • List(只支持ArrayList,且ArrayList中每个元素都能被AIDL支持)
    • Map(只支持HashMap,且HashMap中每个元素都能被AIDL支持)
    • Parcelable:所有实现了此接口的对象
    • AIDL
      注:其中自定义的parceable对象和AIDL对象必须要显示的import进来。此外,AIDL中除了基本数据类型其他类型的参数都必须标上方向(如:in,out,inout)
      in代表输入型参数,out代表输出型参数,inout代表输入输出型参数。
      AIDL接口中只支持方法,不支持声明静态常量。

除此之外是一点写给自己看的东西

用Android Studio之前是用eclipse的,记住了eclipse的快捷键,但是发现想要把它的修改后带到Android Studio用好像不太好使,于是去查了下Android Studio的快捷键,下面是一些快捷键的使用:
Alt+回车导入包,自动修正
Ctrl+N
查找类.
Ctrl+Shift+N查找文件
Ctrl+Alt+L格式化代码
Ctrl+Alt+O优化导入的类和包
Alt+Insert生成代码(如get,set方法,构造函数等)
Ctrl+E或者Alt+Shift+C最近 更改的代码
Ctrl+R替换文本
Ctrl+F查找文本
Ctrl+Shift+Space自动补全代码
Ctrl+空格代码提示(它可能与你的输入法想冲突)
Ctrl+Alt+Space类名或接口名提示
Ctrl+P方法参数提示
Ctrl+Shift+Alt+N查找类中的方法或变量
Alt+Shift+C对比最近修改的代码
Shift+F6重构-重 命名
Ctrl+Shift+先_上键
Ctrl+X删除行
Ctrl+D复制行
Ctrl+/或Ctrl+Shift+/注释 (// 或者/…*/ )
Ctrl+J自 动代码
Ctrl+E最近打开的文件
Ctrl+H显示类结构图
Ctrl+Q显示注释文档
Alt+F1查找代码所在位置
Alt+1快速打开或隐藏工程面板
Ctrl+Alt+ left/right 返回至上次浏览的位置
Alt+ left/right 切换代码视图
Alt+ Up/Down 在方法间快速移动定位
Ctrl+Shift+Up/Down代码向上/下移动。
F2或Shift+F2高亮错误或警告快速定位
代码标签输入完成后,按Tab,生成代码。
选中文本,按Ctrl+Shit+F7,高亮显示所有该文本,按Esc高亮消
失。
Ctrl+W选中代码,连续按会有其他效果
选中文本,按Alt+F3,逐个往下查找相同文本,并高亮显示。
Ctrl+Up/Down光标跳转到第一行或最后- -行下
Ctrl+B快速打开光标处的类或方法
CtrI+E,可以显示最近编辑的文件列表
Shift+ Click可以关闭文件
Ctrl+ [或]可以跳到大括号的开头结尾
Ctrl+ Shift + Backspace可以跳转到上次编辑的地方
Ctrl+F12,可以显示当前文件的结构
Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选

CtrI+N,可以快速打开类
Ctrl+ Shift+N,可以快速打开文件
Alt+Q可以看到当前方法的声明
Ctrl+W可以选择单词继而语句继而行继而函数
Alt+F1可以将正在编辑的元素在各个面板中定位
CtrI+P,可以显示参数信息
Ctrl+Shift+Insert可以选择剪贴板内容并插入
Alt+ Insert可以生成构造器/Getter/Setter等
Ctrl+Alt+V可以引入变量。例如把括号内的SQL赋成一个变量
Ctrl+ Alt+T可以把代码包在一块内,例如try/catch
Alt+UpandAltDown可在方法间快速移动

SignleInstance的新建栈中能有多个Activity吗?

不能。这种模式下的Activity会单独占用一个Task栈,具有全局唯一性,即整个系统中就这么一个实例,由于栈内复用的特性,后续的请求均不会创建新的Activity实例,除非这个特殊的任务栈被销毁了。以singleInstance模式启动的Activity在整个系统中是单例的,如果在启动这样的Activiyt时,已经存在了一个实例,那么会把它所在的任务调度到前台,重用这个实例。

Git已学部分内容总结:

  • 配置身份
    git config --global user.name “名”
    git config–global user.email “邮箱”
  • 查看配置
    git config --global user.name
    git config–global user.email
  • 创建代码仓库
    git init
    注:仓库是用来保存版本管理所需信息的地方,创建代码仓库之前要下进入项目所在的目录
  • 进入某目录
    cd c:
    cd 路径/项目
    注:如果路径中某文件名有空格,应该用括号把文件名括起来
  • 提交本地代码
    • 添加某个文件
      git add 文件名
    • 添加某目录下所有文件
      git add 目录名
    • 添加所有文件
      git add .
    • 提交
      git commit -m ”提交的描述信息“
      注:添加之后要记得提交才能保存到仓库

你可能感兴趣的:(海创软件组)