12/03/2559

ติดตั้ง ionic2 สำหรับพัฒนา Application

Ionic เป็น Framework ที่ได้รับความนิยมในการพัฒนา Mobile Application มากในปัจจุบัน ซึ่ง ณ ตอนนี้ ได้ออก Version 2 ออกกมาแล้ว ใบบทความนี้จะเสนอขั้นตอนการติดตั้ง Ionic2 สำหรับพัฒนาแอปพลิเคชั่น

1. Download และติดตั้ง Node JS จาก www.nodejs.org
2. ทดสอบว่าติดตั้ง Node JS สมบูรณ์หรือไม่โดยพิมพ์ npm ที่ command line ถ้าขึ้นขอความดังรูปแสดงว่าติดตั้ง Node JS เรียบร้อยแล้ว


3. พิมพ์คำสั่ง npm install -g cordova ดังรูป

4. เมื่อลง cordova แล้ว ให้พิมพ์คำสั่ง npm install -g cordova ionic เพื่อ ลง ionic

5. ทดสอบสร้าง Application โดย ไปที่ Folder Documents
พิมพ์ cd Documents กด enter และพิมพ์ ionic start --v2 myApp blank เพื่อสร้าง Aplication



6. พิมพ์  n 

7. พิมพ์ cd myApp เพื่อเข้าไปที่ folder project  และพิมพ์ ionic serve เพื่อ run Application หากมีหน้าต่างแจ้งเตือนให้กด Allow

ผลลัพธ์ที่ได้คือ  Application ดังรูป


8. ทดลองแก้  Header ของ Application  โดยไปที่  Documents > myApp > src > pages  และเปิดไฟล์ home.html โดย editor ใดก็ได้



9. แก้ code ในไฟล์ ้home.html เป็น

<ion-header>
  <ion-navbar color="secondary">
    <ion-title>My First Ionic2</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>

</ion-content>

เมื่อ save แล้ว refresh web browser ผลลัพธ์ที่ได้ คือ


10/31/2559

การหาที่อยู่จาก latitude longitude โดย google map api jquery

ในการทำ application  ทั้ง mobile  และ web หากเรามีข้อมูล latitude longitude  แต่ไม่รู้ว่า latitude longitude  นั้นอยู่ที่ไหน เราสามารถหาที่อยู่ของ latitude longitude  โดยใช้ google api และ jquery ดังตัวอย่างดังนี้

<!-- ให้ใช้งาน jquery ได้  -->
<script
  src="https://code.jquery.com/jquery-2.2.4.min.js"
  integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
  crossorigin="anonymous"></script>

<!-- ให้ใช้งาน jquery ได้ -->

<script>
    //เรียกใช้ google api โดยใช้ jquery
    $.get("http://maps.googleapis.com/maps/api/geocode/json?latlng= latitudeที่ต้องการหา, longitudeที่ต้องการหา&sensor=true&language=th").done(function(response){
        //response คือ json object ที่ส่งกลับมา
        var json=response;
       
        var add=json.results[0].formatted_address;//สร้างตัวแปร add เก็บที่อยู่
       
        document.write(add);//พิมพ์ที่อยู่ออกมา
});

</script>
     

9/25/2559

การเรียกโปรแกรมภาษา python โดย php

ภาษา python นับว่าเป็นภาษาที่มาแรงในปัจจุบัน เพราะความง่ายในการเขียน และอ่าน code นอกจากนั้นยังสามารถนำมาประยุกกับงาน machine learning ,  big data ได้อีกด้วย หากเราต้องการแสดงผลของโปรแกรม python ออกทางหน้าเว็บ เราสามารถแสดงได้โดยใช้ ภาษา PHP ได้ดังนี้

code ภาษา PHP

<?php

//สร้างตัวปรรเก็บ path ที่อยู่ ของ python interpreter
$py_location="C:\\Users\\DELL\\AppData\\Local\\Programs\\Python\\Python35-32\\python.exe";

