2016-03-22 19 views
0

i PHPScript kullanarak MySQL veritabanı sadece görüntüyü retreive bu kodu kullanarak Kişi adlı mysqldatabase bir tablo vardır:olsun çift

@Override 
    protected Bitmap doInBackground(String... params) { 
     String add1 = "http://192.168.1.11/save/load_image_from_db.php?id=1"; 
     URL url; 
     Bitmap image = null; 
      try { 
       url = new URL(add1); 
       HttpURLConnection connection =(HttpURLConnection) url.openConnection(); 
       image = BitmapFactory.decodeStream(connection.getInputStream()); 
      } catch (MalformedURLException e) { e.printStackTrace(); 
      } catch (IOException e) { e.printStackTrace();} 
     return image; 
    } 
} 

ve bu PHPScript load_image_from_db olduğunu. php

<?php 
 
$con = mysqli_connect("localhost","root","","othmane") or die(mysqli_error($con)); 
 
    
 
if($_SERVER['REQUEST_METHOD']=='GET'){ 
 
$id = $_GET['id']; 
 
$sql = "SELECT image,image_type FROM images where id = $id"; 
 

 
$r = mysqli_query($con,$sql) or die(mysqli_error($con));; 
 
    
 
$result=mysqli_fetch_array($r); 
 
header('Content-Type:image/jpeg'); 
 

 
if ($result['image_type'] == 'php') { 
 
      echo ($result['image']); 
 
\t \t \t } else if ($result['image_type'] == 'android') { 
 
      echo base64_decode($result['image']); 
 
     } 
 
mysqli_close($con); 
 
//stripslashes ($result['image']); 
 
//echo '<img src="data:image/jpeg;base64,'.base64_encode($result['image']).'"/>'; 
 
//echo base64_encode($result['image']); 
 
} 
 
?>

Eğer bu php senaryosunu değiştirirsem resmini ve kimliğini gösterirse, bu verileri Android uygulamalarına nasıl alabilirim ResultSet gibi bir şey var mı?

+0

Bir gönderi isteğinden dönen verileri ayrıştırmanız gerekecek, bu nedenle XML veya HTML'yi ayrıştırmanız gerekecek. Bir servisi düşünmek isteyebilirsiniz. –

cevap

0

Şahsen sadece PHP tarafından sağlanan verileri toplayan bir POST İsteği kullanıyorum. İşi bitirir.

Android'de biraz ilgili, ancak PostHandler sınıfı oluşturuyorum (web çalışmasını yapmak için AsyncTask'ı genişletmeliyim). Sonra doInBackground ve callServiceHttpPost yöntemleri (bir arabirimin parçası olduğuna inanıyorum) var. Servis sonrası yöntemini arka planda yapmam. Sonra işi yapmak için HttpClient ve HttpPost kullanıyorum.

Son olarak bir onPostExecute yönteminiz var.

Bu sınıfı oluşturursunuz, daha sonra ana programınızda bir örneği oluşturun ve çalıştırmak için .execute() öğesini kullanın. Özel bir yöntemle paramize geçebilirsiniz.

+0

Bana nasıl bir öğretici gösterebilirim? –

+0

@ OtmàaneFikri Cevabı güncelledim. – robestrong