<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[max]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pediyasm</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pediyasm]]></copyright><item><title><![CDATA[使用 Room 引用复杂数据]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/103888102</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/103888102</guid><author>pediyasm</author><pubDate>Wed, 08 Jan 2020 11:25:24 +0800</pubDate><description><![CDATA[使用 Room 引用复杂数据
Room 提供了在基元类型和盒装类型之间进行转换的功能，但不允许实体之间进行对象引用。本文档介绍了如何使用类型转换器，以及 Room 为何不支持对象引用。
使用类型转换器
有时，您的应用需要使用自定义数据类型，其中包含您想要存储到单个数据库列中的值。要为自定义类型添加此类支持，您需要提供一个 TypeConverter，它可以在自定义类与 Room 可以保留的已知类型...]]></description><category></category></item><item><title><![CDATA[kotlin 集合 map flatten flatMap]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/103754162</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/103754162</guid><author>pediyasm</author><pubDate>Sun, 29 Dec 2019 15:31:00 +0800</pubDate><description><![CDATA[map
map就是将transform方法产生的结果添加到一个新的集合里面去，然后返回这个新的集合
/**
 * Returns a list containing the results of applying the given [transform] function
 * to each element in the original collection.
 * 
 * @sample ...]]></description><category></category></item><item><title><![CDATA[kotlin 作用域函数 run with apply aslo let]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/103744719</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/103744719</guid><author>pediyasm</author><pubDate>Sat, 28 Dec 2019 15:09:55 +0800</pubDate><description><![CDATA[public inline fun &lt;T, R&gt; T.run(block: T.() -&gt; R): R {
    return block()
}

public inline fun &lt;T, R&gt; with(receiver: T, block: T.() -&gt; R): R {
    return receiver.block()
}

public in...]]></description><category></category></item><item><title><![CDATA[多个Notification显示进度]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/17420055</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/17420055</guid><author>pediyasm</author><pubDate>Thu, 19 Dec 2013 17:58:47 +0800</pubDate><description><![CDATA[android 显示Notification，我们是要获取progress来让它显示具体的进度。

在下载或上传时，

                 
   while((len = in.read(buf)) != -1) {
                out.write(buf, 0, len);
                localSize += len;
 ]]></description><category></category></item><item><title><![CDATA[Android Interface Definition Language (AIDL)]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/11070875</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/11070875</guid><author>pediyasm</author><pubDate>Wed, 04 Sep 2013 16:19:40 +0800</pubDate><description><![CDATA[Android Interface Definition Language (AIDL)
Android 上跨进程通信(IPC)使用 AIDL。
Note：别的应用使用你的service时，并想多线程访问你的servcie时，就可以使用 AIDL 了。
 
AIDL接口的函数调用是直接的，你不能假设这调用的发生在那个线程上。这不同，取决于调用是否在本地进程或远程进程。

如果执行接口函]]></description><category></category></item><item><title><![CDATA[Bound Service]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/11070739</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/11070739</guid><author>pediyasm</author><pubDate>Wed, 04 Sep 2013 16:18:25 +0800</pubDate><description><![CDATA[Bound Services

A bound service 在client-server 接口中处于 server 端。A bound service 允许组件(如 activities)绑定到服务上，发送请求，接收响应，甚至能进行进程间通信(IPC)，
A bound service 典型的存活于它在为别的组件服务时，并不会在后台持久的运行。

The Basics]]></description><category></category></item><item><title><![CDATA[Service]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/11070575</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/11070575</guid><author>pediyasm</author><pubDate>Wed, 04 Sep 2013 16:18:19 +0800</pubDate><description><![CDATA[from android develop API Guides
Services
service 是anroid 的一个组件，它能在后台长时间的运行，是没有UI的。
别的组件能 start a service，当用户切换到别的应用时，它也能在后台继续运行。
此外，组件也能bind to a service 与它交互，甚至能执行进程间通信。(interprocess communicatio]]></description><category></category></item><item><title><![CDATA[Displaying Bitmaps Efficiently]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/9951293</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/9951293</guid><author>pediyasm</author><pubDate>Tue, 13 Aug 2013 17:11:35 +0800</pubDate><description><![CDATA[Displaying Bitmaps Efficiently
摘自 android develop training。
Android 设备为每个应用提供 16M 的可用内存。
Bitmap 又会占用很大的内存。

参考 BitmapFun sample.

----------------------------------
Loading Large Bitmaps Effic]]></description><category></category></item><item><title><![CDATA[Best Practices for Performance]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/9730639</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/9730639</guid><author>pediyasm</author><pubDate>Sat, 03 Aug 2013 11:07:25 +0800</pubDate><description><![CDATA[摘自 android develop training。


Best Practices for Performance


================================
Performance Tips
================================


两个基本原则
1 Don't do work that you don't n]]></description><category></category></item><item><title><![CDATA[android 移植 samba 服务]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/9178633</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/9178633</guid><author>pediyasm</author><pubDate>Wed, 26 Jun 2013 14:22:45 +0800</pubDate><description><![CDATA[from: http://hi.baidu.com/left99/item/1932f412063629011894ecc9
参考这篇文章，根据自己的情况贴一遍。
本文中使用的源码是samba-3.5.9，交叉编译工具是arm-linux-gcc-4.4.3。

本文件中使用的路径为相对于源码根目录的路径。
第一步要修改一下源码，不然不能正常运行，因为在android中不知什么原因get]]></description><category></category></item><item><title><![CDATA[GitHub 托管代码]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/8931556</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/8931556</guid><author>pediyasm</author><pubDate>Wed, 15 May 2013 17:42:38 +0800</pubDate><description><![CDATA[用GitHub 托管代码：
 
1 首先，自己先注册个账号了 https://github.com/
 
 
点击 New respository 可以新建个目录，用来放你的项目的。
 
 
好了后，可以看到你的 git 地址。
 
2 把eclipse的项目上传到你刚健的目录下
 
用 GitBash , cd 到你的本地项目的地方，然后 git init 初始化。]]></description><category></category></item><item><title><![CDATA[java 线性排序 counting sort]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/8667800</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/8667800</guid><author>pediyasm</author><pubDate>Wed, 13 Mar 2013 12:24:24 +0800</pubDate><description><![CDATA[package com.sort;

/**
 *  for i <- 1 to k
 *      do C[i] = 0
 *  for j <- 1 to n
 *      do C[A[j]] <- C[A[j]] + 1
 *  for i <- 2 to k
 *      do C[i] <- C[i] + C[i-1]
 *  for j <-n downto 1
 *]]></description><category></category></item><item><title><![CDATA[java 快速排序]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/8666201</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/8666201</guid><author>pediyasm</author><pubDate>Tue, 12 Mar 2013 23:50:44 +0800</pubDate><description><![CDATA[package com.algorithms;

/**
 * 
 *   pseudocode
 * 
 *   patition(A, p, q)
 *   	x <- A[p]
 *   	i <- p;
 *   	for j <- p + 1 to q
 *   		do if A[j] <= x
 *   			then i <- i + 1
 *]]></description><category></category></item><item><title><![CDATA[android 4.0 sdcard 内外切换]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/8291250</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/8291250</guid><author>pediyasm</author><pubDate>Thu, 13 Dec 2012 16:40:15 +0800</pubDate><description><![CDATA[上一篇sdcard 内外切换只是外部的链接改变而已，其实没什么用。
这次，是真正的内外卡切换。
大概思路：
vold进程启动时会读取vold.fstab文件，此文件记录了要挂载分区的信息。要想真正切换，就要改这个文件，把分区信息调换一下，然后使vold重启。
如何重启，没错，就是 kill pid了。不过不能在自己的进程中执行kill pid命令，MountService 会不起作用。]]></description><category></category></item><item><title><![CDATA[android自定义Folder]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/8092372</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/8092372</guid><author>pediyasm</author><pubDate>Sat, 20 Oct 2012 10:44:20 +0800</pubDate><description><![CDATA[android 4.0自定义Folder--UFolder
===============
LauncherSettings & Favorites 增加 
static final int ITEM_TYPE_UFOLDER = 5;
用以区分普通Folder
1.在各个地方针对ufolder进行判断，进行定制
1）//加载default_worksapce.xml，并记录到数据库]]></description><category></category></item><item><title><![CDATA[PopupWindow 点击后如何消失]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/8025810</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/8025810</guid><author>pediyasm</author><pubDate>Thu, 27 Sep 2012 17:25:39 +0800</pubDate><description><![CDATA[This is because the popup window does not respond to onTouch or onKey events unless it has a background that != null. Check
 out some code I wrote to help with this. In the basic case you can to call]]></description><category></category></item><item><title><![CDATA[android 启动时自动设置default Launcher]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/7987389</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/7987389</guid><author>pediyasm</author><pubDate>Mon, 17 Sep 2012 14:05:40 +0800</pubDate><description><![CDATA[设置default Launcher


系统有多个Launcher时，会在packages.xml 设置如下信息:


/data/system/packages.xml















如何在启动时自动设置default Launcher呢？

方法一：
在PackageManagerService构造函数中，会读取package]]></description><category></category></item><item><title><![CDATA[android4.0.4 外接物理键盘设置]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/7794586</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/7794586</guid><author>pediyasm</author><pubDate>Fri, 27 Jul 2012 17:13:23 +0800</pubDate><description><![CDATA[需求：根据系统语言，确定外接物理键盘布局。
外接键盘的布局由以下文件决定：
1./system/usr/keylayout/Generic.kl
2./system/usr/keychars/Generic.kcm
首先，得准备好这两个文件，以德国为例：de_keylayout.kl , de_keylayout.kcm (命名根据自己的程序来定)
调用流程如下：
setting---]]></description><category></category></item><item><title><![CDATA[android2.3 监控鼠标滑动事件(2)]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/7458539</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/7458539</guid><author>pediyasm</author><pubDate>Fri, 13 Apr 2012 16:56:02 +0800</pubDate><description><![CDATA[在上一篇中，当action == MotionEvent.ACTION_MOVE，设置自定义的action给自己的应用接受。
但别的应用也可能会处理MotionEvent.ACTION_MOVE事件，从而导致有别的问题出现。
所以，自定义一个action事件，MotionEvent.ACTION_HOVER_MOVE。
在InputReader.cpp中修改鼠标事件
InputReader]]></description><category></category></item><item><title><![CDATA[android2.3 监控鼠标滑动事件]]></title><link>https://blog.youkuaiyun.com/pediyasm/article/details/7374707</link><guid>https://blog.youkuaiyun.com/pediyasm/article/details/7374707</guid><author>pediyasm</author><pubDate>Tue, 20 Mar 2012 17:36:34 +0800</pubDate><description><![CDATA[鼠标滑过图标时(ImageButton)， 在button的onTouch事件中，能检测到鼠标的滑动。
1. ViewRoot.javad ispatchMotion(MotionEvent event, boolean sendDone) 能检测到鼠标的事件。
 
    boolean isDown = false;
    private void dispatchMotion(Mot]]></description><category></category></item></channel></rss>