小编Ido*_*lon的帖子

Android键盘源

源是否可用于默认的Android键盘?

android android-source

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

跨包的Android ResultReceiver

我在包A(SignerClient)中有一个活动,在包B(MyService)中有一个服务

活动的结果接收者:

private ResultReceiver resultreceiver = new ResultReceiver(null) {
            @Override
            protected void onReceiveResult(int resultCode, Bundle resultData) {
            ...
            }
        };
Run Code Online (Sandbox Code Playgroud)

启动服务:

Intent intent = new Intent("com.example.STARTSERVICE");
intent.putExtra("resultreceiver", resultreceiver);            
startService(intent);
Run Code Online (Sandbox Code Playgroud)

接收结束:

 ResultReceiver rr = (ResultReceiver) intent.getParcelableExtra("resultreceiver");
Run Code Online (Sandbox Code Playgroud)

当客户端和服务器在同一个包中时这样做可以正常工作.但在这种情况下我得到:

FATAL EXCEPTION: IntentService[MyService]
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.example.cryptoclient.SignerClient$1
at android.os.Parcel.readParcelable(Parcel.java:1883)
at android.os.Parcel.readValue(Parcel.java:1771)
at android.os.Parcel.readMapInternal(Parcel.java:2008)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getParcelable(Bundle.java:1100)
at android.content.Intent.getParcelableExtra(Intent.java:3396)
at org.axades.service.MyService.onHandleIntent(MyService.java:28)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:59)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.os.HandlerThread.run(HandlerThread.java:60)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我的想法是否可能?

android ipc android-service

12
推荐指数
2
解决办法
6789
查看次数

截断内存映射文件

我正在使用内存映射IO作为索引文件,但问题是如果文件大部分为空,我无法调整文件大小.

之前的某个地方:

MappedByteBuffer map = raf.getChannel().map(MapMode.READ_WRITE, 0, 1 << 30);
raf.close();
// use map
map.force();
map = null;
Run Code Online (Sandbox Code Playgroud)

调整:

