1

Je veux me connecter à mon Blackberryapp, mais cette application encore dans la méthode GET, je veux changer cette application en méthode POST. Parce que mon serveur utilisant la méthode POST. Ceci est mon code source dans mon application BB.Comment faire la méthode POST dans Blackberry

package com.blackberry.mobile_banking; 

import java.io.InputStream; 
import java.io.InputStreamReader; 

import javax.microedition.io.Connector; 
import javax.microedition.io.HttpConnection; 

import net.rim.blackberry.api.browser.URLEncodedPostData; 
import net.rim.device.api.ui.UiApplication; 
import net.rim.device.api.ui.component.Dialog; 

public class Check_Login { 

    HttpConnection httpconnection; 
    InputStream inputstream; 

    public Check_Login() 
    { 
    } 
    public void validasi_Login(String username, String password) 
    { 
     try { 
      URLEncodedPostData params=new URLEncodedPostData(URLEncodedPostData.DEFAULT_CHARSET, true); 
      params.append("username", username); 
      params.append("password", password); 
      String url="http://127.0.0.1:80/proyek_akhir/cek_login.php?"+params.toString()+";deviceside=true"; 
      System.out.println(url); 

      //connect to server 

      httpconnection=(HttpConnection)Connector.open(url); 
      inputstream=httpconnection.openDataInputStream(); 

      if(httpconnection.getResponseCode()==HttpConnection.HTTP_OK) 
      { 
       InputStreamReader reader=new InputStreamReader(inputstream, "UTF-8"); 
       int readCharacter; 
       StringBuffer responseBuffer=new StringBuffer(); 

       while((readCharacter=reader.read())!=-1) 
       { 
        responseBuffer.append((char)readCharacter); 

       } 
       if(responseBuffer.toString().equalsIgnoreCase("SUCCESS")) 
       { 
        Screen_Home sc_home=new Screen_Home(); 
        UiApplication.getUiApplication().pushScreen(sc_home); 
       } 
       else if(responseBuffer.toString().equalsIgnoreCase("FAILED")) 
       { 
        Dialog.alert("Username or Password wrong"); 

       } 
      } 

     } catch (Exception e) { 

     } 

    } 

} 

et que mon code source dans mon serveur

<?php 
    require('db.php'); 
    $username=$_POST['username']; 
    $password=md5($_POST['password']); 
    $query="select*from user where username='$username' and password='$password'"; 
    $hasil=mysql_query($query); 
    if(mysql_num_rows($hasil)>0) 
    { 
     echo "SUCCESS"; 
    } 
    else 
    { 
     echo "FAILED"; 
    } 
?> 
+0

double possible de [Http POST dans BlackBerry] (http://stackoverflow.com/questions/6184223/ http-post-dans-blackberry). aussi, le même commentaire que sur votre dernière question ... vous effectuez des requêtes réseau sur le thread UI, ce qui est une mauvaise idée. – Nate

+0

@Irwan Harianto L Essayez celui-ci: http://stackoverflow.com/questions/8969666/http-post-blackberry-null-response/8981963#8981963 – alishaik786

Répondre

0

essayer ce -

httpconnection=(HttpConnection)Connector.open(url); 
httpconnection.setRequestMethod(HttpConnection.POST);//this will use post method 
1

À moins que votre application était un MIDlet ou un héritage l'application pré-5.0, je utilisez la nouvelle classe ConnectionFactory pour éviter les problèmes avec les types de transport (BES, BIS, Wi-Fi, etc.). Dans l'ancien temps, nous devions ajouter un suffixe différent pour chaque type de transport à l'URL. Vous pouvez éviter que la création d'une nouvelle usine, que vous pouvez configurer une fois et réutiliser dans d'autres parties du code:

 ConnectionFactory factory = new ConnectionFactory(); 
     factory.setPreferredTransportTypes(<array of TransportInfo.TRANSPORT_XXX >); 
     factory.setTransportTypeOptions(<options>); //Only required for BIS 
     ... 

Ensuite, chaque fois que vous avez besoin d'une connexion que vous obtenir l'objet HttpConnection comme ceci:

 ConnectionDescriptor cd = factory.getConnection(<url>); 
     HttpConnection httpConn = (HttpConnection) cd.getConnection(); 
     httpConn.setRequestMethod(HttpConnection.POST); 
     //Now proceed as normal 

la méthode de demande que vous pouvez voir est configuré dans chaque nouvelle instance HttpConnection et n'a rien à voir avec l'usine.

Questions connexes