//สร้างตัวแปรเก็บที่อยู่ไฟล์ source code ภาษา python  และส่ง command line agument  Projectsoft.biz
$py_file_location="C:\\Users\\DELL\\Desktop\\python\\hello.py Projectsoft.biz";

$cmd=$py_location." ".$py_file_location;//สร้างคำสั่งให้ python รัน script ใน  ไฟล์ hello.py

system($cmd,$output);//เรียกใช้ภาษา python โดยเก็บผลลัพธ์ไว้ที่ตัวแปร  $output

echo $output[0];//แสดงผลลัพธ์ Hello Projectsoft.biz

?>

code ภาษา Python ไฟล์  hello.py


import sys
print("Hello ") //แสดง text  Hello
print(sys.argv[1])//แสดงค่าที่ได้จาก command line agument


8/11/2559

Upload file แบบ ajax ด้วย jQuery

เพื่อประสบการณ์การใช้งาน Web Application ที่ดีสำหรับผู้ใช้ การ Upload ไฟล์นั้นเราให้การ Upload อยู่ในรูปแบบ ajax โดย ตัวอย่างการ Upload ไฟล์แบบ ajax เป็นดังนี้



<!--  เรียกใช้งาน jquery -->
<script  src="https://code.jquery.com/jquery-1.12.4.js" ></script>
<!-- สร้างฟอร์ม  Upload -->
<form id="upload_form" method="post">

<!-- สร้าง input ตัวเลือกไฟล์ -->
<input  type="file" id="my_file" name="my_file" />
<!-- สร้างปุ่ม Upload โดยหากกด ปุ่ม  upload จะ ไปทำงานที่ function ชื่อ save_upload() -->
<button type="button" onclick="save_upload()"  >Upload</button>


<!--  แสดงข้อความแจ้งเตือน หากไฟล์ไม่ใช่รูปภาพ-->
<div id="err_div" style="color: red" ></div>
<br />
<!--  แสดงสถานะการ Upload ที่เสร็จแล้วกี่ %-->
<div id="upload_status_bar" ></div>

</form>

<script>

 function save_upload()
 {

   var file_name= $("#my_file").val().toLowerCase();//เปลี่ยนชื่อไฟล์เป็น ตัวพิพม์เล็ก

   //check ประเภทไฟล์
   if( (file_name.indexOf(".jpg")==-1)&&(file_name.indexOf(".jpeg")==-1)&&(file_name.indexOf(".png")==-1)&&(file_name.indexOf(".gif")==-1) )
   {
 $("#err_div").html("Not picture file !");//แจ้งเตือนหากไฟล์ไม่ใช่ไฟล์รูปภาพ
 return;
   }
 
    //-----------upload ไฟล์ ---------
           
                    var fd = new FormData(document.getElementById("upload_form"));//สร้าง object ไฟล์ เพื่อส่งไป Upload
                     
                       $.ajax({
                     
                             xhr: function() {
                           
var xhr = new window.XMLHttpRequest();
 
xhr.upload.addEventListener("progress", function(evt) {
 if (evt.lengthComputable) {
   var percentComplete = evt.loaded / evt.total;
   percentComplete = parseInt(percentComplete * 100);

    //แสดง % ที่เสร็จแล้ว
$("#upload_status_bar").html("<h4>"+percentComplete+"%</h4>");

 
 }
}, false);
 
return xhr;
                                },
                              url: "upload.php",//ไฟล์ที่ใช้ upload
                              type: "POST",
                              data: fd,//Object ไฟล์ที่ Upload
                              enctype: 'multipart/form-data',
                              processData: false,
                              contentType: false
                            }).done(function( response ) { //response คือ ข้อมูลที่ส่งกลับมา ที่ส่งกลับมา
                           
//clear สถานะการ upload
$("#upload_status_bar").html("");
//clear input ไฟล์ที่เลือก
$("#my_file").val('');

                           });
              //-----------upload ไฟล์ ---------

 }
</script>

ไฟล์ upload.php ซึ่งคือ ไฟล์ที่ใช้ Upload ฝั่ง server
<?php

