我正在使用Square的磁带库将数据上传排队到服务器.
队列以JSON格式存储在File中.当应用程序启动时,我启动队列并开始上传(即如果在Wifi上)但是在用户的某些设备上我看到EOFException了'null'消息(登录崩溃).
FileObjectQueue从现有文件创建对象时发生错误- 从调试信息收集实际文件大约为1MB.
是什么导致了这个或如何防止它? - 也许我需要清理我的java.io.
编辑:使用Tape v1.2.1
Caused by: java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:419)
at java.io.RandomAccessFile.readInt(RandomAccessFile.java:439)
at com.squareup.tape.QueueFile.readElement(:182)
at com.squareup.tape.QueueFile.readHeader(:162)
at com.squareup.tape.QueueFile.(:110)
at com.squareup.tape.FileObjectQueue.(:35)
at com.myapp.queue.MyUploadTaskQueue.create(:125)
Run Code Online (Sandbox Code Playgroud)
更新 - 自升级到1.2.2后也看到此错误
Caused by: java.io.IOException: File is corrupt; length stored in header is 0.
at com.squareup.tape.QueueFile.readHeader(:165)
at com.squareup.tape.QueueFile.<init>(:117)
at com.squareup.tape.FileObjectQueue.<init>(:35)
Run Code Online (Sandbox Code Playgroud) 我需要在JavaScript中使用RSA加密一些数据.周围的所有库都要求指数和模数,但我public.key从对手那里得到一个文件.
如何从RSA文件中检索公共exponent和modulus部分?
我有一个WebView,我正在加载一个带有一些嵌入式图像的本地HTML页面.我希望允许用户以与使用Web浏览器类似的方式放大文本和图像.
任何想法如何启用此功能?
谢谢
我需要编写一个'简单'的工具来从ASCII转换为EBCDIC?
Ascii来自Java,Web和AS400.我有一个谷歌周围,似乎找不到一个简单的解决方案(也许因为没有一个:().我希望有一个开源工具或支付已经编写的实用工具.
也许这样吗?
Converter.convertToAscii(String textFromAS400)
Converter.convertToEBCDIC(String textFromJava)
Run Code Online (Sandbox Code Playgroud)
谢谢,
斯科特
希望改进我的Android应用程序的安全性,以标记.apk是否已被提取,修改,重新包装和重新签名.这是来自Zdnet的文章,注意到问题link1.
令人担忧的是,如果应用程序被黑客攻击,他们可能会添加恶意代码并上传到备用应用程序商店并欺骗用户下载它.
所以我正在考虑验证apk或签名证书的校验和的代码?
我很欣赏应用程序代码可以重新打包并删除任何安全代码,但它确实增加了重新打包的难度,也许足以让他们尝试另一个应用程序.
[更新]我知道Google Play商店许可模块提供类似的东西,但我正在寻找非付费应用和其他/非市场的东西.
我正在尝试设置图标ShareActionProvider,需要一个纯白色而不是半透明的白色.
但是,在share_menu.xml和代码中设置不起作用.只是想知道是否有人在扩展ShareActionProvider之前已经解决了这个问题.(我正在使用actionbarsherlock)
@Override
public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
inflater.inflate(R.menu.share_menu, menu);
MenuItem actionItem = menu.findItem(R.id.share_action_provider);
ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
actionProvider.setShareIntent(mShareIntent);
// re-setting the icon as it's not being picked up from the menu xml file
actionItem.setIcon(R.drawable.ic_action_share);
super.onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)
share_menu.xml
<item android:id="@+id/share_action_provider"
android:showAsAction="ifRoom"
android:title="@string/share_with"
android:icon="@drawable/ic_action_share"
android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider" />
Run Code Online (Sandbox Code Playgroud)
更新:也尝试在风格中设置它,但没有快乐
<style name="Theme.MyApp" parent="Theme.Sherlock.Light">
<item name="actionModeStyle">@style/ActionModeStyle</item>
<item name="android:actionModeStyle">@style/ActionModeStyle</item>
</style>
<style name="ActionModeStyle" parent="Widget.Sherlock.ActionMode">
<item name="actionModeShareDrawable">@drawable/ic_action_share</item>
</style>
Run Code Online (Sandbox Code Playgroud) 试图用Gradle编译一个Android项目并得到一个奇怪的错误.当我运行./gradlew tasks --stacktrace.尝试干净的重建,回购的新鲜克隆,不同的分支,同事们能够建立aok.
寻找要检查/试图解决这个问题的想法.
*更新:恢复为Gradle 2.11,com.android.tools.build:gradle:2.2.0-alpha6似乎已修复此问题.*
这是堆栈:
FAILURE: Build failed with an exception.
* What went wrong:
String index out of range: 0
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at org.gradle.internal.reflect.JavaReflectionUtil.toMethodName(JavaReflectionUtil.java:196)
at org.gradle.internal.reflect.JavaReflectionUtil.writeablePropertyIfExists(JavaReflectionUtil.java:156)
at org.gradle.initialization.ProjectPropertySettingBuildLoader$CachingPropertyApplicator.configureProperty(ProjectPropertySettingBuildLoader.java:99)
at org.gradle.initialization.ProjectPropertySettingBuildLoader.addPropertiesToProject(ProjectPropertySettingBuildLoader.java:76)
at org.gradle.initialization.ProjectPropertySettingBuildLoader.setProjectProperties(ProjectPropertySettingBuildLoader.java:53)
at org.gradle.initialization.ProjectPropertySettingBuildLoader.load(ProjectPropertySettingBuildLoader.java:49)
at org.gradle.initialization.NotifyingSettingsLoader.findAndLoadSettings(NotifyingSettingsLoader.java:35)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:118)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83) …Run Code Online (Sandbox Code Playgroud) 我有一个简单的ListView,我希望每个项目都在用户的触摸上突出显示.我认为这应该在默认情况下发生,但事实并非如此.你能建议吗?
ListView xml:
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:divider="#206600"
android:dividerHeight="2dp"
android:smoothScrollbar="true"
android:background="#ffffff"
>
</ListView>
Run Code Online (Sandbox Code Playgroud)
和我的适配器的代码:
private class MyAdapter extends ArrayAdapter<Task> {
private LayoutInflater mInflater;
public MyAdapter(Context context, int resource, List<Task> list) {
super(context, resource, list);
mInflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
v = mInflater.inflate(R.layout.list_item, null);
}
Task task = taskList.get(position);
/* Setup views from your layout using data in Object here …Run Code Online (Sandbox Code Playgroud) 当我尝试在Webview中加载以下URL时,我得到的是带有加载微调器的黑色twitter背景.正如WebViewClient.onPageFinished所调用的那样加载页面.但是,在标准Android浏览器中页面加载正常.
https://twitter.com/#!/scottyab or https://mobile.twitter.com/#!/scottyab
Run Code Online (Sandbox Code Playgroud)
我认为Twitter改变了他们的移动网站,因为这已经工作了一个月左右.有没有其他人经历过这个?
更新:启用了javascript mWebView.getSettings().setJavaScriptEnabled(true);
今天在构建/制作项目时遇到这个令人沮丧的错误,这似乎是因为使用构建工具19.0.1,19.0.2和19.0.3安装Android SDK 22.6(已经尝试了22.6.1).aapt错误导致不生成R.java.
我认为这是项目相关的东西,因为我有另一个项目,建立好.我已经尝试清理项目/工作区,新工作区,重新安装Eclipse和Android SDK,然后移植到Android studio gradle,这是我在下面包含的错误.
编辑:我还将项目还原到以前的提交工作
有人遇到过这种事吗?通常干净的工作,但不是这次.
Error:Execution failed for task ':MyApp:processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Users/scottab/dev/adt-bundle-mac-x86_64/sdk/build-tools/19.0.3/aapt package -f --no-crunch -I /Users/scottab/dev/adt-bundle-mac-x86_64/sdk/platforms/android-19/android.jar -M /Users/MyApp/build/manifests/debug/AndroidManifest.xml -S /Users/MyApp/build/res/all/debug -A /Users/MyApp/build/assets/debug -m -J /Users/MyApp/build/source/r/debug -F /Users/MyApp/build/libs/MyApp-debug.ap_ --debug-mode --custom-package com.myapp.android --output-text-symbols /Users/MyApp/build/symbols/debug
Error Code:
138
Run Code Online (Sandbox Code Playgroud)