小编min*_*ins的帖子

在Android 2(API 5)中模拟堆栈视图?

我的应用程序必须有一个小部件,可以显示卡,用户可以翻转卡.StackWidget示例(在Android的资源中)有一个很好的小部件:

在此输入图像描述

但是有一个StackView小部件的布局,它是可用的API Level 11,因此我必须实现我的App for API 5级.

此外,我看到这个小部件工作API级别7和更高,我想使用OpenGL ES:

在此输入图像描述

最后我们如何在Android 2(API 5)中模拟堆栈视图?或者我们如何实现像第二个图像(上图)的小部件?

android widget stackview

6
推荐指数
1
解决办法
1265
查看次数

Java中的不变性,协方差和逆变性

关于泛型的 Java 课程正在引导我出现方差概念.这让我有些头疼,因为我无法找到它的简单演示.

我已经在stackoverflow上阅读了几个类似的问题,但我发现它们对于Java学习者来说太难理解了.实际上问题在于对泛型的解释需要理解方差,并且证明了方差的概念在很大程度上依赖于泛型理解.

我有一些希望读到这个,但最后我分享了CR的感觉:

这个标题让我想起了学习广义相对论的日子. - CR 13年12月22日7:34

四个理论问题让我很困惑,我找不到好的和简单的解释.在这里他们是,我目前的部分理解(我担心专家将非常有乐趣阅读这个).

欢迎您提供纠正和澄清的帮助(请记住,这适用于初学者,而不是专家).

这种理解有问题吗?

  1. 什么是与编程相关的不变性/协方差/逆变?我最好的猜测是:
    • 这是面向对象编程中遇到的问题.
    • 在查看类和祖先中的方法参数和结果类型时,这必须要做.
    • 这用于方法覆盖重载的上下文中.
    • 这用于在方法参数的类型或方法返回类型与类本身的继承之间建立连接,例如,如果类D是类A的后代,我们可以对参数的类型和方法方法返回类型?
  2. 方差如何与Java方法相关?我最好的猜测是,给定两个A和D类,其中A是D的祖先,以及overhiden/overloaded方法f(arg):
    • 如果两个方法中的参数类型之间的关系与两个类之间的关系相同,则方法中的参数类型称为COVARIANT,具有类型,否则说:A和D中arg类型之间的继承是协变的继承A和D类.
    • 如果参数之间的关系REVERSES类之间的关系,则arg类型表示对类类型的CONTRAVARIANT,否则说:A和D中arg类型之间的继承与A类和D类的继承相反.
  3. 为什么方差理解对Java程序员如此重要?我的猜测是:
    • Java语言创建者已经实现了语言中的差异规则,这对程序员可以做什么有影响.
    • 规则规定覆盖/重载方法的返回类型必须与继承相反.
    • 另一条规则规定,覆盖/重载的参数类型必须与继承协变.
    • Java编译器检查方差规则是否有效,并相应地提供错误或警告.使用差异知识可以更轻松地解密消息.
  4. 过度训练和超负荷有什么区别?最佳的揣测:
    • 当参数和返回类型都是不变的时,方法会覆盖另一个方法.编译器将所有其他情况理解为重载.

java generics inheritance covariance contravariance

6
推荐指数
1
解决办法
2598
查看次数

捕获或拍摄照片并将其放入 GridView 或图库中

我已经编写了打开 Android 相机、拍照并将其保存到手机图库的代码。

我想将我拍摄的每张照片添加到照片的 GridView 或我想要创建的画廊:

public class Upload extends Activity {
    private static final int IMAGE_CAPTURE = 0;
    private Button startBtn;
    private Uri imageUri;
    private ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.upload_layout);
    imageView = (ImageView)findViewById(R.id.img);
    startBtn = (Button) findViewById(R.id.startBtn);
    startBtn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            startCamera();
        }
    });
}