for (int c = 0; c < 100; c++) {
    RandomAccessFile raf = new RandomAccessFile(indexFile, "rw");
    try {
        raf.setLength(newLen);
        if (c > 0) LOG.warn("used " + c + " iterations to close mapped byte buffer");
        return;
    } catch (Exception e) {
        System.gc();
        Thread.sleep(10);
        System.runFinalization();
        Thread.sleep(10);
    } finally {
        raf.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

当使用Windows或Linux 32位时,我经常遇到解映问题,但在64位Linux生产环境中,一切似乎都没有警告,但文件保持原始大小.

任何人都可以解释为什么会发生这种情况和/或如何解决问题?

java linux io memory-management memory-mapped-files

12
推荐指数
1
解决办法
2492
查看次数

构建后的Android 2.3模拟器空白屏幕

我正试图在我的Ubuntu 10.10机器上从头开始构建Android 2.3(Gingerbread).

我已按照此处的所有步骤操作:http: //source.android.com/source/building.html 没有构建错误.

但由于某种原因,模拟器启动并且屏幕保持空白(我确实尝试将其保留几个小时).几个月前我在这台机器上建了2.2而没有问题.

更新:正如您从图像中看到的那样 - adb会短暂地检测到仿真器,但是当我再次运行它大约30秒后它根本检测不到它.

我能错过什么?

在此输入图像描述

android android-emulator android-source

12
推荐指数
1
解决办法
1875
查看次数

如何覆盖(或隐藏)Android库项目中定义的样式属性?

我有一套类似的应用程序.我将公共资源和代码提取到库项目,应用程序只是覆盖了他们需要的东西.在我的库中,定义了以下样式:

<style name="ListItemText">
    <item name="android:layout_toRightOf">@id/preview_image</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">@dimen/previewTextSize</item>
</style>
Run Code Online (Sandbox Code Playgroud)

如您所见,它包含android:layout_toRightOf属性,因为此样式将应用于ListView行中的文本,该行应显示在该行中图像的右侧.
但是在我的一个应用程序中,我想在图像下方显示文本.ListItemText应该如何定义该应用程序中的样式以覆盖android:layout_toRightOf属性值并将其替换为android:layout_below

如果我将其定义为:

<style name="ListItemText">
    <item name="android:layout_below">@id/preview_image</item>
</style>
Run Code Online (Sandbox Code Playgroud)

它在图像的右侧和下方显示文本,有效地总结了库和应用程序样式XML的属性.

ps:我的问题的一个可能的解决方案是摆脱android:layout_toRightOf样式并将其移动到布局xml.然后在目标应用程序中,可以重新定义/覆盖此布局.但我正在寻找基于样式的解决方案,因为它可以提供更简单直接的属性覆盖方式.
(我也可以使用带有parent属性的继承样式,但这将再次要求应用程序中的布局覆盖,我试图避免).

android styles overriding android-layout android-library

11
推荐指数
1
解决办法
7105
查看次数

Objective-C数据结构(构建我自己的DAWG)

经过长时间(20多年)的编程后,我正试图重新开始.我的第一个真正的尝试是Scrabble/Words With Friends求解/骗子(选择你的定义).我已经建立了一个非常好的引擎,但它通过蛮力而不是效率或优雅来解决问题.经过大量研究后,很明显这个问题的最佳答案是DAWG或CDWAG.我已经在那里找到了一些C实现并且能够利用它们(对于相同的数据集,搜索时间从1.5s变为.005s).

但是,我试图弄清楚如何在纯Objective-C中做到这一点.在那,我也试图使其符合ARC标准.并且足够有效的iPhone.我看了很多,发现了几个数据结构库(即CHDataStructures),但它们主要是C/Objective-C混合,或者它们不符合ARC.他们非常依赖结构并将结构嵌入结构中.ARC并不真正关心它.

所以 - 我的问题是(对不起,我明白,如果这是tl;博士,如果它似乎完全是一个新问题 - 只是无法理解这个对象的东西)你如何编程经典数据结构(树等)在Objective-C中从头开始?我不想依赖NS [Mutable] {Array,Set等}.有没有人有一个简单/基本的树实现或类似的东西,我可以创建我的DAWG?

iphone objective-c chdatastructures automatic-ref-counting

11
推荐指数
1
解决办法
1194
查看次数

HTML选择下拉列表在android webview中不起作用

浏览器使用者版本:

"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5"
Run Code Online (Sandbox Code Playgroud)

基本的HTML代码

<!DOCTYPE html>
<html>
    <head>
        <title>Test Pages</title>
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    </head>
    <body>
        <div>
            <select>
                <option>One</option>
                <option>two</option>
                <option>three</option>
                <option>four</option>
                <option>five</option>
            </select>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这似乎适用于UIWebView(iPhone)和本机浏览器.只有android webView才有问题.任何帮助都将受到赞赏.webview是一项cordova活动

html android html-select webview

11
推荐指数
1
解决办法
5411
查看次数

相机错误100

我正在三星Galaxy Ace上测试我的应用程序,我得到支持的尺寸

cameraParams.getSupportedPictureSizes();
Run Code Online (Sandbox Code Playgroud)

除了(320 x 240)之外,它适用于所有这些 - 预览变黑,我收到此错误: Camera Error 100

android android-camera

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

在即时应用程序中应用插件'kotlin-android'会导致"null无法转换为非null类型com.android.build.gradleBasePlugin"

我一直在努力将新发布的Android Instant Apps与Kotlin编程语言结合起来.在使用以下(标准?)设置创建项目后,当我尝试构建应用程序时,出现错误消息"null无法转换为非null类型com.android.build.gradle.BasePlugin".使用Kotlin可以正常使用标准的"com.android.application"模块; 仅当我尝试在Instant App模块中使用它时才会抛出错误.

顶级build.gradle:

buildscript {

    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
    }

    dependencies {
        classpath "com.android.tools.build:gradle:3.0.0-alpha1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-4"
    }
}

// ...
Run Code Online (Sandbox Code Playgroud)

应用模块的build.gradle,在科特林的工作:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android' // This will work.

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"


    defaultConfig {
        // ...
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation project(':feature')
    implementation project(':base')
}
Run Code Online (Sandbox Code Playgroud)

基本 …

android kotlin android-studio android-gradle-plugin android-instant-apps

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

Google Instant App - 如何使用Appium实现自动化

我们知道应用程序需要由浏览器启动,然后应用程序容器会出现缓存的应用程序.但是,我们不知道如何从浏览器移动app容器的句柄.有什么想法吗?

android appium android-instant-apps

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