Sto creando un'applicazione che pubblicherà un collegamento su Twitter. Il seguente codice si rifiuta di confezionare per me, lanciando il seguente errore:Confezione Blackberry OAuth errore di lancio app
Error: Cannot run program "jar": CreateProcess error=2, The system cannot find the file specified
Ecco il codice:
public class ShowAuthBrowser extends MainScreen implements OAuthDialogListener
{
private final String CONSUMER_KEY = "<Consumer>";
private final String CONSUMER_SECRET = "<Secret>";
private LabelField _labelStutus;
private OAuthDialogWrapper pageWrapper = null;
public StoreToken _tokenValue;
public BrowserField b = new BrowserField();
Manager _authManager;
Manager _pinManager;
ButtonField authButton;
TextField authPin;
public ShowAuthBrowser()
{
_authManager = new VerticalFieldManager(NO_VERTICAL_SCROLL |
NO_VERTICAL_SCROLLBAR);
_pinManager = new HorizontalFieldManager(NO_VERTICAL_SCROLL |
NO_VERTICAL_SCROLLBAR);
authButton = new ButtonField("OK");
authPin = new TextField(Field.EDITABLE);
_authManager.add(_labelStutus);
_authManager.add(b);
_pinManager.add(authButton);
_pinManager.add(authPin);
pageWrapper = new BrowserFieldOAuthDialogWrapper(b,CONSUMER_KEY,
CONSUMER_SECRET,null,this);
pageWrapper.setOAuthListener(this);
add(_pinManager);
add(_authManager);
authButton.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
if(field == authButton) {
doAuth(authPin.getText());
}
}
});
}
public void doAuth(String pin)
{
try
{
if (pin == null)
{
pageWrapper.login();
}
else
{
this.deleteAll();
add(b);
pageWrapper.login(pin);
}
}
catch (Exception e)
{
final String message = "Error logging into Twitter: " +
e.getMessage();
Dialog.alert(message);
}
}
public void onAccessDenied(String response) {
updateScreenLog("Access denied! -> " + response);
}
public void onAuthorize(final Token token) {
final Token myToken = token;
_tokenValue = StoreToken.fetch();
_tokenValue.token = myToken.getToken();
_tokenValue.secret = myToken.getSecret();
_tokenValue.userId = myToken.getUserId();
_tokenValue.username = myToken.getUsername();
_tokenValue.save();
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
deleteAll();
Credential c = new Credential(CONSUMER_KEY,
CONSUMER_SECRET,
myToken);
PostTweet tw = new PostTweet();
String message="Testing BB App";
boolean done=false;
done=tw.doTweet(message, c);
if(done == true)
{
Dialog.alert("Tweet succusfully...");
close();
}
}
});
}
public void onFail(String arg0, String arg1) {
updateScreenLog("Error authenticating user! -> " + arg0 + ", " + arg1);
}
private void updateScreenLog(final String message)
{
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
_labelStutus.setText(message);
}
});
}
}
La cosa strana è, se tolgo le seguenti righe, confeziona bene :
authButton.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
if(field == authButton) {
doAuth(authPin.getText());
}
}
});
Qualsiasi aiuto sarebbe apprezzato come ho veramente bisogno l'ascoltatore campo allegato a questa schermata.
Con codice come authButton.setChangeListener(null)
, il pacchetto funziona correttamente, tuttavia è necessario codice con FieldChangeListener
per fare qualcosa.
prova con codice come 'authButton.setChangeListener (null)' - solo per assicurarsi che sia non il riferimento a FieldChangeListener che causa problemi – gnat
Questo pacchetto funziona correttamente, ma ho bisogno che faccia qualcosa. –
controlla le impostazioni di costruzione; da quello che descrivi sembra piuttosto in fase di confezionamento, l'utilità jar non riesce a trovare il file jar o la directory contenente il file 'FieldChangeListener.class'. Soprattutto verificare se si imballa contro la versione corretta dell'API Blackberry – gnat