วันนี้ขอนำเสนอๆ วิธีง่ายๆที่เราจะจำกัดจำนวนตัวอักษรของ Edittext ด้วย XML กัน
<EditText
android:id="@+id/detail_edittxt"
android:textColor="#424c55"
android:maxLength="100"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
สังเกตที่ maxlength จะเห็นว่า maxlength จะเป็น 100 แสดงว่า Edittext นี้จะจำกัดตัวอักษรที่รับได้แค่ 100 ตัวเท่านั้น
ง่ายๆเพียงเท่านี้แหละครับ เราก็จะสามารถจำกัดตัวอักษรของ Edittext ได้แล้ว
วันพฤหัสบดีที่ 19 มิถุนายน พ.ศ. 2557
วันอังคารที่ 18 มีนาคม พ.ศ. 2557
[ASP.NET C#] Export exel file
สวัสดีครับทุกท่าน สำหรับใครที่ใช้ C# ASP.Net เขียนเว็บก็อาจจะมีงานที่ต้องไปเชื่อมต่อกับ Database ซึ่งบางครั้งเราก็ต้องการ export ข้อมูลนั้นๆ ออกมาเป็นไฟล์ ซึ่งวันนี้เราจะมาลอง export file exel กันนะครับ
ก่อนอื่นเราจะ export ออกมาเป็น exel โดยเราจะเอา string ไป export ซึ่ง string นั้นต้องสร้างมาจาก table html ก่อน
จะสังเกตว่าจะมี table โดยประกอบด้วย 2 row 2 colum จะได้แบบนี้ครับ
Head1 Head2
data1 data2
ต่อมาเราจะทำส่วนของการสร้างไฟล์เพื่อให้ดาวน์โหลดกันนะครับ
บรรทัดที่ 2 ตรง filename คือที่ระบุชื่อไฟล์ output ของเราครับ ผมตั้งไว้ว่า myexel
บรรทัดที่ 6 ให้เรานำตัวแปร string content ของเราใส่ไว้ใน Write(content)
เสร็จแล้วครับ ง่ายมั้ยครับ เพียงแค่เราเอา Code ด้านบนไปวางไว้ใน Button เวลาเรากดปุ่มจะดาวน์โหลด Browser จะโหลดไฟล์ exel ลงเครื่อง
นี่คือไฟล์ exel ที่เราได้ออกมาครับ
ก่อนอื่นเราจะ export ออกมาเป็น exel โดยเราจะเอา string ไป export ซึ่ง string นั้นต้องสร้างมาจาก table html ก่อน
string content = "<html><body><table><tr><td>Head1</td><td>Head2</td></tr><tr><td>data1</td><td>data2</td></tr></table></body></html>";
จะสังเกตว่าจะมี table โดยประกอบด้วย 2 row 2 colum จะได้แบบนี้ครับ
Head1 Head2
data1 data2
ต่อมาเราจะทำส่วนของการสร้างไฟล์เพื่อให้ดาวน์โหลดกันนะครับ
1: Response.Clear();
2: Response.AddHeader("Content-Disposition", "attachment;filename=myexel.xls");
3: Response.ContentType = "application/vnd.xls";
4: Response.Cache.SetCacheability(HttpCacheability.NoCache); // not necessarily required
5: Response.Charset = "";
6: Response.Output.Write(content);
7: Response.End();
บรรทัดที่ 2 ตรง filename คือที่ระบุชื่อไฟล์ output ของเราครับ ผมตั้งไว้ว่า myexel
บรรทัดที่ 6 ให้เรานำตัวแปร string content ของเราใส่ไว้ใน Write(content)
เสร็จแล้วครับ ง่ายมั้ยครับ เพียงแค่เราเอา Code ด้านบนไปวางไว้ใน Button เวลาเรากดปุ่มจะดาวน์โหลด Browser จะโหลดไฟล์ exel ลงเครื่อง
วันจันทร์ที่ 17 มีนาคม พ.ศ. 2557
[Android] Share ข้อความ String ด้วย Action Send
สวัสดีครับทุกท่าน นอกจากการใช้ API ของตัว Social นั้นๆ แล้ว ยังมีอีกวิธีนึงที่เราจะแชร์รูปหรือแชร์ข้อความออกไปได้โดยผ่าน Activity นั้นก็คือ Action Send
จุดประสงค์ของครั้งนี้
1. สร้างปุ่ม Share ขึ้นมา เมื่อกดปุ่มแชร์ส่งข้อความหรือรูปออกไป
2. แชร์ข้อความ String ตัวข้อความผมขอกำหนดเองเลยนะครับ เราสามารถใช้ช่อง Text input ได้เหมือนกัน แต่เพื่อความสะดวกครับ
3. แชร์รูป โดยผมจะแชร์ Image รูปสุดท้ายใน Album (เพื่อความสะดวกของผม)
เริ่มแรกเราต้องสร้าง XML ไฟล์สำหรับใส่ปุ่มของเราก่อนนะครับ อันนี้ผมใช้ activity_main.xml ที่ได้จากการ New Project เลย
activity_main.xml
เราจะได้ layout ออกมาแบบนี้นะครับ
สุดท้ายเราจะใส่ String ของเรา
"This is my text to send." คือ String ที่ผมจะส่งออกไปครับ เราสามารถเปลี่ยนเป็นชื่อของตัวแปรแทนได้
เราจะได้ไฟล์ MainActivity.java ดังนี้
MainActivity.java
บรรทัดที่ 7 คือชื่อฟังก์ชั่นที่เราใส่ไว้ใน xml
บรรทัดที่ 9 คือ Intent Action Send ที่เราสร้างขึ้นมา
บรรทัดที่ 13 คือสร้างตัวเลือกเป็น Popup ขึ้นมา
เมื่อเรากดปุ่ม Share จะได้รูปแบบด้านล่าง
จุดประสงค์ของครั้งนี้
1. สร้างปุ่ม Share ขึ้นมา เมื่อกดปุ่มแชร์ส่งข้อความหรือรูปออกไป
2. แชร์ข้อความ String ตัวข้อความผมขอกำหนดเองเลยนะครับ เราสามารถใช้ช่อง Text input ได้เหมือนกัน แต่เพื่อความสะดวกครับ
3. แชร์รูป โดยผมจะแชร์ Image รูปสุดท้ายใน Album (เพื่อความสะดวกของผม)
เริ่มแรกเราต้องสร้าง XML ไฟล์สำหรับใส่ปุ่มของเราก่อนนะครับ อันนี้ผมใช้ activity_main.xml ที่ได้จากการ New Project เลย
activity_main.xml
1: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2: xmlns:tools="http://schemas.android.com/tools"
3: android:layout_width="match_parent"
4: android:layout_height="match_parent"
5: tools:context=".MainActivity" >
6: <Button
7: android:id="@+id/main_share"
8: android:layout_width="wrap_content"
9: android:layout_height="wrap_content"
10: android:layout_centerVertical="true"
11: android:layout_centerHorizontal="true"
12: android:layout_below="@+id/main_take"
13: android:onClick="onShare"
14: android:text="Share" />
15: </RelativeLayout>
สังเกตว่าผมใส่ android:onClick="onShare" เอาไว้ เราจะเอาไว้ใส่ function เมื่อกดปุ่มกันเราจะได้ layout ออกมาแบบนี้นะครับ
ต่อมาเราจะมาส่งข้อความ String กันนะครับ โดยเราจะทำกันในส่วนของ Java Code ซึ่งผมจะใช้เป็น MainActivity.java ที่ได้มาตั้งแต่ตอนสร้าง Project นะครับ
เราจะส่งแชร์ข้อความโดยเริ่มสร้าง Intent ของ Action_send ก่อนครับ
final Intent share = new Intent(Intent.ACTION_SEND);
จากนั้นเราก็กำหนด ชนิดของ object ที่เราจะส่งออก ซึ่ง "text/plain" คือเราจะส่งออกเป็น text share.setType("text/plain");
สุดท้ายเราจะใส่ String ของเรา
share.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
"This is my text to send." คือ String ที่ผมจะส่งออกไปครับ เราสามารถเปลี่ยนเป็นชื่อของตัวแปรแทนได้
เราจะได้ไฟล์ MainActivity.java ดังนี้
MainActivity.java
1: public class MainActivity extends Activity {
2: @Override
3: protected void onCreate(Bundle savedInstanceState) {
4: super.onCreate(savedInstanceState);
5: setContentView(R.layout.activity_main);
6: }
7: public void onShare(View v)
8: {
9: final Intent share = new Intent(Intent.ACTION_SEND);
10: share.setType("text/plain");
11: share.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
12: final String chooserTitle = "Share Snaphot";
13: MainActivity.this.startActivity(Intent.createChooser(share, chooserTitle));
14: } catch (final Exception e) {
15: Log.d("MyShare","Error");
16: }
17: }
18: }
บรรทัดที่ 7 คือชื่อฟังก์ชั่นที่เราใส่ไว้ใน xml
บรรทัดที่ 9 คือ Intent Action Send ที่เราสร้างขึ้นมา
บรรทัดที่ 13 คือสร้างตัวเลือกเป็น Popup ขึ้นมา
เมื่อเรากดปุ่ม Share จะได้รูปแบบด้านล่าง
ซึ่งตัวเลือกของมือถือแต่ละเครื่องจะแตกต่างกัน List ที่ขึ้นมาจะเป็น Application ที่ติดตั้งอยู่ในมือถือของเรา
เสร็จแล้วครับการส่ง String ด้วย Intent Action Send ครั้งหน้าเราจะแชร์รูปกันนะครับ
สมัครสมาชิก:
บทความ (Atom)


