小编ben*_*n75的帖子

以编程方式自定义ScrollBar

我的要求是,只要视图的总高度大于列表的允许高度,就会显示带有滚动条的垂直视图列表.

另外,我需要以编程方式自定义scrollBar外观(背景和拇指).(在运行时,我的活动将接收进行渲染的所有数据:用作滚动条背景的位图,滚动条宽度和用作滚动条拇指的位图.)

A ListView似乎是一个很好的选择,除了我找不到以编程方式自定义scrollBar的方法.我在listView中读了这个问题scrollBar ...自定义它.但是,它正在使用一个主题,而AFAIK则不可能以编程方式创建一个新主题.

所以我的问题:

  1. 有没有办法以编程方式自定义滚动条(在ListView中)的外观?

  2. [只有当第一个答案是"明确不可能"时]你是否看到任何其他方式来实现这些要求(以及一些这样做的工作示例)

谢谢.

编辑(23/12)

我找到了这个隐藏的课程android.widget.ScrollBarDrawable.可能是构建解决方案的良好起点(现在没时间对其进行调查).

android scrollbar

13
推荐指数
1
解决办法
4661
查看次数

javascript node.js中的自动mimetypes

我在javascript中将文件上传到aws s3,而AFAIK他们都需要mimetype才能正常运行.是否有一个脚本可以自动将文件名映射到我可以使用的mimetypes?

编辑:如果亚马逊有办法自动处理更好的mimetypes.

javascript node.js knox-amazon-s3-client

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

在设备上手动安装apk:错误103

我尝试在手机上手动安装apk(由IntelliJ构建)(运行Android 4.0.4的GT-B5330).

  • Intellij生成MyApp.apk(使用Build> Artifact> Rebuild ...)
  • 电话设置:安全>设备管理>检查未知来源
  • 我在手机上卸载现有的"调试"版本的MyApp
  • 我用USB线将手机连接到电脑,并将MyApp.apk转移到手机SD卡.
  • 在手机上,我浏览了SD卡,然后单击MyApp.apk
  • 我看到MyApp所需的权限并尝试安装它.
  • 我收到一条消息"未安装应用程序"

看着logcat,我找到了那些日志:

01-25 10:55:15.668: INFO/ApplicationPolicy(1448): isApplicationInstallationEnabled
01-25 10:55:15.668: WARN/PackageManager(1448): verifying app can be installed or not
01-25 10:55:15.748: INFO/SurfaceFlinger(1216): id=3872 Removed idx=3 Map Size=4
01-25 10:55:15.748: INFO/SurfaceFlinger(1216): id=3872 Removed idx=-2 Map Size=4
01-25 10:55:16.148: DEBUG/dalvikvm(1448): GC_EXPLICIT freed 744K, 34% free 13115K/19655K, paused 5ms+11ms
01-25 10:55:16.148: DEBUG/InstallAppProgress(22326): Installation error code: -103
Run Code Online (Sandbox Code Playgroud)

我试图找到这个错误代码-103的含义,但我没有找到任何东西.

我想知道什么是错的,我该如何解决/调查这个问题?

注意 :

  • 当我从我的IDE运行时:它已安装并正常工作.
  • 一些本机库与MyApp.apk打包在一起

我错过了一些明显的东西吗 其他安全设置要改变?

任何帮助将非常感激.

android intellij-idea apk

10
推荐指数
1
解决办法
6520
查看次数

Hibernate与Bean Validation API结合使用时不遵循JPA规范?

这个问题是对此问题的跟进:JPA ConstraintViolation vs Rollback

我做了一些关于JPA和验证API(JSR-303)组合的测试.

我在JPA规范中找到了以下内容(第101-102页):

默认情况下,默认Bean验证组(组默认值)将根据预先持久化和更新前的生命周期验证事件进行验证

...

如果validate方法返回的ConstraintViolation对象集不为空,则持久性提供程序必须抛出包含对返回的ConstraintViolation对象集的引用的javax.validation.ConstraintViolationException,并且必须将事务标记为回滚.

我设置了以下测试:

  • HibernateValidator作为JSR-303实现
  • 2 PersistenceProvider Hibernate和EclipseLink
  • 一个NameNotNullWithDefaultGeneratedStrategy具有使用默认策略(@Generated)和@NotNull String name列生成的id的实体
  • NameNotNullWithTableGeneratedStrategy具有使用表策略(@TableGenerated)和@NotNull String name列生成的id的另一个实体
  • 测试尝试persist使用null的每个实体的一个实例name.
  • 预期结果javax.validation.ConstraintViolationException由持久化方法抛出,并且事务标记为rollback only(即这些假设基于本文中引用的JPA规范).

结果是:

  • 使用eclipse链接作为提供者:
    • persist方法javax.validation.ConstraintViolationException为两个实体抛出一个.
    • 交易rollback only在两种情况下都标记为
  • 以hibernate作为提供者:
    • persist抛出一个标记为的javax.validation.ConstraintViolationException实体NameNotNullWithDefaultGeneratedStrategy+事务rollback only
    • persist不要将实体NameNotNullWithTableGeneratedStrategy+事务的任何异常都标记rollback only
    • commit对于NameNotNullWithTableGeneratedStrategy失败,并RollbackException

问题是:

  • 它真的违反了JPA规范吗?或者我错过了表格生成策略的特殊情况? …

java hibernate jpa eclipselink bean-validation

10
推荐指数
1
解决办法
2582
查看次数

从node.js报告上载进度