$file=$_FILES["my_file"];//เก็บไฟล์ที่ upload มาไว้ในตัวแปร $file

copy($file["tmp_name"],$file["name"]);//ย้ายไฟล์มาที่ server

echo "ok"; //ส่ง text ok กลับไปที่  client

?>

7/10/2559

ตัวอย่างการเขียนโปรแกรมตัดคำภาษาไทยต้วย PHP


การตัดคำภาษาไทยนั้น projectsoft.biz ได้สร้างโปรแกรมบริการการตัดคำภาษาไทยที่

http://projectsoft.biz/cut_thai.php?word=คำภาษาไทยที่ต้องการตัด

สามารถใช้งานได้เลยโดยส่งค่าประโยคภาษาไทยแบบ GET เข้าไป ตาม URL

เช่น http://projectsoft.biz/cut_thai.php?word=อาหารร้านนี้อร่อย ผลลัพธ์ที่ได้คือ

อาหาร | ร้าน | นี้ | อร่อย |

หากนักพัฒนาต้องการ เชื่อมต่อ Web Application เพื่อใช้บริการตัดคำสามารถเรียกใช้ได้ตามตัวอย่าง

<?php

    header('Content-Type: text/html; charset=utf-8');
   
    $word=file_get_contents("http://projectsoft.biz/cut_thai.php?word=อาหารร้านนี้อร่อย");
   
    echo $word;// $word จะมีค่าผลลัพธ์การตัดคำ คือ อาหาร | ร้าน | นี้ | อร่อย |

?>


6/16/2559

การ resize ภาพด้วย PHP

เพื่อเป็นการประหยัดทรัพยากรของ Server เว็บ Application ควรสามารถที่จะปรัปเปลี่ยนขนาดรูปภาพ  ( resize )ของผู้ใช้ที่ upload มาไว้ที่ server ได้

ตัวอย่างการ  resize ภาพโดยใช้ PHP

<?php

 
     /*---------- การ resize ภาพ ----------*/
   
     $original=imagecreatefromjpeg("picture.jpg");//สร้า object รูปภาพจากไฟล์ "picture.jpg"
   
     $size=getimagesize ("picture.jpg");// หาขนาดภาพปัจจุบัน
     $w_old=$size[0];//ความกว้างของ ภาพปัจจุบัน
     $h_old=$size[1];//ความสูของ ภาพปัจจุบัน
   
     $w=$w_old/5;//กำหนดความกว้างของ ภาพใหม่โดยกำหนดให้เป็น 1 ใน 5 ของความกว้างเดิม
     $h=$h_old/5;//กำหนดความสูงของ ภาพใหม่โดยกำหนดให้เป็น 1 ใน 5 ของความสูงเดิม
 
     $img_new_size=ImageCreateTrueColor($w ,$h);//สร้าง object ภาพใหม่ ชื่อว่า $img_new_size
 
 //ทำการ resize ภาพ 
     imagecopyresized ( $img_new_size, $original, 0, 0, 0, 0, $w , $h , $w_old ,$h_old);
     ImageJPEG($img_new_size,"new_picture.jpg");
  //กำหนดให้ภาพที่ resize แล้ว ชื่อว่า "new_picture.jpg"
 
echo "<img src='picture.jpg' />";//แสดงรูปภาพก่อนเปลี่ยนขนาด
echo "<img src='new_picture.jpg' />";//แสดงรูปภาพหลังเปลี่ยนขนาด


?>

ผลลัพธ์ที่ได้ดังนี้ รูปด้านซ้ายคือ รูปก่อน resize ส่วนรูปขวาคือ รูปที่ resize แล้ว
จะเห็นว่าขนาดเป็น 1 ใน 5 ของรูปเดิม




5/09/2559

เขียนโปรแกรมดูตำแหน่ง Latitude Longitude ใน Android Application

ถ้าเราต้องการหาว่าตำแหน่ง Latitude Longitude ปัจจุบันของ Android Device เราสามารถรถใช้ LocationManager เพื่อหาตำแหน่ง Latitude Longitude  ได้ดังนี้

