我在使用RIM压缩API时遇到了一个奇怪的问题,我无法使其工作,因为它在文档中有描述.
如果我使用win gzip工具 gzip纯文本文件,将gz添加到blackberry项目的资源中并在app中尝试解压缩,将会有无限循环,gzis.read()永远不会返回-1 ...
try
{
InputStream inputStream = getClass().getResourceAsStream("test.gz");
GZIPInputStream gzis = new GZIPInputStream(inputStream);
StringBuffer sb = new StringBuffer();
char c;
while ((c = (char)gzis.read()) != -1)
{
sb.append(c);
}
String data = sb.toString();
add(new RichTextField(data));
gzis.close();
}
catch(IOException ioe)
{
}
Run Code Online (Sandbox Code Playgroud)
在压缩内容之后,gzis.read()中重复65535值.我发现的唯一解决方法是愚蠢的
while ((c = (char)gzis.read()) != -1 && c != 65535)
Run Code Online (Sandbox Code Playgroud)
但我很好奇是什么原因,我做错了什么,为什么65535?
我想在我的应用程序中使用gtalk或任何其他信使,但我不知道如何做到这一点.请你告诉我如何解决这个问题.如果你能提供一些网络链接,了解更多关于这个.
我正在尝试开发一个Blackberry应用程序,它将根据可配置的时间参数定期更改主屏幕背景图像(而不是应用程序背景图像)(就像Windows的WallPaper更换器一样).
是否可以以编程方式更改HomeScreen背景.有没有API可以做到这一点..?
我为Blackberry开发应用程序.在Storm 1(4.7)和Storm 2(5.0)中,我需要在我的应用程序中禁用加速度计.我希望我的应用程序不会对加速度计做出反应,但这不会影响其他应用程序.这是可能的?
我正在从一个页面发送值到另一个页面,我想存储我发送的值,然后想要将我发送的值与我已经发送的值进行比较,即保存的值.同时存储值进入一个持久对象的数组,然后比较该值与另一个数组,我面临一些问题,任何人都可以告诉我如何检查数值是否已经退出数组,我给出的代码,请帮助
package com.firstBooks.series.db;
import java.util.Random;
import net.rim.device.api.system.PersistentObject;
import net.rim.device.api.system.PersistentStore;
import net.rim.device.api.util.Arrays;
import net.rim.device.api.util.Persistable;
import com.firstBooks.series.db.parser.XMLParser;
import com.firstBooks.series.ui.managers.TopManager;
import com.firstBooks.series.ui.screens.TestScreen;
public class DBMain implements Persistable{
public static String answer = "";
public static String selectedAnswer = "";
public static Question curQuestion;
public static int currQuesNumber = 1;
public static int correctAnswerCount = -1;
static int curQuesnew;
static int quesCount=-1;
static int xyz;
static int j=0;
public static int totalNumofQuestions = Question.totques;
public static int quesNum[] = new int[XMLParser.questionList.size()];
static PersistentObject qStore; …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用midp将秒数转换为格式化字符串
下面是我正在使用的代码,问题是当我在设备(BlackBerry)上运行时,会追加2小时.所以 - formatSecondsAsDuration(1000)返回"00:02:01"我期待的是"00:00:01"
我认为这是因为SimpleDateFormat使用我的语言环境?我无法使用方法setTimeZone将时区设置为UTC,我认为可以解决问题.
public static String formatSecondsAsDuration(long second) {
Date date = new Date(second);
return new SimpleDateFormat("HH:mm:ss").format(date);
}
Run Code Online (Sandbox Code Playgroud)
我已经问了一个类似的问题 - 使用JDK1.4转换int val来格式化"HH:MM:SS"但是后来发现它并不完全合适
我必须创建一个进度条屏幕来显示下载进度或服务器交互期间的进度.我希望它是透明的,完全覆盖屏幕.在中心,弹出进度应该带有状态.
请帮帮我.提供我是否有任何示例代码.
有没有办法在我的日食中手动添加模拟器?在android SDK中,我们有选择各种模拟器的选项.同样,有什么方法可以让我从各种模拟器中选择任何一个吗?
如何在不使用HorizontalFieldManager或VerticalFieldManager的情况下通过自定义位置中的坐标在管理器中放置字段,而不使用setMargin():
__________________________________
|manager T T |
| | y1 | |
| | | |
| V | |
| x1 -------------- |y2 |
| <---> | field 1 | | |
| |______________| | |
| | |
| V |
| x2 ------------ |
| <----------> | field 2 | |
| |____________| |
| |
| |
__________________________________
Run Code Online (Sandbox Code Playgroud)
我可以使用与此类似的代码:
public static class MyCustomManager extends Manager {
public MyCustomManager () {
super();
}
public void paint(Graphics g) {/**my …Run Code Online (Sandbox Code Playgroud) 在向Blackberry App World提交Android应用程序以获得兼容性时,它表示我的应用程序使用的功能与当前版本的Blackberry Runtime for Android Apps不兼容.我该怎么办?
blackberry ×10
android ×2
java ×2
java-me ×2
background ×1
compression ×1
google-talk ×1
gzip ×1
homescreen ×1
midp ×1
xmpp ×1