小编Che*_*eng的帖子

24
推荐指数
2
解决办法
1880
查看次数

将Context转换为View中的Activity是否总是安全的

我可以知道,我总是可以安全ContextActivity进入View吗?

View {
    Activity activity = (Activity)this.getContext();
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,它一直很好.我想知道,上面的代码会失败吗?

android

24
推荐指数
3
解决办法
2万
查看次数

实施安全"记住我"的最佳实践

有时,我遇到某些Web开发框架,这些框架不提供身份验证功能,例如在Authentication ASP.NET中.

我想知道在通过手工编码实现"记住我"登录功能时需要考虑哪些安全措施?

以下是我通常做的事情:

  1. 将用户名存储在cookie中.用户名未加密.

  2. 将密钥存储在cookie中.使用基于用户名的单向函数生成秘密密钥.服务器将根据用户名验证密钥,以确保不更改此用户名.

  3. 在cookie中使用HttpOnly.http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html

还有我错过的其他东西,可能导致安全漏洞?

asp.net security

23
推荐指数
1
解决办法
2万
查看次数

"loop"是span中的特殊关键字吗?

我有以下HTML:

<span loopx='{"operator":"maxis"}'>hello</span>
Run Code Online (Sandbox Code Playgroud)

如果我想检索其属性值{"operator":"maxis"},我可以简单地使用

$('span[loopx]').each(function(index) {
    var attr = $(this).attr('loopx');
    // attr is the string "{"operator":"maxis"}"
});
Run Code Online (Sandbox Code Playgroud)

但是,对于以下HTML

<span loop='{"operator":"maxis"}'>world</span>
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

$('span[loop]').each(function(index) {
    var attr = $(this).attr('loop');
    // attr is the string "loop"
});
Run Code Online (Sandbox Code Playgroud)

我想知道,如果loop是span中的特殊关键字?

这是测试代码:http://jsfiddle.net/yccheok/ghggtrfq/4/

html javascript jquery html5

23
推荐指数
3
解决办法
1330
查看次数

如何在回收器视图中删除动画时隐藏分隔符

RecyclerView默认情况下,只要你提供一个很好的删除动画,setHasStableIds(true)并提供正确的实现getItemId.

最近,我RecyclerView通过/sf/answers/1892606131/添加了divider

结果如下

https://www.youtube.com/watch?v=u-2kPZwF_0w

https://youtu.be/c81OsFAL3zY(为了在删除动画播放时使分隔符更加清晰,我暂时将RecyclerView背景更改为红色)

当播放删除动画时,分隔符仍然可见.

但是,如果我查看GMail示例,当正在播放删除动画时,分隔线不再可见.它们被覆盖在纯色区域.

https://www.youtube.com/watch?v=cLs7paU-BIg

我可以知道,当删除动画播放时,如何通过不显示分隔线来实现与GMail相同的效果?

android android-recyclerview

22
推荐指数
2
解决办法
4450
查看次数

执行双值相等比较时,epsilon值应该是多少

这是以下程序的输出.

value is : 2.7755575615628914E-17
Double.compare with zero : 1
isEqual with zero : true
Run Code Online (Sandbox Code Playgroud)

我的问题是,什么应该是epsilon值?是否有任何有力的方法来获得价值,而不是从天空中挑选一个数字.


package sandbox;

/**
 *
 * @author yccheok
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        double zero = 1.0/5.0 + 1.0/5.0 - 1.0/10.0 - 1.0/10.0 - 1.0/10.0 - 1.0/10.0;
        System.out.println("value is : " + zero);
        System.out.println("Double.compare with zero : " + Double.compare(zero, 0.0));
        System.out.println("isEqual with zero : " + isEqual(zero, 0.0));
    } …
Run Code Online (Sandbox Code Playgroud)

java

21
推荐指数
4
解决办法
2万
查看次数

在ArrayAdapter和SimpleAdapter之间进行选择

我想知道,有什么指导方针,我们如何选择ArrayAdapterSimpleAdapter.

对于每个列表项,它们将由几个TextViews和Views呈现,这些布局很好.通过使用ArrayAdapter或,我意识到我可以毫无问题地实现它们SimpleAdapter.

我们如何选择它们是否有任何指导方针?我的猜测是

  1. ArrayAdapter使我们能够动态添加新项目,即使在此期间显示列表后也是如此.注意,ArrayAdapter有方法add.
  2. SimpleAdapter 用于大小写,一旦显示列表,就不能再添加新项目了.

这是我们应该遵循的准则吗?

android android-arrayadapter simpleadapter

21
推荐指数
1
解决办法
7657
查看次数

触摸任意位置以滑动导航抽屉的打开菜单

对于jfeinstein10(https://github.com/jfeinstein10/SlidingMenu)的滑动菜单,我可以在应用程序的任何位置滑动以滑动打开菜单.

对于Google新推出的导航抽屉http://developer.android.com/design/patterns/navigation-drawer.html#side-nav,有什么方法可以让我有类似的行为吗?

到目前为止,从文档中我看到它仅限于从边缘滑动或触摸应用程序图标.

用户可以通过从屏幕左边缘轻​​扫或触摸操作栏上的应用程序图标将导航抽屉带到屏幕上.

android navigation-drawer

21
推荐指数
3
解决办法
2万
查看次数

如何在RecyclerView上的排序(notifyDataSetChanged)期间提供自定义动画

目前,通过使用默认动画师android.support.v7.widget.DefaultItemAnimator,这是我在排序过程中遇到的结果

DefaultItemAnimator动画视频: https ://youtu.be/EccI7RUcdbg

public void sortAndNotifyDataSetChanged() {
    int i0 = 0;
    int i1 = models.size() - 1;

    while (i0 < i1) {
        DemoModel o0 = models.get(i0);
        DemoModel o1 = models.get(i1);

        models.set(i0, o1);
        models.set(i1, o0);

        i0++;
        i1--;

        //break;
    }

    // adapter is created via adapter = new RecyclerViewDemoAdapter(models, mRecyclerView, this);
    adapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)

但是,我更喜欢提供自定义动画,而不是排序时的默认动画(notifyDataSetChanged).旧物品将从右侧滑出,新物品将向上滑动.

预期的动画视频: https ://youtu.be/9aQTyM7K4B0

如何在没有RecylerView的情况下实现这样的动画

几年前,我通过使用LinearLayout+ 达到了这个效果View,因为那个时候我们还RecyclerView没有.

这就是动画的设置方式

PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 1.0f, 0f);
PropertyValuesHolder translationX = PropertyValuesHolder.ofFloat("translationX", …
Run Code Online (Sandbox Code Playgroud)

android android-animation notifydatasetchanged android-recyclerview

21
推荐指数
2
解决办法
7287
查看次数

在Android 4中启用android:largeHeap,并在Android 2.3中禁用它

目前,我有一段代码,设计用于在Android 2.3和4+中运行

如果android:largeHeap在AndroidManifest.xml中应用代码,代码将执行得更好(大多数情况下它不会有OutOfMemory异常).

<application
    android:name=".MyApplication"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:screenOrientation="nosensor"
    android:largeHeap="true"
Run Code Online (Sandbox Code Playgroud)

目前,我android:minSdkVersion需要设置为15而不是10(Android 2.3).如果没有,android:largeHeap则在AndroidManifest.xml中不允许.

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="15" />
Run Code Online (Sandbox Code Playgroud)

在单个APK中,我可以设置多少

  • android:largeHeap如果我在Android 4+中使用选项
  • android:largeHeap如果我在Android 2.3中,请不要使用选项

android

20
推荐指数
2
解决办法
2万
查看次数