1. ใน ไฟล์ androidmanifest.xml ให้เพิ่ม permission
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
เข้าไปใน <manifest>


2.ในไฟล์  XML Layout ให้เพิ่ม textview tag

<TextView    android:id="@+id/lat_lng"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="" />

ขึ้นมา เพื่อ แสดง Latitude Longitude

3. ในไฟล์ .java ให้ Import class เพื่อหา Latitude Longitude

import android.location.Location;
import android.location.LocationManager;


4. ใน onCreate method ให้ เพิ่ม code  เพื่อแสดง Latitude Longitude ดังนี้

@Overrideprotected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    try    {
        //สร้าง object สำหรับ หา latitude  longitude
        LocationManager lm = (LocationManager)getSystemService(this.LOCATION_SERVICE);
        Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        double longitude = location.getLongitude();//รับค่า longitude
        double latitude = location.getLatitude();//รับค่า latitude
        
        //แสดง latitude longitude ใน TextView
        TextView t=(TextView)findViewById(R.id.lat_lng);
        t.setText("Longitude:"+String.valueOf(latitude)+"\nLongitude:"+String.valueOf(longitude));
    }
    catch (SecurityException e)
    {

    }



}



4/30/2559

ตัวอย่าง image processing segmentation ด้วย javascritp และ HTML5


สำหรับโปรเจคเกี่ยวกับ image processing นั้น เราสามารถให้โปรแกรมรันบนบน browser ได้แล้วโดยใช้ HTML5 ซึ่งสามารถทำให้เราทำ image processing บน Web Browser ได้ 

ตัวอย่าง การทำ segmentation  และ ใช้ otsu's method ในการหา threshold

<img src="1.jpg" id="pic"  /><!----รูปภาพ -->
<br />
<button onclick="process()">Process</button><!--เรียก function process() เมื่อกด ปุ่ม Process -->
<br />

<script>

function otsu(histogram, pixelsNumber) { //function หาค่า threshold ด้วย otsu's method 
var sum = 0
 , sumB = 0
 , wB = 0
 , wF = 0
      , mB
 , mF
 , max = 0
 , between
 , threshold = 0;
for (var i = 0; i < 256; ++i) {
      wB += histogram[i];
      if (wB == 0)
        continue;
      wF = pixelsNumber - wB;
      if (wF == 0)
        break;
      sumB += i * histogram[i];
      mB = sumB / wB;
      mF = (sum - sumB) / wF;
      between = wB * wF * Math.pow(mB - mF, 2);
      if (between > max) {
        max = between;
        threshold = i;
      }
    }
    return threshold;
}



function process()//function  สำหรับทำ segmentation 
{
    
//สร้าง canvas และ เก็บภาพต้นฉบับ
var im = document.getElementById("pic")
  , cnv = document.createElement('canvas')
  , ctx = cnv.getContext('2d');

//หาค่า threshold
cnv.width = im.width;
cnv.height = im.height;
ctx.drawImage(im, 0, 0);
var imData = ctx.getImageData(0, 0, cnv.width, cnv.height)
  , histogram = Array(256)
  , i
  , red
  , green
  , blue
  , gray;
for (i = 0; i < 256; ++i)
histogram[i] = 0;
for (i = 0; i < imData.data.length; i += 4) {
  red = imData.data[i];
  blue = imData.data[i + 1];
  green = imData.data[i + 2];

  gray = red * .2126 + green * .07152 + blue * .0722;
  histogram[Math.round(gray)] += 1;
}
var threshold = otsu(histogram, imData.data.length / 4);


//สำหรับ pixel ที่มีค่า ต่ำกว่า threshold กำหนดให้เป็น 0 ถ้ามากกว่าหรือเท่ากับ threshold ให้เป็น 255
for (i = 0; i < imData.data.length; i += 4) {
  imData.data[i] = imData.data[i + 1] = imData.data[i + 2] =
    imData.data[i] >= threshold ? 255 : 0;

  imData.data[i + 3] = 255;
}
ctx.putImageData(imData, 0, 0);
document.body.appendChild(cnv);//เพิ่ม canvas ผลการ แบ่ง Segment เข้าไปในหน้าเว็บ 



}