我正在编写一个小的node.js应用程序,它从HTML表单接收多部分POST并将传入的数据传递给Amazon S3.的强大的模块提供了多部分解析,露出各部分作为节点.该诺克斯模块处理PUT到S3.

var form = new formidable.IncomingForm()
 ,  s3   = knox.createClient(conf);

form.onPart = function(part) {
    var put = s3.putStream(part, filename, headers, handleResponse);
    put.on('progress', handleProgress);
};

form.parse(req);
Run Code Online (Sandbox Code Playgroud)

我通过socket.io向浏览器客户端报告上传进度,但是很难获得这些数字以反映节点上传到s3的真实进度.

当浏览器到节点上传瞬间发生时,就像节点进程在本地网络上运行时一样,进度指示器立即达到100%.如果文件很大,即300MB,则进度指示器缓慢上升,但仍然比我们的上游带宽允许的速度快.在达到100%进度后,客户端然后挂起,大概等待s3上传完成.

我知道在内部putStream使用Node的stream.pipe方法,但我不明白这是如何工作的细节.我的假设是节点尽可能快地吞噬输入数据,将其丢入内存.如果写入流可以足够快地获取数据,则很少有数据一次保存在存储器中,因为它可以被写入和丢弃.如果写入流速度很慢,就像在这里一样,我们可能必须将所有传入数据保留在内存中,直到可以写入为止.由于我们正在侦听data读取流上的事件以便取得进展,因此我们最终报告上传速度比实际速度快.

我对这个问题的理解是否接近标记?我该怎么办呢?我需要坐下来脏write,drainpause

amazon-s3 node.js formidable knox-amazon-s3-client

9
推荐指数
1
解决办法
3287
查看次数

Android studio安装警告:文件夹无法移动

我今天安装了android工作室,我遇到了SDK管理器的问题:

在此输入图像描述

我已按照本指南操作:http: //developer.android.com/sdk/installing/adding-packages.html

当我安装 -

ARM EABI v7a系统映像

我收到这个错误.我试图禁用防病毒,但它仍然无法正常工作.
希望得到答案,谢谢.

android android-studio

9
推荐指数
1
解决办法
8999
查看次数

Android Studio 1.3预览NDK支持

昨天谷歌宣布现在可以使用此版本的Android Studio进行本机代码调试.

https://plus.google.com/+AndroidDevelopers/posts/2Gk6yrZKV4X

我已更新到最新的构建版本"AI-141.1962279",并且看不到调试本机代码的任何可能性.

我已经切换到build-tools 23.0-rc1,使用了gradle插件1.3.0-beta1但是无法在本机代码中设置断点或者进入JNI调用.

它真的有效吗?

android-ndk android-studio

9
推荐指数
1
解决办法
4630
查看次数

在node.js中创建S3签名的URL

我正在使用knox模块来https://github.com/LearnBoost/knox为S3上的文件创建签名URL,这是我以前用PHP SDK完成的.

我可以从我的存储桶中删除文件,但是当我尝试为具有私有ACL的文件生成URL时,我收到了SignatureDoesNotMatch错误.

代码看起来像这样

var knox = require('knox');
var s3Client = knox.createClient({
key: '*****',
secret: '*****',
bucket: '*****'
});
function getS3Url(filename) {
var expires = new Date();
expires.setMinutes(expires.getMinutes() + 30);
return s3Client.signedUrl(filename, expires);
}
console.log(getS3Url('file.txt'));
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

amazon-s3 node.js knox-amazon-s3-client

8
推荐指数
1
解决办法
3232
查看次数

在Android WifiManager中Rssi的含义是什么?

我试图获得当前wifi连接的信号强度 getRssi()

private void checkWifi(){
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo Info = cm.getActiveNetworkInfo();
    if (Info == null || !Info.isConnectedOrConnecting()) {
        Log.i("WIFI CONNECTION", "No connection");
    } else {
        int netType = Info.getType();
        int netSubtype = Info.getSubtype();

        if (netType == ConnectivityManager.TYPE_WIFI) {
            wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
            int linkSpeed = wifiManager.getConnectionInfo().getLinkSpeed();
            int rssi = wifiManager.getConnectionInfo().getRssi();
            Log.i("WIFI CONNECTION", "Wifi connection speed: "+linkSpeed + " rssi: "+rssi);


        //Need to get wifi strength
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

事情是我得到像-35或-47等数字...我不明白他们的价值观..我已经看了android文档及其所有状态:

public int getRssi()

从以下版本开始:API Level 1返回当前802.11网络的接收信号强度指示符.

这不是规范化的,但应该是!

返回RSSI,范围是??? 至 …

android android-wifi

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

无法在rooted设备上安装软件包:INSTALL_FAILED_INVALID_URI

这是我在设备上安装应用程序时看到的内容(我使用的是Android Studio 0.8.2):

Waiting for device.
Target device: samsung-gt_s7500-cf994b04
Uploading file
local path: C:\Users\Administrator\AndroidStudioProjects\Testaqua\app\build\outputs\apk\app-debug.apk
remote path: /data/local/tmp/com.example.administrator.testaqua
Installing com.example.administrator.testaqua
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.administrator.testaqua"
pkg: /data/local/tmp/com.example.administrator.testaqua
Failure [INSTALL_FAILED_INVALID_URI]
Run Code Online (Sandbox Code Playgroud)

七个地狱中的错误是什么意思?

[编辑]我在另一个root设备上安装了我的应用程序,它运行良好; 看来问题是我的设备,android studio运行正常.

android android-studio

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