public void startCamera() {
    Log.d("ANDRO_CAMERA", "Starting camera on the phone...");
    String fileName = "testphoto.jpg";
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.TITLE, fileName);
    values.put(MediaStore.Images.Media.DESCRIPTION,
            "Image capture by …
Run Code Online (Sandbox Code Playgroud)

camera android gridview gallery photos

5
推荐指数
0
解决办法
1195
查看次数

什么是与System.in.read()一起使用的End of File/Stream键盘组合

如果这个琐碎的问题已经得到解答,请道歉,我在SO处找不到它.使用此Java简单代码(Windows 7和Eclipse Kepler)从IDE控制台读取行:

int v;
try { while ((v = System.in.read()) != -1) System.out.println(v); }
catch (IOException e) { ; }
Run Code Online (Sandbox Code Playgroud)

用户如何使值v等于-1?(我试过Ctrl+ d- z- x- c- s- e和其他键不重复的行为,但循环随机打断)

java eof console-input

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

使用angular-google-maps设置Google地图边界

我正在尝试将界限设置为Google Maps实例,但没有成功.我正在使用AngularJS和angular-google-maps模块.我的最后一次尝试是:

<div id="map_canvas">
    <ui-gmap-google-map 
        center="map.center" 
        zoom="map.zoom"
        bounds="map.bounds"
        options="options">

        <div ng-repeat="d in devicesMarkers track by d.id">

            <ui-gmap-marker
                idkey="d.id"
                coords="d.center"
                options="d.options">
            </ui-gmap-marker>
            <ui-gmap-circle
                center="d.center"
                stroke="d.circle.stroke"
                fill="d.circle.fill"
                radius="d.circle.radius"
                visible="d.options.visible">
            </ui-gmap-circle>

        </div>

    </ui-gmap-google-map>
</div>
Run Code Online (Sandbox Code Playgroud)

在我app.js写的:

(...)
.controller('TaihMapController', ['$scope', '$log', 'uiGmapGoogleMapApi', function($scope, $log, GoogleMapApi) {
    $scope.devicesMarkers = devices;
    $scope.map = {
        center: { latitude: devices[0].center.latitude, longitude: devices[0].center.longitude },
        zoom: 12,
        bounds: {}
        // fit: true,
    };
    GoogleMapApi.then(function(maps) {
        $log.debug(maps);
        var myBounds = new maps.LatLngBounds();
        for (var k = 0; k …
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3 angularjs angular-google-maps

5
推荐指数
2
解决办法
9202
查看次数

没有会话或数据库的安全CSRF保护?

我正在尝试对HTML登录表单实施安全的CSRF保护,我知道实现CSRF保护的最佳方法是在会话中存储随机csrf_key,但我想将CSRF添加到我的登录和注册表单......而我不知道想为任何匿名的未注册用户存储多个会话...

所以我想创建最好的安全posibble而不使用会话或数据库,只有表单隐藏字段/&一个cookie,登录后我将使用会话csrf保护.

我对secure user_storage的想法只有csrf:

csrf_token = AES(ip + useragent + timestamp + random_data,csrf_aes_site_key)

当csrf_aes_site_key在配置文件中被硬编码时.并且在每次登录/注册后,我将解密AES字符串+ velidate,ip&ua匹配请求ip&ua,时间戳不是太匹配,比如5分钟(如果csrf_timestamp + 18000> = current_ts),random_data只是随机性(并确保同一用户在相同的ts中多次请求时不会获得相同的csrf_token)...

所以...它足够安全,它是一个很好的解决方案吗?如果没有,还有其他建议可以解决这个难题吗?谢谢!

编辑:我刚刚创建的实现,它工作正常,但它是否足够好?

完整示例:https: //github.com/itaiarbel/aes_based_csrf_protection

问题1:用户可以使用相同的令牌为下一个5min的bug获取csrf_token并成功提交给表单吗?如果用户提交多次,我该怎么办?只要不是csrf攻击......

问题2:如果页面打开5分钟,用户将忘记登录,(每5分钟自动重新登录页面?maby将其更改为1小时?)

您是否可以通过此实施发现任何特定的安全风险?或者我可以假设这是一种安全的CSRF保护方式吗?

php security cookies session csrf-protection

5
推荐指数
1
解决办法
2761
查看次数

Cordova模拟器无法启动

我正在尝试使用Android模拟器在其上安装应用程序.

不幸的是,模拟器永远不会启动.我在cordova项目中使用以下命令:

cordova emulate android
Run Code Online (Sandbox Code Playgroud)

我从控制台获得的最后一个输出是:

Waiting for emulator...
Run Code Online (Sandbox Code Playgroud)

但模拟器永远不会启动(我现在等了45分钟).

路径变量都已正确设置,我可以使用Eclipse或Android studio启动模拟器,但不使用来自cordova的命令.

任何提示?

android android-emulator cordova

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

Web扩展:如何使用"browser_style = true"?

在编写Firefox Web扩展时,可以使用默认的css进行浏览器或页面操作,以便它们像其他浏览器UI组件一样进行样式设置.这是通过插入:

"browser_style": true
Run Code Online (Sandbox Code Playgroud)

在扩展清单中.样式panel-section-footer-button可用.

我的问题:你怎么知道如何使用默认样式,似乎没有官方来源或描述?


有关:

  • 内置资源中的css chrome://browser/content/extension.css.

  • Mozilla网站上的这个弹出式示例,它使用了一些默认样式.

css firefox-addon-webextensions

5
推荐指数
1
解决办法
1162
查看次数

什么是模块变量与全局变量?

评论:“ 全球在Python基本上是指在模块级”。但是,在名为的文件中运行此代码my_module.py

import my_module as m

foo = 1
m.bar = m.foo + 1

if __name__ == "__main__":
    print('foo:', foo)
    print('m.foo:', m.foo)
    print('m.bar:', m.bar, '\n')

    for attrib in ('foo', 'bar'):
        print("'{0}' in m.__dict__: {1}, '{0}' in globals(): {2}".format(
            attrib,
            attrib in m.__dict__,
            attrib in globals()))
Run Code Online (Sandbox Code Playgroud)

输出:

foo: 1
m.foo: 1
m.bar: 2 

'foo' in m.__dict__: True, 'foo' in globals(): True
'bar' in m.__dict__: True, 'bar' in globals(): False
Run Code Online (Sandbox Code Playgroud)

模块和全局名称空间到底是什么?

为什么__dict__模块名称空间中有属性,而全局名称空间中没有属性?

为什么是m.bar一部分 …

python namespaces module global-variables

5
推荐指数
1
解决办法
2414
查看次数

混合 asyncio 和 Kivy:如何同时启动 asyncio 循环和 Kivy 应用程序?

迷失在 asyncio 中。

我正在同时学习 Kivy 和 asyncio,并且陷入了解决运行 Kivy 和运行 asyncio 循环的问题上,因为无论我如何转动它,两者都是阻塞调用并且需要按顺序执行(好吧,我希望我错了),例如

loop = asyncio.get_event_loop()
loop.call_soon(MyAsyncApp().run())
loop.run_forever()
Run Code Online (Sandbox Code Playgroud)

我当前的尝试导致应用程序启动,但没有执行协程,例如,当我单击“连接”按钮时,我应该使用 开始调度和执行任务loop.call_soon,但没有任何反应。

有人可以看看我的代码并提出解决问题的正确方法吗?


import asyncio
import random
import time
from kivy.app import App
from kivy.lang import Builder

ui = Builder.load_string('''
BoxLayout:
    orientation: 'vertical'
    GridLayout:
        rows: 2
        cols: 2
        Label:
            text: 'Status:'
            size_hint: 0.3, 1
        Label:
            id: status
            text: ''
        Label:
            text: 'Data:'
            size_hint: 0.7, 1
        Label:
            id: data
            text: ''
    BoxLayout:
        direction: 'horizontal'
        Button:
            text: 'Get Data'
            on_press: app.connect()
        Button:
            text: 'Stop …
Run Code Online (Sandbox Code Playgroud)

python kivy python-asyncio

4
推荐指数
1
解决办法
3485
查看次数