</script>



3/24/2559

การเชื่อมต่อหน้าใน ionic framework

Ionic framework นับว่าเป็น frame work สำหรับพัฒนา mobile application ที่มีประสิทธิภาพมาก เหมาะสำหรับการพัฒนา mobile application ด้วย html และ javascript
ปัญหาสำหรับนักพัฒนาที่เพิ่งใช้ ionic frawork คือการ link หน้าต่างๆใน application ในที่นี้คือตัวอย่างการ link หน้า app สำหรับ ionic framework

1. Download Ionic Framework  จาก http://projectsoft.biz/ionic.zip และแตกโฟลเดอร์ ชื่อ ionic ไว้ใน folder เดียวกับ index.html (ไฟล์เริ่มต้น)

2. สร้างไฟล์ index ดังนี้
<!DOCTYPE html>
<html ng-app="ionicApp">

  <head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">

<!--  เรียกใช่ ionic framework -->
   <link rel="stylesheet" type="text/css" href="ionic/css/ionic.min.css">
   <script type="application/javascript" src="ionic/js/ionic.bundle.js"></script>
 <!--  เรียกใช่ ionic framework -->

  </head>

  <body  ng-controller="main_control" >
   
    <!--- สร้างวิว สำหรับ แสดงเนื้อหา app  -->
    <ion-nav-view></ion-nav-view>
 
<!-- เรียกไฟล์หน้า app แต่ละหน้า -->
    <script src="page1.html" type="text/ng-template"></script>
    <script src="page2.html" type="text/ng-template"></script>

<!---เรียกไฟล์หน้า app--->
    <script src="index.js"></script>
    <script src="page1.js"></script>
    <script src="page2.js"></script>

             
  </body>

</html>

2. สร้างไฟล์ index.js สำหรับควบคุมหน้า index.html

var app=angular.module('ionicApp', ['ionic']);
app.config(function($stateProvider,$urlRouterProvider) {
 
   //กำหนด state ให้แต่ละ page
  //ในที่นี้ page1 สำหรับ ไฟล์ page1.html และ page2  สำหรับไฟล์ page2.html
  $stateProvider
  .state('page1', {
     url: "/",
    templateUrl: 'page1.html'
  })
  .state('page2', {
     url: "/",
    templateUrl: 'page2.html'
  });

 
 
});
app.controller('main_control', function($scope,$state) {

    $state.transitionTo("page1");//กำหนดให้แสดงหน้า page1 เป็นหน้าแรก
   
});


3. สร้างไฟล์ page1.html
<ion-view >
 <div ng-controller="page1_control">
<div class="bar bar-positive"><!-- กำหนด header ให้กับ หน้า app -->
 <h1 class="title">หน้า 1</h1>
</div>
<ion-content class="content has-header " ><!--- แสดงเนื้อหาในหน้า app --->
<div class="padding"  >
<h1>หน้า 1</h1>
<!-- สร้างปุ่มไปที่หน้า 2  -->
<button  ng-click='go_page2()'
class="button icon-right ion-chevron-right button-assertive">หน้า 2</button>

   </div>
</ion-content>
</div>
</ion-view>
<script>
//สร้างส่วน control สำหรับหน้า page1


app.controller('page1_control', function($scope,$state) {

    $scope.go_page2=function()//กำหนดให้เมื่อกด ปุ่มแล้วจะ link ไปหน้า page2
    {
    $state.transitionTo("page2");
    }
 

});

</script>

3. สร้างหน้า page2.html

<ion-view >
 <div ng-controller="page2_control"> 
<div class="bar bar-positive">
 <h1 class="title">หน้า 2</h1><!-- กำหนด header ให้กับ หน้า app  -->
</div>

 
<ion-content class="content has-header " >



