我在包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)
我错过了什么?我的想法是否可能?
我正在使用内存映射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生产环境中,一切似乎都没有警告,但文件保持原始大小.
任何人都可以解释为什么会发生这种情况和/或如何解决问题?
我正试图在我的Ubuntu 10.10机器上从头开始构建Android 2.3(Gingerbread).
我已按照此处的所有步骤操作:http: //source.android.com/source/building.html 没有构建错误.
但由于某种原因,模拟器启动并且屏幕保持空白(我确实尝试将其保留几个小时).几个月前我在这台机器上建了2.2而没有问题.
更新:正如您从图像中看到的那样 - adb会短暂地检测到仿真器,但是当我再次运行它大约30秒后它根本检测不到它.
我能错过什么?

我有一套类似的应用程序.我将公共资源和代码提取到库项目,应用程序只是覆盖了他们需要的东西.在我的库中,定义了以下样式:
<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属性的继承样式,但这将再次要求应用程序中的布局覆盖,我试图避免).
经过长时间(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?
浏览器使用者版本:
"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活动
我正在三星Galaxy Ace上测试我的应用程序,我得到支持的尺寸
cameraParams.getSupportedPictureSizes();
Run Code Online (Sandbox Code Playgroud)
除了(320 x 240)之外,它适用于所有这些 - 预览变黑,我收到此错误: Camera Error 100
我一直在努力将新发布的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
我们知道应用程序需要由浏览器启动,然后应用程序容器会出现缓存的应用程序.但是,我们不知道如何从浏览器移动app容器的句柄.有什么想法吗?
android ×8
appium ×1
html ×1
html-select ×1
io ×1
ipc ×1
iphone ×1
java ×1
kotlin ×1
linux ×1
objective-c ×1
overriding ×1
styles ×1
webview ×1