- 浏览: 7453 次
最新评论
文章列表
android自定义view
- 博客分类:
- Android
步骤:
1. 继承View
2. Override onSizeChanged()方法, 用来在view第一次出现或者是每次大小变化的时候计算View的大小。这个方法在最开始view被inflate的时候也会被调用。
3. Override onDraw()方法,用来在Canvas对象上画view,配合使用Paint可 ...
Kotlin Annotation
- 博客分类:
- Android
annotation class Plant
@Plant class Tree {
fun fertilize() {}
@get: OnGet
val color: String = "green"
@set: OnSet
var height: Int = 5
}
@Target(AnnotationTarget.PROPERTY_GETTER)
annotation class OnGet
@Target(AnnotationTarget.PROPERTY_SETTER)
annota ...
Kotlin Lambda的返回
- 博客分类:
- Android
先看下面这个代码,有问题不?
repeat(10) { if (it == 3) break println(it)}
答案是编译通不过地。
break,是loop的兄弟,只能在for, while这些地方使用
那如果我想从那里面跳出来,怎么破?先看下面这个
fun main(args: Array<String>) {
repeat(10) {
if (it == 3) return@repeat
print(it)
}
println("hello")
...
Coroutine测试
- 博客分类:
- Android
kotlinx-coroutines-test库
class MainViewModelTest {
@get:Rule
val coroutineScope = MainCoroutineScopeRule()
@get:Rule
val instantTaskExecutorRule = InstantTaskExecutorRule()
lateinit var subject: MainViewModel
@Before
fun setup() {
subject = MainViewMod ...
需要添加两个依赖,一个是coroutines-core库和Android特定的扩展库coroutines-android
kotlinx-coroutines-core, 这个库主要提供在Kotlin中使用coroutine的主要接口
kotlinx-coroutines-android, 扩展库提供与coroutine相关的Android主线程支持
dependencies {
...
AppExecutor
- 博客分类:
- Android
1. 全局的单例2. 里面管理了diskIO executor, networkIO executor和main executor. 操作数据库用diskIO,网络请求用networkIO.
class AppExecutors(
private val diskIO: Executor,
private val networkIO: Executor,
private val mainThread: Executor
) {
constructor() : this(
Executors.newSingleThreadExec ...
1.需要监听listView的scroll动作,在scroll的时候如果发现当前已经load到底部元素了,发请求继续请求更多数据
2.在listView idle的时候load需要请求的图片
ME811 刷机攻略
1.首先,记得备份通讯录
2.下载RSD Lite v5.6,该软件可以检测出手机,并且有一个File选项用于指定待刷的.sbf文件
3.刷完以后,重启下机器
4.下载GSM的update.zip包,放到sd卡的根目录下
5.关机,然后同时按电源键和Home键再次启动机器,出现大M图标后,松开。这时候会进入Recover模式并看到小人和问号。
6.按声音键和照相键进入Menu。这个过程要等一等。
7.出现Menu后选择Apply sdcard:update.zip。然后按搜索键盘确认安装。
8.安装完成以后。重启以后,google的android电子市场就可 ...
To understand Dalvik, you must first understand that Android is not Java. Android is “Java based”. Android programs take an additional step after Java file is compiled into Java bytecode. The Java bytecode will then be converted into Dalvik bytecode. This is because Android does not have a Java virtu ...
Java动态代理总结
- 博客分类:
- Java
a)
什么是Proxy Design Pattern?
在说Java动态代理之前,先复习下代理模式(Proxy Pattern)。如下类图所示:
一旦有了代理,它将代替被代理类去参与程序的业务逻辑。代理和被代理都实现了同样的接口,并且代理类会hold一个被代理类,这样当在代理上调用业务方法的时候,代理可以把真正的核心逻辑仍然让被代理类去完成。
b)
Java的动态代理(Dynamic Proxy)
是怎么回事?
简单说动态代理是Java提供的一种机制,它是在运行的时候基于一个或多个接口(Interface ...
以下是一些要点帮助理解:
1. Big/Little Endian主要指的是字节在内存中的顺序。注意是针对字节(Byte)
的。对于一个字节内的位(Bit)来说,没有Big/Little Endian的说法。非要有个说法的话,bit在byte里面还是按Big Endian的习惯表达的。
2. 什么是Big Endian 或者 Little Endian呢?
下面简单小举一例,即可阐明。假设有一个数12345,按读者习惯的话,从左到右看它,1是这个数字的最高位。现在要把它弄到内存里去,假设每个数字1到5,分别使用一个byte。
a) 那么按Big Endian的方式,从内存的 ...