<div class="padding"  >
<h1>หน้า 2</h1>
<!-- สร้างปุ่ม link ไปที่หน้า 1  -->
<buttpn  ng-click='go_page1()' class="button icon-left ion-chevron-left button-assertive">หน้า 1</button>
   </div>
       
</ion-content>



</div>

</ion-view>


<script>
//สร้างส่วน control สำหรับหน้า page2
app.controller('page2_control', function($scope,$state) {

    $scope.go_page1=function()
    {
    $state.transitionTo("page1");//กำหนดให้เมื่อกด ปุ่มแล้วจะ link ไปหน้า page1
    }
 

});
</script>

ผลลัพธ์ที่ได้คือ
หน้า 1


หน้า 2

3/18/2559

SharedPreferences ตัวแปรที่ใช้ได้หลาย Activity สำหรับเก็บข้อมูลลงใน Android คล้าย Session ของ PHP


สำหรับ Web Programmer ที่เคยใช้ PHP นั้น ย่อมคุ้นชินกับการใช้ตัวแปร ประเภท Session ที่เก็บค่าตัวแปรแล้วสามารถเข้าถึงตัวแปรใน File อื่นได้ สำหรับการเขียนโปรแกรมบน Android นั้นเราสามารถทำแบบนั้นได้เช่นกันโดยใช้ Class ที่ชื่อว่า SharedPreferences

//สร้าง object SharedPreferences สำหรับเก็บข้อมูล
SharedPreferences sp = getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);
//PREF_NAME เป็นชื่อ Shared Preferences ใช้ชื่ออะไรก็ได้
//Context.MODE_PRIVATE คือบอกว่าจะใช้แค่ในแอปพลิเคชันนี้เท่านั้น


String id =sp.getString("id", "0");
//อ่านค่าจาก object preferences โดยให้ค่า 0 (Default) หากยังไม่ได้กำหนด SharedPreferences

SharedPreferences.Editor editor = sp.edit();
editor.putString("id","1");//กำหนดค่าให้กับ SharedPreferences ที่ชื่อ  id  เป็น 1
editor.commit();//บันทึกค่า SharedPreferences

String id =sp.getString("id", "0");//ในกรณีนี้ id จะมีค่าเป็น 1 เพราะได้มีการกำหนดค่าแล้ว

การหาวันที่ถัดไป ด้วย javascript

ในบางโปรเจค ระบบต้องการรู้ว่าวันที่ถัดไป n วันนั้นเป็นวันที่เท่าไหร่ เช่นในระบบเช่า ถ้าเช่าจำนวน n วันระบบต้องแสดงว่าต้องคืนในวันที่เท่าไหร่ เราสามารถใช้ javascritp หาได้ว่าวันถัดไปนั้นที่วันที่เท่าไหร่ดังตัวอน่างต่อไปนี้



var today=new Date();//สร้างตัวแปรวันที่ปัจจุบัน
var tomorrow = new Date();//;สร้างตัวแปรวันพรุ่งนี้

tomorrow.setDate(today.getDate()+1); //กำหนดให้ tomorrow  คือวันถัดไป

document.write(tomorrow.getDate());//พิมพ์วันที่   
document.write((tomorrow.getMonth()+1));
//พิมพ์เดือน  โดย javascript นั้นจะกำหนดให้ เดือนเริ่มต้นที่ 0  จึงต้องบวกด้วย 1
document.write(tomorrow.getFullYear());//พิมพ์ปี

2/10/2559

การเขียน android เชื่อมต่อ sqllite

ในระบบปฎิบัติการ Android นั้นจะมีฐานข้อมูล SQLite ติดมากับระบบปฎิบัติการ แล้ว หากเราต้องการพัฒนา Application ที่มีการใช้งานฐานข้อมูล เราสามารถเขียนโปรแกรมเพื่อใช้  SQLite บนระบบบปฎิบัติการ Android ได้ดังนี้


//สร้าง class ชื่อว่า  DbSQLite  โดยสืบทอดมาจาก SQLiteOpenHelper
public class DbSQLite extends SQLiteOpenHelper
{
    private String dbName="";//property ชื่อ database 
    private String sql="";//คำสั่ง sql ที่ต้องการให้ทำงาน

