ในระบบปฎิบัติการ 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
2/10/2559
1/13/2559
ขั้นตอนการขอ key สำหรับการใช้งาน google map api
สำหรับการพัฒนา Web Application ที่ต้องการ ใช้งาน google map api นั้น เราต้องมีการของ key เพื่อที่จะเรียกใช้งาน javascript library ของ google map ได้
12/22/2558
How to remove blue shadow in jquery mobile
แก้ปัญหา เงาใน jquery mobile เพื่อให้ mobile web application มีความเป็น native มากขึ้น
Are you using jquery mobile to make mobile app like native mobile app ?
And are you trying to remove " the blue shadow " which shown after you click at button or link element ?
Here is the solution
Just add
style=" box-shadow: 0 1px 3px gray " in the link or button element
for example
<button data-icon="check">Blue Shadow</button>
<button style=" box-shadow: 0 1px 3px gray " data-icon="check">No Blue Shadow</button>
The result is
10/01/2558
เปลี่ยน textarea ธรรมดาให้เป็น rich text editor ที่มี toolbar สำหรับรูปแบบตัวอักษร
ใน HTML จะมี Element ที่ชื่อว่า textarea สำหรับกรอกข้อความยาวๆ แต่ปัญหาคือ เราไม่สามารถจัดการรูปแบบตัวอักษรใน Element textarea ได้ จำเป็นต้องใช้เครื่องมือเข้ามาช่วยในการสร้าง Element Textarea ให้มี toolbar ใน textarea ซ่งก็คือ tinymce นั่นเอง
ขั้นตอนการใช้งาน tinymce มีดังนี้
1. เรียกใช้งาน jquery และ tinymce
<!-- เรียกใช้งาน jquery -->
<script type="text/javascript" src="http://projectsoft.biz/js/jquery.js"></script>
<!-- เรียกใช้งาน tinymce -->
<script src="http://tinymce.cachefly.net/4.0/tinymce.min.js"></script>
2. สร้าง Element Textarea
<textarea id="detail" name="detail" ></textarea>
3. พิมพ์คำสั่ง javascript เพื่อ สร้าง toolbar ให้ textarea
<script>
//สร้าง text editor
tinymce.init({
selector:'#detail ',//id ของ textarea ที่ต้องการสร้าง
height : 300,//กำหนดความสูงของ textarea
menubar: false,//ไม่แสดงเมนู
plugins: ["textcolor"],//ใช้ plugin ให้เปลี่ยนสีตัวอักษรได้
toolbar: ["undo redo | bold italic underline | styleselect | forecolor | alignleft aligncenter alignright | bullist,numlist"],//กำหนดปุ่มใน toolbar
style_formats: [//กำหนดขนาดอักษร
{title: '11px', inline: 'span', styles: { fontSize: '11'}},
{title: '12px', inline: 'span', styles: { fontSize: '12'}},
{title: '14px', inline: 'span', styles: { fontSize: '14'}},
{title: '16px', inline: 'span', styles: { fontSize: '16'}},
{title: '18px', inline: 'span', styles: { fontSize: '18'}},
{title: '20px', inline: 'span', styles: { fontSize: '20'}},
{title: '22px', inline: 'span', styles: { fontSize: '22'}},
{title: '24px', inline: 'span', styles: { fontSize: '24'}}
],
});
</script>
และผลลัพธ์ที่ได้คือ
ขั้นตอนการใช้งาน tinymce มีดังนี้
1. เรียกใช้งาน jquery และ tinymce
<!-- เรียกใช้งาน jquery -->
<script type="text/javascript" src="http://projectsoft.biz/js/jquery.js"></script>
<!-- เรียกใช้งาน tinymce -->
<script src="http://tinymce.cachefly.net/4.0/tinymce.min.js"></script>
2. สร้าง Element Textarea
<textarea id="detail" name="detail" ></textarea>
3. พิมพ์คำสั่ง javascript เพื่อ สร้าง toolbar ให้ textarea
<script>
//สร้าง text editor
tinymce.init({
selector:'#detail ',//id ของ textarea ที่ต้องการสร้าง
height : 300,//กำหนดความสูงของ textarea
menubar: false,//ไม่แสดงเมนู
plugins: ["textcolor"],//ใช้ plugin ให้เปลี่ยนสีตัวอักษรได้
toolbar: ["undo redo | bold italic underline | styleselect | forecolor | alignleft aligncenter alignright | bullist,numlist"],//กำหนดปุ่มใน toolbar
style_formats: [//กำหนดขนาดอักษร
{title: '11px', inline: 'span', styles: { fontSize: '11'}},
{title: '12px', inline: 'span', styles: { fontSize: '12'}},
{title: '14px', inline: 'span', styles: { fontSize: '14'}},
{title: '16px', inline: 'span', styles: { fontSize: '16'}},
{title: '18px', inline: 'span', styles: { fontSize: '18'}},
{title: '20px', inline: 'span', styles: { fontSize: '20'}},
{title: '22px', inline: 'span', styles: { fontSize: '22'}},
{title: '24px', inline: 'span', styles: { fontSize: '24'}}
],
});
</script>
และผลลัพธ์ที่ได้คือ
7/04/2558
ป้องการการ copy paste และ cut ด้วย jquery
การป้องกัน หรือการห้ามไม่ให้หน้าเว็บมีการ copy paste และ cut นั้น เราสามารถใช้ jquery ช่วยได้ดังนี้
<script src="http://projectsoft.biz/js/jquery.js"></script><!--ให้ใช้งาน jquery ได้ -->
<!-- สร้าง text area ที่มี Id เป็น my_txt-->
<textarea id="my_txt" ></textarea>
<textarea id="my_txt" ></textarea>
<script>
$(document).ready(function(){
//เมื่อโหลดหน้าเว็บเสร็จ เราจะไม่ให้มีการ cut copy paste สำหรับ text area ที่มี Id เป็น my_txt
$('#my_txt').bind("cut copy paste",function(e) {
e.preventDefault();
});
});
</script>
5/30/2558
แก้ปัญหาการตัด และนับ คำภาษาไทยใน PHP ด้วย iconv_strlen และ iconv_substr
ในภาษา PHP เราใช้ function substr() เพื่อการตัดคำใน string และ function strlen() เพื่อการหาจำนวนตัวอักษรใน string แต่เมื่อลองใช้ function นี้กับภาษาไทยจะพบว่ามีปัญหา เราสามารถใช้
- function iconv_strlen เพื่อนับจำนวนตัวอักษร เช่น
echo iconv_strlen("สวัสดี","UTF-8"); ผลลัพธ์ที่ได้คือ 6
- function iconv_substr เพื่อตัด string เช่น
ผลลัพธ์ที่ได้คือ "วั" เพราะ เริ่มต้นตัดอักษรตัวที่ 1 ( อักษรตัวแรกคือ 'ส' นับเป็นตัวที่ 0 )
จำไว้ว่า หากเราต้องการนับตัวอักษรภาษาไทย หรือ ตัดคำภาษาไทยโดยใช้ PHP ให้ใช้ function iconv_strlen และ function iconv_substr เพื่อไม่ให้เกิดปัญหา
5/04/2558
การสร้าง textbox ที่พิมพ์ได้แต่เฉพาะภาษาอังกฤษ
สำหรับ text box ที่ให้กรอก username หรือ password หากเราต้องการไม่ให้กรอกตัวอักษรเป็นภาษาไทยได้เราสามารถใช้ jquery ลบตัวอักษรที่เป็นภาษาอังกฤษใน text box ได้ดังนี้
//ให้ใช้งาน jquery ได้
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
//สร้าง text box ที่มี id เป็น username และกำหนดให้ทำงานที่ function eng_only() เมื่อมีการเปลี่ยนข้อความ
<input type="text" id="username" onchange="eng_only()" value="" />
<script type="text/javascript">
function eng_only() {
var temp=$("#username").val();//เก็บข้อความที่พิมพ์ใน text box
temp=temp.toLowerCase();//เปลี่ยนให้ทุกตัวอักษรเป็น ตัวพิมพ์เล็ก
//วน loop แต่ละตัวอักษร เพื่อดูว่าแต่ละตัวอักษรเป็นภาษาไทย หรือภาษาอังกฤษ
for(i=0;i<temp.length;i++)
{
if ((temp[i]=="a")||(temp[i]=="b")||(temp[i]=="c")||(temp[i]=="d")||(temp[i]=="e")||(temp[i]=="f")||(temp[i]=="g")||(temp[i]=="h")||(temp[i]=="i")||(temp[i]=="j")||(temp[i]=="k")||(temp[i]=="l")||(temp[i]=="m")||(temp[i]=="n")||(temp[i]=="o")||(temp[i]=="p")||(temp[i]=="q")||(temp[i]=="r")||(temp[i]=="s")||(temp[i]=="t")||(temp[i]=="u")||(temp[i]=="v")||(temp[i]=="w")||(temp[i]=="x")||(temp[i]=="y")||(temp[i]=="z")||(temp[i]=="z")||(temp[i]=="0")||(temp[i]=="1")||(temp[i]=="2")||(temp[i]=="3")||(temp[i]=="4")||(temp[i]=="5")||(temp[i]=="6")||(temp[i]=="7")||(temp[i]=="8")||(temp[i]=="9")||(temp[i]=="!")||(temp[i]=="@")||(temp[i]=="#")||(temp[i]=="$")||(temp[i]=="%")||
(temp[i]=="^")||(temp[i]=="&")||(temp[i]=="*")||(temp[i]=="(")||(temp[i]==")")||(temp[i]=="_")||(temp[i]=="+")||(temp[i]=="-")||(temp[i]=="=")||(temp[i]=="{")||(temp[i]=="}")||(temp[i]=="[")||(temp[i]=="]")||(temp[i]=="|")||(temp[i]=="/")||(temp[i]=="\"")||(temp[i]=="'")||(temp[i]==":")||(temp[i]==";")||(temp[i]=="<")||(temp[i]==">"))
{
}
else
{
$("#username").val($("#username").val().replace(temp[i],""));//ลบตัวอักษรที่ไม่ใช่ภาษาอังกฤษออก
}
}
}
</script>
สมัครสมาชิก:
บทความ (Atom)














