-ccccccal

默默码码的copy-seven


  • 首页

  • 归档

  • 标签

  • 关于

  • 搜索

未命名

发表于 2020-02-10

title: 数据库litepal使用记录

date: 2020-02-10 15:20:34

简介:

litepal是郭霖的一款开源的android数据库框架,采用关系映射(ORM)的模式,这是github
地址
,最新版本已经更新到1.6,支持eclipse,gridle使用如下:

 compile 'org.litepal.android:core:1.6.0'

配置:

创建assets目录,新建litepal.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <!--数据库名字 -->
    <dbname value="demo" />

    <!--数据库版本 -->
    <version value="1" />

    <!--数据库实体类,用于映射-->
    <list>
            <mapping class="com.test.model.Reader" />
            <mapping class="com.test.model.Magazine" />
    </list>

</litepal>
阅读全文 »

未命名

发表于 2020-01-06

title: android本地存储目录

date: 2020-01-06 12:20:34

android本地存储目录

  • 内部存储
  • 外部存储
    • 应用私有目录
    • 外部目录
阅读全文 »

再不学git我们就老了

发表于 2019-08-23

git 配置,可以重复设置,二者相对应

git config —global user.name "ALguojian"

git config —global user.email "jzhszy@foxmail.com"

重置远程库的账号密码,针对https连接

git config --global credential.helper store

阅读全文 »

android有关动画梳理

发表于 2019-06-28

补间动画

只能作用在view上,只有四种动画,只是改变view的视觉效果,不会改变view真正的属性
效果有:平移(Translate),缩放(scale),旋转(rotate),透明度(alpha)

补间动画使用方式,在anim创建xml文件,使用代码动态开启动画

阅读全文 »

自定义viewGroup位置摆放onLayout以及设置margin梳理

发表于 2019-06-26

自定义viewGroup必须要实现的一个方法,实现所有子控件布局的函数,自顶向下通过计算好的尺寸放置每一个子View

首先有关getWidth()和getMeasuredWidth()的区别为:onlayout()方法内会用到

  • getMeasuredWidth()是在measure过程后就可以获取到的,getWidth()是在layout()过程结束后才能获得到的
  • getMeasuredWidth()中的值是子view在侧来最后使用setMeasuredDimension(width, height)来设置的,getWidth()的值是在onlayout()方法之后父view动态设置的
  • setMeasuredDimension(width, height)只是先确定了给父view的一个建议宽高,子view最终的宽高还是通过childAt.layout(0,top,measuredWidth,measuredHeight+top)来设置的
  • getMeasureWidth()只有在measure()过程中才可以获得,getWidth()只有在layout()之后才可以获得
阅读全文 »

View的相关刷新重绘方法

发表于 2019-06-25

1. mButton.invalidate();

View本身调用迫使view重画,可以在主线程调用,不能再子线程调用,如果需要,要配合handler使用

2. mButton.postInvalidate();

可以在子线程中直接调用,底层也是通过handler来处理的

3. postInvalidateDelayed(long aaa)

设置延迟时间刷新

4. mButton.requestLayout();

当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent view重新调用他的onMeasure onLayout来对重新设置自己位置。只调用measure()和layout(),不调用onDraw()

5. mButton.requestFocus();

局部刷新,获取焦点的部分

关于LayoutParams的使用

发表于 2019-06-24

主要用来动态控制子view的摆放位置

        TextView textView = new TextView(context);
        ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 200);
        layoutParams.width=100;
        layoutParams.height=200;
        textView.setLayoutParams(layoutParams);
阅读全文 »

创建bitmap的几种方法

发表于 2019-06-23
  • 创建一个位图的方法,切记通过工厂得到的位图不能通过矩阵进行一系列转换,必须重新创建一个
  • 通过流获得bitmap是会更省内存
阅读全文 »

JS笔记-007-JS Window-cookie

发表于 2019-06-23

Window 对象

  • 所有浏览器都支持 window 对象。它表示浏览器窗口。
  • 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
  • 全局变量是 window 对象的属性。
  • 全局函数是 window 对象的方法。
  • 甚至 HTML DOM 的 document 也是 window 对象的属性之一
    window.document.getElementById("header");
    等同于
    document.getElementById("header");
    阅读全文 »

MVVM--之Lifecycle的使用

发表于 2019-06-23

通过lifecycle来控制生命周期相对来说会少写很多无用代码,例如可以在viewModel中控制一些需要在生命周期中使用的注册的方法等,因为按照传统方法,如果想要在viewModel中实现声明周期方法等,必须在avtivity或者fragment中进行viewModel相对应的方法进行回调等

使用Lifecycle的三种方式

1. 直接实现LifecycleObserver接口,然后手动进行对应周期的方法注册(通过注解)

/**
 * lifeCycle的使用,之后可以让ViewModel使用该发方法,以便使用生命周期的方法
 *
 * lifecycle可以将lifecycleOwner对应的生命周期时间传递给内部的Lifecycle对象去处理,
 * 于是生命周期的改变就可以被lifecycle所注册的观察者LifecycleObserver观察到并触发其对应的事件
 *
 * @author alguojian
 * @date 2019/1/29
 */
class MyLifecycleObserver : LifecycleObserver {

    /**
     * 通过lifecycle的注解注入,将activity的生命周期同步与该方法
     */
    @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
    fun onCreate() {
        println("lifecycle的onCreate方法")
    }


    /**
     * 可以接受参数,第一个参数必须是LifecycleOwner
     */
    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    fun onPause(owner: LifecycleOwner) {
        println("lifecycle的ON_PAUSE方法")
    }


    /**
     * 使用any可以接受两个参数,第一个参数必须是LifecycleOwner,第二个是Lifecycle.Event)
     */
    @OnLifecycleEvent(Lifecycle.Event.ON_ANY)
    fun onAny(owner: LifecycleOwner, event: Lifecycle.Event) {
        println("lifecycle的ON_ANY方法")
    }
}
阅读全文 »
12…5

alguojian

默默码码的copy-seven

47 日志
© 2020 alguojian
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4