  //สร้าง constructor ให้กับ class 
    public DbSQLite(Context context, String dbName, SQLiteDatabase.CursorFactory factory, int version,String sql)
  {
        super(context,dbName,factory,version);
       this.dbName = dbName;//กำหนด database name ให้กับ object
       this.sql=sql;//กำหนด คำสั่ง sql ที่ต้องการให้ทำงาน

    }
 
    //Method สำหรับ รันคำสั่ง sql select โดยจะ return เป็น array  2 มิติตามคำสั่ง sql ที่ส่งมา
    public String[][] get_table()
    {
        SQLiteDatabase myDb=this.getReadableDatabase();
        Cursor c=myDb.rawQuery(this.sql, null);
        String re_str[][]=new String[0][0];
        if(c!=null)
        {
            int row_count=0;
            re_str=new String[c.getCount()][c.getColumnCount()];
            if(c.moveToFirst()){
                //สร้าง array 2 มิติ จากคำสั่ง sql เพื่อส่งค่ากลับ
                do{

                    int i;
                    for(i=0;i<c.getColumnCount();i++) //วน loop Column  ที่ได้จากคำสั่ง sql
                    {
                        re_str[row_count][i]=c.getString(i);
                    }

                    row_count++;

                }while(c.moveToNext()); //วน loop แถวข้อมูล ที่ได้จากคำสั่ง sql

            }
        }

        c.close();
        myDb.close();
        return re_str;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

    }

   //Method สำหรับ รันสำสั่ง create table,insert, delete, update
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
        db.execSQL(this.sql);
    }
}

ตัวอย่างการใช้งาน Class DbSQLite

การสร้างตาราง 

//สร้างคำสั่ง sql ที่ต้องการ String sql="CREATE TABLE IF NOT EXISTS user" +
                "(" +
                "user_id integer primary key autoincrement," +
                "username text," +
                "password text"+
                ")";

SQLiteDatabase sqlite;
//ส่งคำสั่ง sql ให้ sqlite โดย class DbSQLite
DbSQLite db = new DbSQLite(this," ชื่อ Database ",null,1,sql);
sqlite = db.getWritableDatabase();
db.onUpgrade(sqlite,1,1);//ให้ sqlite ทำงานตามคำสั่ง sql ที่ส่งไป


การอ่านข้อมูลจากตาราง

//สร้างคำสั่ง SQL
String sql="SELECT * FROM user ";
//สร้าง object จาก class  DbSQLite เพื่ออ่านข้อมูลจาก Database และ ส่ง คำสั่ง SQL ให้  SQL Lite
DbSQLite  db = new DbSQLite(this,"MyDressMakerShop",null,1,sql);
String[][] user =db.get_table();//รับผลลัพธ์เป็น Array 2 มิติ ตามคำสั่ง sql








1/13/2559

ขั้นตอนการขอ key สำหรับการใช้งาน google map api

สำหรับการพัฒนา Web Application ที่ต้องการ ใช้งาน google map api นั้น เราต้องมีการของ key เพื่อที่จะเรียกใช้งาน javascript library ของ google map ได้


<script src="https://maps.googleapis.com/maps/api/js?key= " key ที่ต้องใส่ " &sensor=false"type="text/javascript">
</script>


ซึ่งนั้นตอนในการให้ได้มาซึ่ง Key มีดังนี้

1.  login เข้า google account


2. เข้าไปที่ console.developers.google.com



3. เลือก API project ด้านบนขวา แล้วเลือก Create Project



4. ตั้งชื่อ Project ว่า My Project



5.  เลือกบาร์ด้านบนซ้าย



6. เลือก  API Manager



7.  เลือก google map api javascript api ตรงกลาง



8. เลือก Enable API


9. เลือก Credential



10 . เลือก API Key



11.  เลือก Server Key



12. ตั่งชื่อ Key ว่า Server Key 1 แล้วกด Create


13. ได้ Key สำหรับ google map api ตามที่ต้องการ